Honors option (second semester project) for CMSE202
My project focuses on modeling the progression of disease in a human community. It aims to answer the question: what would an agent-based model of the progression of COVID-19 look like in Michigan on May 12th, 2020? My methodology involves the utilization of object oriented programming in order to make the aforementioned model.
- Install uv if not already installed:
curl -LsSf https://astral.sh/uv/install.sh | sh - Sync packages:
uv sync - Run JupyterLab thorugh uv for virtual environement:
uv run jupyter lab - Run cells in Disease_ABM notebook for model simulation!
I sourced the information for infection rates from the CDC (I specifically chose May 16th for two reasons: that's around when the US surpassed 1 million COVID deaths [found on ABC News] and the date is relatively close to April 1st, the day that the entire Michigan population is counted). I also got the death rate from the CDC. As for the specific statuses an individual could have, I referenced the SIR model for the spread of disease (found on HHMI BioInteractive).
One significant challenge I have encountered is figuring out a general percentage to use for the infection and death rates. In order to keep calculations relatively simple, I had to make a couple of assumptions. Initially, I assumed that the infection rate could be found by dividing total cases by total population, and the death rate by using the infection fatality ratio: total deaths divided by total cases. That assumption led to the model producing rates very close to 0%, which doesn't make sense as COVID in this period was very contagious. I had to remedy that by making a different assumption in that that the weekly percentage of positive tests (found on CDC) could be used for infection rate. Another challenge was that the code is very long to display the simulation. I had to shrink the size of the array and assume that each "person" in the array and plot was actually a collection of peoples. With these assumptions, I was able to produce an animation of the agent-based model based on the SIR model.
- JupyterHub
- GitHub
- Python 3.12+
- Numpy module
- Matplotlib module
- Ipython.display module
Disease_ABM: Notebook with code for the disease Agent-Based Model.README.md: README file with project information.pyproject.toml: virtual environment package manager file.uv.lock: virtual environment dependency catalog file.
Minimum Python version required: 3.12
- Researched COVID-19 statistics
- Created model
- Made presentation
- Centers for Disease Control and Prevention, CDC, https://covid.cdc.gov/covid-data-tracker/#trends_weeklydeaths_weeklypctdeaths_00
- ABC News, https://abcnews.go.com/Health/covid-19-timeline-deadly-virus-worlds-response-evolved/story?id=107880313
- Howard Hughes Medical Institute BioInteractive, HHMI BioInteractive, https://media.hhmi.org/biointeractive/click/modeling-disease-spread/basics-background.html