epidemic modeling in netlogo
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
Epidemic Modeling in Epidemic Modeling in NetLogoNetLogo
Brendan Greenley Pd. 3Brendan Greenley Pd. 3
PurposePurpose
Create a simple yet Create a simple yet realistic model of an realistic model of an epidemicepidemic
Figure out how Figure out how manipulating manipulating variables changes variables changes the behavior of an the behavior of an epidemic.epidemic.
GoalsGoals Identify how changes Identify how changes
in variables such as in variables such as death rate, virus death rate, virus duration, and time duration, and time until quarantine affect until quarantine affect the behavior/duration the behavior/duration of an epidemicof an epidemic
Allow for simple Allow for simple tweaking of variable tweaking of variable through slidersthrough sliders
Implement System Implement System Dynamics (SD) Dynamics (SD)
Program RunProgram Run Run time possibilitiesRun time possibilities
• Short term (one Short term (one epidemic)epidemic)
• Long term (reoccurring Long term (reoccurring epidemics)epidemics)
Key End ResultsKey End Results• Death countDeath count• Length of outbreakLength of outbreak• Time with maximum # Time with maximum #
of infectionsof infections Results shown Results shown
graphically (real-time)graphically (real-time)
Similar ProjectsSimilar Projects Numerous epidemic modelsNumerous epidemic models None implement System DynamicsNone implement System Dynamics More complexMore complex
• ParametricsParametrics• DifferentialsDifferentials
Basic assumptions frequently the sameBasic assumptions frequently the same• Infections can only spread from sick -> Infections can only spread from sick ->
unaffectedunaffected• Those who survive gain immunity (unless virus Those who survive gain immunity (unless virus
mutates)mutates)• Those infected but quarantined cannot spread Those infected but quarantined cannot spread
virus virus
NetLogoNetLogo
Programming language Programming language (Northwestern)(Northwestern)
More popularly used in multi-agent More popularly used in multi-agent based programmingbased programming
My use: System DynamicsMy use: System Dynamics Crossplatform supportCrossplatform support
• Windows, *Nix, MacWindows, *Nix, Mac Free!Free!
ProcedureProcedure
Add stock/flows in smaller groupsAdd stock/flows in smaller groups Check to see if smaller, simpler Check to see if smaller, simpler
linkages work properly by tracking linkages work properly by tracking stock populations in test runsstock populations in test runs
Attempt to link smaller linkages into Attempt to link smaller linkages into one greater systemone greater system
Check with a test run and repeat Check with a test run and repeat until project has one, huge working until project has one, huge working system of flows.system of flows.
Time LineTime Line First quarter:First quarter:
• Learn how to use NetLogoLearn how to use NetLogo• Experiment with non-SD proceduresExperiment with non-SD procedures
SecondSecond• Successfully create a basic model that encompasses unaffected, Successfully create a basic model that encompasses unaffected,
infected, quarantined, and immune stocksinfected, quarantined, and immune stocks ThirdThird
• Add more variables and flows to modelAdd more variables and flows to model• Attempt to have epidemics repeat over a longer period of time Attempt to have epidemics repeat over a longer period of time
(centuries), with different variations and mutations expressed by a (centuries), with different variations and mutations expressed by a change in variableschange in variables
FourthFourth• Focus on data collection and make conclusions from data, look at Focus on data collection and make conclusions from data, look at
derivatives of graphs, etc.derivatives of graphs, etc.
ProblemsProblems
Changing rates over timeChanging rates over time• As awareness of disease increases, so should As awareness of disease increases, so should
quarantine ratequarantine rate Using flows realisticallyUsing flows realistically
• Balancing population shifts with eachotherBalancing population shifts with eachother Combining System Dynamics and non-SD Combining System Dynamics and non-SD
components can be difficultcomponents can be difficult TicksTicks
• Should a tick represent a day? An hour? Should a tick represent a day? An hour?
Post-development PossibilitiesPost-development Possibilities
What if I finish early…What if I finish early…• Try to create same model in NetLogo, Try to create same model in NetLogo,
but without using System Dynamicsbut without using System Dynamics• Extend my epidemic model so it can be Extend my epidemic model so it can be
used to model long term diseases like used to model long term diseases like HIV/AIDSHIV/AIDS
• Agents to represent the populations and Agents to represent the populations and have them shown on a GUIhave them shown on a GUI
ResultsResults
Due to natural immunities, killing off an Due to natural immunities, killing off an entire population in one epidemic is entire population in one epidemic is difficult.difficult.
Viruses that are too deadly are poor Viruses that are too deadly are poor diseases, they quickly die off.diseases, they quickly die off.
Quarantining is a very effective measure Quarantining is a very effective measure to slow the infection rate.to slow the infection rate.
My SD model yields smoother curves than My SD model yields smoother curves than my non-SD model, (though there are my non-SD model, (though there are slightly different algorithms/values used)slightly different algorithms/values used)
System Dynamics ModelSystem Dynamics Model
Non-System Dynamics ModelNon-System Dynamics Model
Plan ChangesPlan Changes
I shifted away from System I shifted away from System Dynamics, but came back to itDynamics, but came back to it
SD environment yields less mistakes; SD environment yields less mistakes; fewer chances for typos/forgetting to fewer chances for typos/forgetting to update variables than non-SD update variables than non-SD NetLogoNetLogo
I initially was going to do agent I initially was going to do agent based modeling, but that is difficult based modeling, but that is difficult to do with System Dynamics.to do with System Dynamics.