COVID-19 has been devastating communities and countries all over the world. Unfortunately, countries can be ill-prepared and not know how many ventilators / medical equipment they need at certain times during the outbreak.
To save lifes, reduce strain on medical resources and to support medical professionals, we have to accurately predict how many people will be infected 28 days in advance. USA Dashboard
What it does
COVID-19 28-Day Forecasts showcases 3 main graphs:
- Predicted Cases
- Predicted Change
- Worst Case Analyses
Predicted Change uses the first graph, and highlights more clearly when the peak of infection is.
Finally, if a country is still within the exponential growth trend, predicting the peak of infections becomes near impossible. Worst Case Analyses are provided were you can see which day is the peak if say 50%, 100% etc of the country's population becomes infected.
How I built it
Python, Tableau were used to build the predictions for all countries _ (China, Italy, Iran, Spain, Germany, US, France, Korea, Switzerland, United Kingdom, Japan, Australia, Indonesia) _
Mathematical models were derived by fitting a weighted linear regression on either a logistic curve or exponential curve.
Challenges I ran into
Predicting cases is very hard. A large problem was trying to remove noise in the earlier days of the outbreak, as it'll skew the predictions dramatically. I found that using weighted linear regression can sovle some of the issues.
Constantly updating Tableau / the data the dashboards were using was a big time consuming task. Still fuguring out how to fully automate it.
Accomplishments that I'm proud of
Predictions seem to be quite good! (For now!) Family and friends were very interested in the analyses, and wanted me to also include analyses for other countries (ie Indonesia, Singapore etc)
What I learned
- How to model a pandemic
- How to integrate Google Sheets with Tableau
What's next for 28 Day COVID-19 Forecasts
First we need to fully automate the process. Currently around 15minutes or so each day is taken to update the dashboards. Sometimes this can balloon to 3 hours if one dashboard has an error / or needs some enhancements.
We plan to add more countries. There is only current support for a select few countries who were massively hit with the virus namely China, Italy, Iran, Spain, Germany, US, France, Korea, Switzerland, United Kingdom, Japan, Australia, Indonesia.