SpatialWavePredict Toolbox is a user-friendly MATLAB-based toolkit designed for fitting and forecasting epidemic trajectories using the ensemble spatial wave sub-epidemic framework. This framework captures diverse wave dynamics by aggregating multiple asynchronous growth processes and has demonstrated superior performance in short-term forecasts of various infectious disease outbreaks, including SARS, Ebola, and early waves of the COVID-19 pandemic in the US.
Key functionalities include:
- Fitting models to time series data using a five-parameter epidemic wave model that aggregates overlapping sub-epidemics.
- Estimating parameters with quantified uncertainty through parametric bootstrapping.
- Plotting fits and AICc values of top-ranked models.
- Generating forecasts and ensemble forecasts based on top-ranked models.
- Quantifying forecasting performance using metrics that evaluate point and distributional forecasts, including the weighted interval score.
Additional features:
- Support for different parameter estimation approaches (least-squares, maximum likelihood estimation).
- Ability to assume different error structures (normal, Poisson, negative binomial).
- Selection of underlying functions for the sub-epidemic building block (generalized-logistic model, Richards model, and the generalized Richards model).
- Option to choose between two decline functions for sub-epidemic sizes: Exponential and Power-law.
- Tutorial Paper: SpatialWavePredict: A tutorial-based primer and toolbox for forecasting growth trajectories using the ensemble spatial wave sub-epidemic modeling framework
- Video Tutorial: YouTube Series on SpatialWavePredict Toolbox
The n-subepidemic framework toolbox requires a MATLAB installation.
To use the toolbox to fit the spatial wave sub-epidemic framework to your data, you just need to:
- download the code
- create 'input' folder in your working directory where your data is located
- create 'output' folder in your working directory where the output files will be stored
- open a MATLAB session
- define the model parameter values and time series parameters by editing
options.m - run the function
Run_SW_subepidemicFramework.m
After fitting the model to your data, you can use the toolbox to plot the model fits and parameter estimates as follows:
- define the model parameter values and time series parameters by editing
options.m - run the function
plotFit_SW_subepidemicFramework.m
After fitting the model to your data, you can use the toolbox to plot the subepidemic profiles and AICc values as follows:
- define the model parameter values and time series parameters by editing
options.m - run the function
plotRankings_SW_subepidemicFramework.m
After fitting the model to your data, you can use the toolbox to plot forecasts derived from the top-ranked and ensemble subepidemic models as follows:
- define the model parameter values and time series parameters by editing
options.mandoptions_forecast.m - run the function
plotForecast_subepidemicFramework.m
- Chowell, G., Tariq, A., & Hyman, J. M. (2019). A novel sub-epidemic modeling framework for short-term forecasting epidemic waves. BMC medicine, 17(1), 1-18.
- Chowell, G., Rothenberg, R., Roosa, K., Tariq, A., Hyman, J. M., & Luo, R. (2022). Sub-epidemic Model Forecasts During the First Wave of the COVID-19 Pandemic in the USA and European Hotspots. In Mathematics of Public Health (pp. 85-137). Springer, Cham.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.