This repository contains the code, visualizations, presentations, final paper for my Gonzaga University Honors college senior thesis which investigated the effects of socioeconomic and behavioral factors on the spread of COVID-19.
Some code is not included in this repository as it relied on private APIs or data repository that I was able to access from within Talus Analytics. Additionally, some code testing out different features and models has not been moved into the public repository yet.
-
-
The paper, presentation, and figures created for this project
-
-
-
Jupter Notebooks created to analyze this data. One contains the final model and the other has exploratory data analysis.
-
-
-
Source code for creating the dataset, visualizations, and models
-
Still in the process of documentating according to Google Style
-
In creating this project, I tried to understand why the success of policy restrictions had varied so widely across the US. No two regions appeared to respond to stay at home orders the same. Whereas, one county might see case sky-rocket following the closure of indoor dining, another might see them gradually fall. I suspected that this had to to with the both the willingness and the ability of people to comply with mitigation policy.
To test this hypothesis, I identifed a set of counties with similar policy restrictions using COVID-AMP. I then collected and combined a wide variety of data on that county's inhabitants including cell-phone mobility data, income, racial and ethnic identification, and teleworking ability. I then attempted to train a machine learning to predict the average caseload observed while the policy was in place given that information about the counties inhabitants.
I ultimately used a random forest algorithm.
To stop the model from using the time of year to estimate caseload, I split the larger dataset into a spring and fall dataset. On the spring dataset, the model was able to predict the number of COVID-19 cases observed while the policy was in place within an absolute mean error of 3.6 cases per 100,000 people, and the model was able to explain ~40-50% of the variance in the test set
Race and household crowdedness were the two most important features in creating the final model prediction.
From our exploratory data analysis, we know that those two features, like many of the features in our dataset are highly correlated, making it difficult to discern which was most important.
However, it seems likely that our model frequently relied on the racial makeup of a county in making its prediction in part because in the US race is highly correlated with access to healthcare, likelihood to be an essential worker, household crowdedness, and other factors that may affect COVID-19 outcomes.
For a more in-depth discussion of the process and results, the final presentation and paper that resulted from this project have been included in reports.