fitVirus

Estimation of coronavirus COVID-19 epidemic size by the logistic model
2K Downloads
Updated 14 Apr 2020

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

The function fitVirus03 implements a logistic model for estimation of epidemy final size from daily predictions. The model is data-driven, so its forecast is as good as data are. Also, it is assumed that the model is a reasonable description of the one-stage epidemic. If however, the epidemic evolves to the second phase the model becomes useless. The model is also useless to the initial epidemic phase.

The contribute contains data for coronavirus for Austria, Belgium, China, Croatia, Denmark, Germany, Hungary, France, Iran, Italy, Lombardia, Norway, Netherlands, NY State, Portugal, Slovenia, South Korea, Spain, Switzerland, UK, USA and data for outside of China (up to 24.Mar.2020)

The regression convergence may fail for a pure initial guess or small data set. Therefore the method does not apply to the early stages of an epidemic. Also, results are useless if regression statistic does not meet minimum criteria, say R^2 > 0.8, p-value < 0.05.

On the epidemy evaluation graph regions colors separate epidemy phases (these are not standard but arbitrarily chosen for convenience):
red - fast growth phase
yellow - transition to steady-state phase
green - ending phase (plateau stage)

The second figure produced is the evaluation of daily epidemy size. If these values do not converge to a constant then epidemic is probably not yet stable.

A more detailed description can be found in
https://www.researchgate.net/publication/339240777_Estimation_of_the_final_size_of_coronavirus_epidemic_by_the_logistic_model
Examples can be found in
https://www.researchgate.net/publication/339912313_Forecasting_of_final_COVID-19_epidemic_size_200318

A new version based on SIR model is available at
https://www.mathworks.com/matlabcentral/fileexchange/74658-fitviruscovid19

Data for other countries are available from
https://ourworldindata.org/coronavirus-source-data.

DISCLAIMER. Software and data are for education and not for medical or commercial use.

Cite As

milan batista (2024). fitVirus (https://www.mathworks.com/matlabcentral/fileexchange/74411-fitvirus), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2019b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
2.1.2

Change image

2.1.1

Add RMSE to the graph. Update data.

2.1.0

Change the graph layout. Update data.

2.0.25

Suppress invalid forecasting when the actual number of cases is greater than actual

2.0.24

Correct description

2.0.23

Add data source

2.0.22

Add data for Denmark, Hungary, Norway, NY State

2.0.21

Improve initial guess. Add data for Belgium, Croatia, UK. Upgrades data for the Netherlands (thanks to Rolf Boelens)

2.0.20

add note about fitVirusCOVID19 program

2.0.19

Correct link to new version

2.0.18

Correct iniGuess (thanks to Nikolas Wernecke). Actual daily cases are added to the graph. R2 for total cases and infection rates are added to the summary. Data for Portugal are included.

2.0.17

Add note about a new version of the program (thanks to Joshua McGee)

2.0.16

Update requirements

2.0.15

Data and scripts for the Netherlands and USA added (thanks to Rolf Boelens)

2.0.14

Update description

2.0.13

Add link to examples

2.0.12

Add data for Austria

2.0.11

Correct data

2.0.10

Update data. Add data for France, Switzerland

2.0.9

Change summary

2.0.8

add data for Spain

2.0.7

update description

2.0.6

add data for Germany

2.0.5

Update data. Add summary report to live scripts.

2.0.4

Remove the upper limit.

2.0.3

Update data. Minor changes. R2 is now included in the table.

2.0.2

Minor changes

2.0.1

Change imaga

2.0.0

Major revision. Remove Weibull regression, remove graph for peak time, combine graph for epidemy evaluation and its rate. Add epidemy duration and end date to report. Replace regressor A with C0. Add data for Slovenia.

1.0.14

Minor corrections

1.0.13

Add data for Iran and out of China. Weibull regression is now optional.

1.0.12

Add data up to 7.Mar.2020

1.0.11

Correct data for South Korea

1.0.10

Add data for 5.Mar.2020

1.0.9

Correct calculation of relative error of daily predictions

1.0.8

Add data for Italy

1.0.7

Correct description

1.0.6

Add data for 4.Mar.2020

1.0.5

Correct description

1.0.4

Add data for 3 Mar 2020

1.0.3

Update description

1.0.2

Update example

1.0.1

Add image

1.0.0