I wrote a Plotly Reactive Dash app to try to see if I could make an interface to run the MCMC version of the hindcast/forecast model written in R code by James D. Annan and Julia C. Hargreaves (2020) for different country data. I adopted a 3-day exponentially weighted average smoothing scheme to adjust for weekend reporting effects. The original MCMC model is described in the medRxiv preprint by James D. Annan and Julia C. Hargreaves (2020) here:
James and Julia’s hindcast/forecast model produces excellent results and is continually evolving. See their blog to keep up with latest developments as I am no longer working on the python frontend.
The way the Plotly app I made imports population data for countries and the daily death data made available by CSSE at Johns Hopkins University together with publicly available lockdown data to provide the inputs needed by the R code which I created a stripped out executable version from.
The hindcast/forecast simulation is manifested by 5000 runs using Monte Carlo Markov chains for 6 model parameters:
|Variable 1||Latent period [days]|
|Variable 2||Infectious period [days]|
|Variable 3||0.5 x Initial infection rate|
|Variable 4||Death rate|
|Variable 5||Initial reproductive rate, R0|
|Variable 6||Post-lockdown reproductive rate, Rt|
whose MCMC traces, kernel density estimates and correlation matrix are displayed in the app. I ran into problems running the R code from within the Plotly Dash environment when deploying at Heroku but it can be run locally for testing purposes. Although I am no longer maintaining this, the codebase for issue checking on Github here: