View
213
Download
0
Embed Size (px)
Citation preview
An Agent-Based Model of Recurring Epidemics in a
Population with Quarantine Capabilities
Brendan GreenleyPeriod 3
Why An Epidemic Model?
• Epidemics have been responsible for great losses of life and have acted as a population control (Black Plague, Spanish Influenza)
• Epidemics are still a cause of concern today and in the future (SARS, H1N1 Swine Flu)
• Analyzing certain characteristics of an epidemic outbreak or response can help shape plans in case of a real outbreak.
http://www.solarnavigator.net/animal_kingdom/animal_images/death_black_plague_street_scene.jpg
Why Agent-Based?• Originally tried System
Dynamics• Agent-Based Modeling
makes more sense– Individual behaviors differ and
can greatly affect the course of an epidemic outbreak
– A user can observe an individual 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
• All about seeing how epidemics balance a hypothetical population where disease outbreaks are the only constraint.
• Quarantine option allows for analysis on how a population’s response to a epidemic helps/hinders its overall carrying capacity
• Aging, mating, and survival behaviors all seen in model
NetLogo
• NetLogo 4.0.4 (Developed at Northwestern)• Programming environment/language allows
for System Dynamics & Agent Based Modeling
• Cross-platform support– Windows, *Nix, Mac
• Depends on Java• Free!
Setup
User Control Panel
2D World
On-the-flyPlotting
User Control Panel (UCP)
UCP Details• mating-freq
– The minimum amount of ticks an agent must wait between mating.
• virus-mutation-rate– The number of ticks before the base-susceptibility of all agents is reassigned
along a bell curve, a pocket of infections emerges. And quarantine efforts are reset from the quarantine area.
• max-ticks-alive– The maximum amount of ticks an agent may live to. This is then plugged into an
equation which determines the probability of an agent from dying from non-epidemic causes as a function of age. Important in limiting population spikes during spans of time free of epidemics
• max-days-sick– An infected agent is hosts the epidemic for this amount of time. If an agent
survives to this point, there is a 30% chance of him/her recovering and gaining immunity.
Unbounded 2D World
2D World Breakdown:Immune Agents
• Susceptibility value low enough that agent is safe from infection
• Can only die from age, or by losing immunity due to a new virus mutation or by having susceptibility increase due to age.
• Agents who survive an epidemic outbreak are immune until it mutates
2D World Breakdown:Susceptible Agents
•Susceptible agents are able to get sick, magnitude of susceptibility represented by shading (white to olive, somewhat susceptible to very susceptible)
•Susceptibility values determined by age and a randomly distributed “base-susceptibility” value. (Use 9th polynomial representation of 1918 Influenza W-shaped susceptibility curve to adjust base-susceptibility with age.
Susceptibility Adjustment
2D World Breakdown:Infected Agents
• Moves more slowly than healthy agents• Can spread disease to neighbors• Leaves a red path behind• Forced to stay in quarantine zone if
escorted there.• Gain immunity if they survive, though more
likely to die.
2D World Breakdown:Quarantine Officers
• Number dictated by QuarantineMagnitude variable slider
• Never mate or die from age
• Take shortest path back to 3x3 quarantine zone once they have someone to escort.
• Officer position and number are reset and recalculated every time the virus mutates.
Quarantine Zone
Procedures• General Agent:
– Move in random direction, avoid escorted infected persons, quarantine zone
– Check for potential mate
– Check for exposure to epidemic
– Check to see if natural death is going to occur
– Age++
• Quarantine Agent:
– Move in a random direction
– Check for infected persons in a two patch radius, if any exist, force them to follow you
– Take any infected persons escorting towards quarantine zone
– If no infected agents being escorted, continue patrol
spiddlement.wordpress.com
BehaviorSpace
• Allows user to export data to spreadsheets and tables
• Can incrementally increase specified variables as the model runs
• Useful for post-run data analysis in Excel
Sample Run of Epidemic Model
0
500
1000
1500
2000
2500
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
TicksP
eo
ple
count turtles
infected
Moving Average (# Alive)
Moving Average (# Infected)
Results
• Severe, recurring epidemics can successfully limit a populations growth over the long term.• Quarantines can help raise the
carrying capacity by 13%, and by even more with large magnitude quarantine responses.
459.12
406.11
0 50 100 150 200 250 300 350 400 450 500
Mean Population
"true"
"false"
Qu
ran
tin
e-I
mp
lem
en
ted
? V
alu
eA Recurring Quarantine Effort's Effect on Long-term Mean Population
"false"
"true"
Results (continued)
• Increasing quarantine magnitude also increases the long-term mean population.• Type of relationship difficult to
decipherer, appears to differ based on virus duration, world size, and initial-immunity variables.
Qurantine Magnitude vs. Mean Population
0
100
200
300
400
500
600
1 2 3 4 5 6 7 8 9 10
Qurantine Magnitude
Mea
n P
op
ula
tio
n
Series1
Linear (Series1)
In Conclusion
• In a population where population restraints such as food, shelter, and personal safety are met, epidemics can act as a population constraint.
• The implementation of a quarantine can increase the long-term carrying capacity of such a population, increasing the magnitude of the quarantine results in further increase in carrying capacity.
Timeline
• First Quarter– Used System Dynamics Modeling
• Second Quarter– Late Dec: Switched to Agent-Based Modeling,
formed basic procedures and agent types– Jan:
• Implemented susceptibility distribution• Implemented more realistic mating/children
characteristics• Learned how to use BehaviorSpace
Timeline (Continued)• February
– Implemented aging procedures– Have infected agents movement limited
• March– Implemented quarantine zone– Added quarantine agents– Implemented quarantine officer patrolling– Implemented smarter susceptible agents (they avoid quarantine zones
and officers on their way to the zone with infected persons in tow)• April/May
– Made age a factor of susceptibility– Recalculated quarantine response every mutation– Data collection, making conclusions– Analyze runs with and without quarantine, and with differing magnitudes
of quarantines responses and conclude effects on carrying capacity.
Project Evolution
• System Dynamics -> Agent Based
• Short-term -> Long-term
• Predetermined equations -> complex system affected by hundreds of individual decisions
Sample Run of Epidemic Model
0
500
1000
1500
2000
2500
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Ticks
Peo
ple
count turtles
infected
Moving Average (# Alive)
Moving Average (# Infected)
Future Extensions
• Create version where world is bounded.• Give users a factor representing
selfishness/selflessness, where infected agents take it upon themselves to seek quarantine or instead seek to avoid quarantine officers.
• Give quarantine agents specified paths to sweep
• Introduce multiple quarantine areas.
Thank You.