150 likes | 402 Views
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.
E N D
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)
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.