An Agent-Based Epidemic Model

Download Report

Transcript An Agent-Based Epidemic Model

An Agent-Based Epidemic
Model
Brendan Greenley
Period 3
Why An Epidemic Model?
• Epidemics have been
responsible for great losses of
like and have acted as a
population control (Black
Plague, Spanish Influenza)
• Epidemics are still a cause of
concern today and in the future
(SARS, Avian Flu)
• Analyzing certain characteristics
of an epidemic outbreak or
response can help shape plans
in case of a real outbreak.
Why Agent-Based?
• Originally tried System
Dynamics
• Agent-Based Modeling
makes more sense
– Individual behavior differs and
can greatly affect the course
of an epidemic outbreak
– A user can observe an agent
over time
– Children can inherit values
from two parents
– Continuous visual
representation of population
Scope of project
• Population/environment bounds dictated
by computer resources
• ~10,000 agents maximum
• All about maintaining a population balance
• Unrealistic assumptions are made
– Mating
– Interactions
– Movement
Up, up, and away…
Extinction
NetLogo
• Still using NetLogo
• Programming language (Northwestern)
• Allows for System Dynamics & Agent Based
Modeling
• Crossplatform support
– Windows, *Nix, Mac
• Depends on Java
• Free!
Procedure
• Agent’s To-Do List:
– Move in a random direction
– Check for potential mate
– Check for possible
exposure to disease
– Age++
• Starting populations,
immunity, and original %
infected are set by user
BehaviorSpace
Sample Run of Epidemic Model
2500
2000
1500
count turtles
People
• Allows me to
export data to
Excel
• Can incrementally
increase specified
values as the
model runs
• Useful for post-run
data analysis
infected
Moving Average (# Alive)
Moving Average (# Infected)
1000
500
0
0
1000
2000
3000
4000
5000
Ticks
6000
7000
8000
9000
10000
Timeline
• First Quarter
– Used System Dynamics Modeling
• Second Quarter
– Late Dec: Switched to Agent-Based Modeling
– Jan:
• Implemented susceptibility distribution
• Implemented more realistic mating/children
characteristics
• Learned how to use BehaviorSpace
Timeline (Continued)
• February
– Implement quarantine
– Have agent’s epidemic state affect behavior
– Create children a bit after mating
• March
– Possibly allow for drugs/vaccines to counter disease
– As time increases, have agents use their past experience with
epidemics to make smarter decisions (increase the amount they limit
contact with others when a disease is widespread, etc.)
• April/May/June
– Allow myself extra time, as the previously mentioned tasks may take
longer than expected
– Use BehaviorSpace to collect data and analyze multiple situations
– Work on interpreting the data for my final project
presentation/poster/etc.
Project Evolution
Sample Run of Epidemic Model
2500
2000
1500
People
• System Dynamics ->
Agent Based
• Short-term -> Long-term
• Predetermined equations
-> more complex
individual agent decisions
• Graphs highlight changes
1000
500
0
0
1000
2000
3000
4000
5000
Ticks
6000
7000
8000
9000
100