Virus Modeling in NetLogo - Thomas Jefferson High School

Download Report

Transcript Virus Modeling in NetLogo - Thomas Jefferson High School

Epidemic Modeling in
NetLogo
Brendan Greenley Pd. 3
Purpose


Create a simple yet
realistic model of an
epidemic
Figure out how
manipulating
variables changes
the behavior of an
epidemic.
Goals



Identify how changes
in variables such as
death rate, virus
duration, and time
until quarantine affect
the behavior/duration
of an epidemic
Allow for simple
tweaking of variable
through sliders
Implement System
Dynamics (SD)
Program Run

Run time possibilities
• Short term (one
epidemic)
• Long term (reoccurring
epidemics)

Key End Results
• Death count
• Length of outbreak
• Time with maximum #
of infections

Results shown
graphically (real-time)
Similar Projects



Numerous epidemic models
None implement System Dynamics
More complex
• Parametrics
• Differentials

Basic assumptions frequently the same
• Infections can only spread from sick ->
unaffected
• Those who survive gain immunity (unless virus
mutates)
• Those infected but quarantined cannot spread
virus
NetLogo




Programming language
(Northwestern)
More popularly used in multi-agent
based programming
My use: System Dynamics
Crossplatform support
• Windows, *Nix, Mac

Free!
Procedure




Add stock/flows in smaller groups
Check to see if smaller, simpler
linkages work properly by tracking
stock populations in test runs
Attempt to link smaller linkages into
one greater system
Check with a test run and repeat
until project has one, huge working
system of flows.
Time Line

First quarter:
• Learn how to use NetLogo
• Experiment with non-SD procedures

Second
• Successfully create a basic model that encompasses unaffected,
infected, quarantined, and immune stocks

Third
• Add more variables and flows to model
• Attempt to have epidemics repeat over a longer period of time
(centuries), with different variations and mutations expressed by a
change in variables

Fourth
• Focus on data collection and make conclusions from data, look at
derivatives of graphs, etc.
Problems

Changing rates over time
• As awareness of disease increases, so should
quarantine rate

Using flows realistically
• Balancing population shifts with eachother


Combining System Dynamics and non-SD
components can be difficult
Ticks
• Should a tick represent a day? An hour?
Post-development Possibilities

What if I finish early…
• Try to create same model in NetLogo,
but without using System Dynamics
• Extend my epidemic model so it can be
used to model long term diseases like
HIV/AIDS
• Agents to represent the populations and
have them shown on a GUI
Results




Due to natural immunities, killing off an
entire population in one epidemic is
difficult.
Viruses that are too deadly are poor
diseases, they quickly die off.
Quarantining is a very effective measure
to slow the infection rate.
My SD model yields smoother curves than
my non-SD model, (though there are
slightly different algorithms/values used)
System Dynamics Model
Non-System Dynamics Model
Plan Changes



I shifted away from System
Dynamics, but came back to it
SD environment yields less mistakes;
fewer chances for typos/forgetting to
update variables than non-SD
NetLogo
I initially was going to do agent
based modeling, but that is difficult
to do with System Dynamics.