The Santa Cruz County (SCZ) COVID-19 model is a time-discrete, stochastic SEIR model that uses Bayseian statistical methods, such as Hamiltonian Markov Chain Monte Carlo (MCMC) simulations, to forecast the COVID-19 pandemic in Santa Cruz County, California. The model requires a set of parameters, equations, and local data to help inform its simulations. The model is set to run 4,000 simulations and fine-tune the inputted parameters using the local data (confirmed COVID-19 hospitalizations, confirmed COVID-19 cases, and deaths). The model projects a range of different scenarios that fit the inputs provided and are displayed in the exported plots.
The model contains 9 compartments to divide COVID-19 cases into the asymptomatic, mild, and moderate to severe illness, which better informs hospitalization and death projections (see diagram below).
The Jupyter notebook using data from Santa Cruz County can be found here, a template notebook can be found here.
Note: If you have issues, questions or find a bug please create an issue in GitHub (above).
- The model's contact rate adjusts every 10 days using spline interpolation.
- COVID-19 cases who recover gain short-term immunity.
- COVID-19 cases can be infectious 2 to 3 days prior to symptom onset.
- COVID-19 hospitalization, ICU, and death rates are calculated based on the overall age demographics of Santa Cruz County.
- Not everyone who tests positive for COVID-19 goes to the hospital.
- COVID-19 cases only die within the hospital.
- Hospitalized COVID-19 patients have a shorter duration of their infectious period because they are less likely to expose others. However, they likely will shed live virus longer, especially if immuno-compromised.
- It assumes social distancing lowers the contact rate by 60%. However, lifting the shelter in place orders could increase the contact rate anywhere from 0 to 20%. The model incorporates this during the time Shelter-In-Place was implemented on March 16th and then amended on May 1st.
- The model does not account for spatial or network patterns.
The core of the model is written in Stan and a Jupyter notebook is used for reading in data, running the model and visualizing its output. Installation instructions are provided here.
In order to provide a new dataset or change the model parameters, edit the begining of the notebook where each input parameter and the required data files are described in detail.
All parameters listed below can be adjusted by the user.
Parameter | Value and Distribution | Literature |
---|---|---|
Contact Rate | exponential (.2, 30) | N/A |
Latent Period | normal(5, 2) | Cascella et al; Li et al |
Asymptomatic Infections Days to Recover | normal(7, 5) | He et al |
Mild Infections Days to Recover | normal(7,4) | He et al |
Days to Hospital | normal(5,1) | Ferguson et al |
Non-ICU Cases Days in Hospital | normal(7,1) | Ferguson et al |
ICU Cases Days in Hospital | normal(16, 1) | Ferguson et al |
Fraction Tested | normal(0.25, 0.025) | N/A |
Fraction of moderate cases (Hospitalized but non-ICU) | Dirichlet with mean 0.07[1] | Stanford model; Ferguson et al; Verity et al |
Fraction of severe cases (ICU and alive) | Dirichlet with mean 0.02[1] | Stanford model; Ferguson et al; Verity et al |
Fraction of severe cases (ICU and dead) | Dirichlet with mean 0.01[1] | Stanford model; Ferguson et al; Verity et al |
Fraction Asymptomatic cases | Dirichlet with mean 0.178[1] | Nishiura et al; Mizumoto et al |
Fraction of mild cases (non-hospitalized) | Dirichlet with mean 1-sum(0.07, 0.02, 0.01, 0.178)[1] | N/A |
Population of Santa Cruz County | 273, 213 | https://www.census.gov/quickfacts/santacruzcountycalifornia |
[1] All 5 fractions are drawn from the same Dirichlet distribution.
This project is licensed under the MIT License - see the LICENSE file for details.