NCSI Talks

   

Epidemic Model Learning Scenario


Shodor > NCSI Talks > AgentSheets > Epidemic Model Learning Scenario

Lesson Scenario - Epidemic Model (AgentSheets)

Basic Model:

Description

This is an agent-based model that shows the spread of disease. The user is able to change the initial amount of the population and the infection rate. If a healthy person is next to a sick person, there is a chance the healthy person changes into a sick person (infection rate). Also, healthy people not next to a sick person move randomly part of the time and the other part of the time they move away from contaminated areas. After a sufficient amount of time, or faster with rest, a sick person can change back into a healthy person. Lastly, sick people who do not move get better faster than if they move around.

Background Information

This model shows the spread of diseases that eventually turns into an epidemic because of how large the population is. Similar to real life when a disease that starts to affect more than a few people in one area, such as a city, then becomes an epidemic. For example, the swine flu, the regular flu, and meningitis all started out small but then spread to many people and affected people from other cities and states. Also, when a sick and healthy person comes into contact, the healthy person does not become sick immediately. It may take a healthy person interacting with sick people continuously to become sick. This depends on the infection rate of the disease. This model also shows contaminated areas in which there is a lot of disease that can infect the healthy people as represented by a color mapping.

Science/Math

The way the contaminated areas spread in the world is by using the concept, "average of your neighbors." This means that the world agents average the "sick smell" of the neighboring agents (top, bottom, left, right) to help diffuse the contamination into the world. Also, the main modeling concept used is HAVE = HAD + CHANGE where the number of healthy we HAVE is equal to the number of healthy we HAD plus the CHANGE in the number of healthy people (ie. sick recovering, healthy becoming sick). This also holds true for the number of sick people.

Teaching Strategies

First, have a discussion with students about various diseases and what is an epidemic. Examples to show what an epidemic is would be the flu, swine flu and, more historically, the Black Death. Next, have the students open the model and run it with the default values. Students should run the model at all speeds to see what is going on in the program. Different infection rates can be broken down into groups. The groups can be 10, 25, 50, 75, and 90. It will be seen that usually the higher the infection rate, the faster the disease will spread given a lower mobility and/or a high enough persistence.

Implementation:

How to use the Model

In this model there are two types of people: healthy (blue) and sick (red). When the sick and healthy people interact with each other there is a chance that the healthy person will become sick. Users can manipulate how high or low of a chance that is by moving the slider bar called infectiousness. The infectiousness of the disease can be 0% to 100%. Users are also able to change the amount of people in the environment. Mobility is the percent chance the agents are able to move in the world. Also healthy people will either move away from the contamination areas or will move randomly. To run the model, click the play button on the bottom of the applet. The user can adjust the speed of the model using the speed bar located on the bottom in the middle of the page. To change the simulation attributes (ie. infection rate, mobility, or persistence) click the gray drop down arrow located on the right side of the page and select, "Simulation Properties." Persistence is how long the agent remains sick before turning back into a healthy person. For more information about Agentsheets reference the Agentsheets tutorial here.

Learning Objectives:

  1. Understand how infection rate affects the model
  2. Understand how the amount of a population and population density affect the model

Objective 1

The infection rate controls the chance of a healthy person becoming sick when they interact with a sick person. In order to understand the concept of this objective, have students keep the default population amount but change the infection rate. Have students record the behavior of the program at infection rates of 5%, 15%, 50%, 75%, and 100%. It will be shown that the higher the infectiousness rate, the faster the disease spreads as long as the mobility is kept low and the persistence remains high.

Objective 2

This objective will observe how the population and population density affects how a disease spreads. Population density is how packed a population is into an environment. In this model, the higher the population, the higher the population density. Having a higher population is not always a good representation of population density. For example, 20 people in a small one-bedroom apartment is a much higher population density than 200 people in the stadium for the Superbowl. To see how population affects the spread of disease, have students keep the default infection rate and increase the population amount (by using either the pencil or gray rectangle tool). Have the students test a low population density, medium and high. The higher the population, the more people there are to be affected.

Extensions:

  1. Apply this model functionality to other scientific concepts
  2. Add in the possibilities of a sick person dying

Extension 1

This model uses color mapping and the formula, "average of your neighbors" (see Math/Science section) to depict contamination areas. What other concepts would use similar behaviors? (Heat maps, radiation/pollution maps, etc.)

  1. What changes would you have to make to the model to turn it into your new simulation?
  2. The purpose of this exercise is to illustrate the ease at which once you learn how to build a specific model, there may exist similar themes/behaviors that you could apply to other models, allowing you to build quick duplicates.

Extension 2

Realistically, not everyone who gets sick recovers. Adding in a death rate to the model will make the model more realistic. The death rate parameter needs to be represented as a global variable so the user is able to change the rate under the Simulation Properties window. The death rate can be 0% to 100%.

  1. How will this affect the overall population?
  2. Will this reduce the spread of disease?
  3. Did you notice anything unexpected with the model given the new parameter? Are you able to kill all people within the simulation by simply using an extremely high death rate?

Related Models:

Directable Fire!! (Interactivate)

This is an applet where the user starts a fire in one tree and sees how it affects the other trees. There is the option of resizing the forest, manipulating the burn speed and manipulating the probability of the trees around the tree on fire to burn.

Simple Sick Model (NetLogo)

This is a very basic model that begins with a population of 199 healthy people and one sick person. When the sick person touches a healthy person they immediately become sick as well. This model shows how drastic situations can be due to the spread of disease.