System Model
Story
There are two diagrams with a rate going towards a level in each one. One diagram has the level “Infected” while the second has the level “Dead.” The initial value of both levels is 1. The equation for both the levels is equal to its corresponding rate to show how the change in infections/deaths affects the total people who got infected or died. The rate pointing to the Infected level is called “change in # infected per time” while the rate pointing to the Dead level is called “change in # deaths per time.” The first diagram is affected by the variables, “Infection rate” and “Quarantine” while the second diagram is affected by the variables “Death rate” and “Quarantine.” Arrows point from Infection rate and Quarantine to Change in # infected per time. Also, arrows point from Death rate and Quarantine to Change in # deaths per time. The variable “Infection rate” has the equation 0.21 to model the actual 21% infection rate in New York City. The variable “Death rate” is given the equation 0.097 to model the 9.7% death rate in NYC. The variable “Quarantine” is given the value 0, with a max of 0.002 to show the difference in cases when quarantine restrictions are put into place. These numbers are variable once the model is simulated, and you can change the variable values for different outcomes in the graph. An arrow points from the Infected level to the rate “Change in # infected per time,” and the rate has an equation to model the exponential growth rate of cases. An arrow points from the Infected arrow to the Change in # deaths per time rate as well and the rate for deaths has an equation to show how the infected people from the previous diagram go through the chance of dying. The Dead level has an arrow pointing to Change in # deaths per time to show how quarantine can lessen the number of deaths from the virus, which has been integrated to the rate. There is an interactive graph that changes as each of the variables are changed in the model, with lines for Infected and Dead.
Questions and Hypotheses
Q: What would happen if no quarantine measures were put in place?
H: The number of infections will continue to grow exponentially until the total amount of people in the world are infected.
Q: If the infection rate was higher, would there be more new infections per day?
H: Yes, there will be more new cases per day because when the the infeciton rate increases, there would be a greater chance that healthy people in contact with sick people would contract the virus. This would also lead to more people dying, because more people would get infected, thus increasing the amount of people who die from the virus after getting infected.
Results and Behaviors
The results of the model, as seen on the interactive graph, were very similar compared to the actual graph of the model given by the NYC health system. Since I was able to factor in quarantine, the new cases and deaths per day were able to go down, mimicking what has happened in real life lately. One behavior that I noticed from the graph is that if you put the quarantine rate, which can be described on how heavy the restrictions are, the new deaths per day curve goes higher and reaches a higher peak than the new infections per day. This may be because of the fact that quarantine has a greater effect on the amount of infections per day rather than the deaths, which causes the infection curve to become much lower than the death curve. Another behavior of the model is that even though quarantine is put in place, the amount of cases still rises, as seen on the infected and dead levels on the model. The total infections and deaths grows exponentially, then levels off near the middle of the graph, but still grows ever-so-slightly.
Observations vs. Expectations
At the beginning of the project, I expected my model to mock the graphs given by the CDC and NYC Health Systems for the new cases per day. After making the model and producing a new interactive graph to the side of the model, the system model does exactly that. Because of the relative accuracy of the model, it could be used to draw up some scenarios that could have happened in the past, such as: If there were heavier quarantine/lockdown restrictions, would there have been as many deaths/infections as what actually happened? In general, my observations from this model helped me learn that with higher quarantine measures (higher value for quarantine), there would have been less infections and not as many deaths.
Did the Results Support my Hypotheses?
Yes, my results did support my hypotheses. For example, my first hypothesis was that if there were no quarantine measures, the total population of NYC would get infected, and the number of infections would exponentially grow forever, and I proved that when I set quarantine equal to 0. When this was the case, the graph had both the new infections and deaths lines go up exponentially. My second hypothesis was also support by my results because when I incresed the infection rate, there were MANY more infections than the actual graph with the normal infection rate. As a result of the increased infeciton rate, both the new cases and new deaths per day increased.
Reality Check
To make it seem like it was in real life, I used all of the numbers from the NYC health department in the model. The numbers I got from the NYC health department and other sources on the internet was the infection rate, death rate, and population. With these numbers, I was able to make my model similar to the graph given to the public by New York City with the new cases per day. I also had to scale down my model to meet the constraints of the graph that I had in VenSim.
What I Learned
In general, I learned many things about COVID-19 that I never knew before, like how the death rate is so low, even though it seems like so many people die from the virus. I also learned that competition from the rabbit models I made earlier in the Fall could be used to simulate quarantine and lockdown restrictions. Lastly, I learned that if I made my model on paper and planned everything out ahead of time, I could quickly make my model on the actual program and remove any extra time I would have spend debugging/fixing the model.
Agent Model
Story
There is a 30 by 30 world called NYC. There are 2 agents, “Person” and “World.” The agent, “world” is the platform of the main world for other agents and shapes to move and complete actions on. This agent has no tasks. There are many randomly scattered “person” agents in the world. The agent has 3 methods total, setup, while-running, and run. Run is the main method where all the rules are found. One rule is how these agents all move randomly around the world. There is 1 infected agent, which is a shape of the Person agent, that moves randomly in the world, but slowly. If a healthy agent is next to an infected agent there is a 21 percent change that the healthy agent changes into an infected one, spreading the virus. Each timestep of the world runs is calculated by the attribute “Steps.” All agents are assigned 1 step at the before the model is played, and has to go through “setup” to get steps if it doesn’t have them already. Each time any one of the agents moves, no matter how slow or how quick they do, a step is to be added to their step count. If a healthy agent remains in the world after 60 timesteps, there is a 75% chance they will remain static and not move to simulate quarantine. If an infected agent remains in the world after 15 timesteps, there is a 95% chance they will remain static in the world. After 72 steps and onwards, there is a 10% for the infected agent to become an Immune agent and recover, and a 2% chance that the infected will become a Dead agent and die. Immune agents move freely on the world, but 50% slower, without the risk of getting reinfected. There is a counter with the shape of a ladybug that counts the number of infected and dead agents, and graphs them on a pop-up graph.
Questions and Hypotheses
Q: If the lockdown measures were placed earlier, at around 25 time steps into the model, would there have been fewer cases and deaths?
H: Yes, if this was the scenario, then there would be fewer cases and deaths, because there would be fewer people moving around in the world, risking getting infected by the virus. With fewer people getting infected, not as many people would die from the virus.
Q: If the time steps after contact were less than 10, would there have been more infections?
H: So the 10 time steps after contact models the fact that it takes 2 weeks until symptoms show up, which means that people still go out and about while they are technically infected. If the time steps were less, I believe that there would have been fewer cases because people would stay static after getting infected and would not go and infect others.
Results and Behaviors
When the graphs runs, I notice that the side directly opposite to where the first person is infected always has at least one healthy person remaining. For example, if the infected person was in the top right of the world, mostly everyone else surrounding it would become infected EXCEPT some people on the opposite side of the world. When I moved the initial infected person to the middle, many more people got infected because when putting down the people on the world, I purposefully put many people in the middle to model the high density in the central urban area of NYC. With more people getting infected in the middle, the virus spread quicker, and number of infected and dead people rose drastically compared to the infected person starting on the top right.
Observations vs. Expectations
Before making this agent model, I was expecting that the graph would look similar to the graph of my system model and the graph of the NYC health systems. However, since AgentCubes can only graph the TOTAL amount of cases LIVE IN THE WORLD, the context of the agent model graph is a bit different. Also I was not planning to use Immune agents at the beginning of the model while planning, but after seeing that it would work better with the model after running it a couple of times, I added it in one of the last few versions I made. This helped me learn that as I add more agents and more parts to the model, it would become more accurate and would simulate the real-life phenomenon of COVID accurately.
Did the Results Support my Hypotheses?
My results did support my one of my hypotheses. For example, when I put less time steps for the lockdown measures to start, literally only 15 to 30 people got infected on average, compared to the normal 80-100 that get infected without earlier lockdown measures. My second hypothesis was somewhat wrong however. This is because I thought there would have been fewer cases if the time steps after touching another infected person was lower, but in reality, it was higher because many more healthy people surrounded the fastly growing infected population, which would infect the other healthy people, spreading the virus more rapidly than ever before. My new hypothesis for this question after making the model would be that if the time after contact with an infected person was lowered, there would be a GREATER amount of infections.
Reality Check
In my agent model, I could not scale the total population or the number of people infected down to meet numbers in real-life, because when building the model and coding it, the results would not have been accurate. To make up for this, I added lockdown measures after some timesteps, and factored in that some people might not follow lockdown regulations and still move, and by doing this, I made it as close to possible to the actual scenario. In addition, like stated above, I added in Immune people to show that there will not always be people who stay infected, but instead, recover from the virus, and start moving around again instead of staying static.
What I Learned
I learned that in reality, not too many people die from the virus. From the models I built, only a fraction of the total population died from the virus because of the incredibly low death rates. I believe that some people in the media might be exaggerating and providing the negative numbers of the virus, while we should be focusing on the actual positive numbers, such as how many people have recovered, and how the trends are somewhat going down in some areas across the country, especially in New York.