What’s new?
This is the final update in the 2021 Victoria outbreak (resulting in the sixth Melbourne lockdown) series. Victoria exited its lockdown one week ago. Moving forward, the assumption used in the model (projections into the future based algorithmically on the same transmission dynamics in the past) cannot be taken to be theoretically valid. It is likely that case numbers will either stop falling, or rise. Charts from the NSW experience, which came out of its lockdown a few weeks earlier, might give an indication of what might occur in Victoria (see below).
Today’s announcement was 1656 new local cases is highly consistent with the Gompertz model. This model has been performing very well for weeks. The 7-day projection errors have largely been less than 1% over this period. The projection from 14 days ago for today underestimated by less than 0.5% from reality. As such, the difference between actual case numbers, and the future projections from the Gompertz model from today could be used as an indication of the effect of the policy change.
Projection of new daily cases, and cumulative counts of COVID-19 with data up to 29 October 2021
What is this?
The blue charts the the Gompertz model. The top image is a chart of the cumulative (total) COVID-19 cases in Victoria, starting from 4 August 2021, and the lower image is a chart of the daily new cases. Only local cases are included (i.e., excluding cases identified in quarantine). Projections are given for the next 7 days. It should be noted that estimates have high levels of uncertainty beyond a few days and must be interpreted cautiously.
The projections are made using a model by fitting the cumulative case data since 20 September 2021 to a Gompertz equation using non-linear regression. The dark central dashed lines are the model estimates, with 95% confidence intervals of the estimate. On the lower chart, the colour gradations can be understood as the degree of uncertainty in the model projections.
Gompertz and Richards’ growth curve
The Gompertz function is a type of sigmoid, or “S”-shaped curve. It’s been around since the early 19th century and was initially used to describe and model demographic mortality curves, and hence, well known to actuaries. The Gompertz function can also be used to accurately model biological growth (e.g., epidemics, tumour size, enzymatic reactions). I have chosen to use this model to help with creating insights as earlier in the pandemic, it was found to be useful in modelling cumulative cases of COVID-19 from the Chinese outbreaks (Jia et al. arXiv:2003.05447v2 [q-bio.PE]).
The Richards’ growth curve (or the generalised logistic function), which is a broad family of sigmoid (S-shaped) curves that can describe well many types of growth, including epidemics. It has also been demonstrated to have utility in modelling COVID-19 outbreaks in 2020 (Lee et al. PLoS One 2020 doi: 10.1371/journal.pone.0236860).
Richard’s growth curve / generalised logistic function:
- B, C, D, E, F are the parameters of the model
- e is Euler’s number
- x in the model is the date (day number)
- These are the parameterisation of these functions used in the drc package: https://cran.r-project.org/web/packages/drc/drc.pdf
Why the changes?
I’ve undertaken some assessment of the degree of predictive error in both the Gompertz and Richards’ growth curve models. These charts compare the 7- and 14-day total case projections of the models, to what actually occurred in reality 7 and 14 days later. For interpretation, above the 0% error line means that the model provided an over-estimate compared to reality, and below the 0% error line an underestimate.
The Gompertz model is performing very well for projections up to 14 days.
Daily case trends
Comparison between the Gompertz and Richards’ growth curve model projections, along with smoothed data trends (7-day simple moving average, and GAM) with data up to 29 October 2021
The generalised additive model gives a descriptive “reality check” to the models. The GAM can be considered as an advanced smoothed trend of the daily counts.
What might we expect?
The NSW came out of lockdown on 11 October 2021 so there is now around two weeks of data that demonstrates the trend. We wouldn’t expect the trend of new cases to change at least until about 5 days after a policy change, as this is the shortest time an unsuspected transmission event could be detected. The current “4 plot” of the NSW data is below.
The simple moving average chart demonstrates a clear and obvious discontinuity at around 5-7 days after the lifting of the lockdown with new cases roughly staying at around 300 per day. Allowing for a discontinuity in the GAM confirms this trend. This is clearly different from the projections from both the Gompertz and Richards’ growth curve models that included data up to 15 October 2021.
It is likely that a similar pattern will be seen in Victoria, insofar that there will be a discontinuity in the trend. NSW has not seen an obvious rise in case numbers and hopefully that will be the case in Victoria.
Model summaries
Richards’ growth curve model
summary(model.r) Model fitted: Generalised logistic (ED50 as parameter) (5 parms) Parameter estimates: Estimate Std. Error t-value p-value b:(Intercept) -7.0157e-02 4.8065e-03 -14.5962 < 2.2e-16 *** c:(Intercept) 3.8679e+03 7.2929e+02 5.3037 6.396e-06 *** d:(Intercept) 9.5773e+04 2.6007e+03 36.8263 < 2.2e-16 *** e:(Intercept) 6.2572e+01 4.6495e+00 13.4578 2.172e-15 *** f:(Intercept) 2.2869e+00 6.1324e-01 3.7291 0.0006781 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 216.0019 (35 degrees of freedom)
Gompertz model
summary(model.g) Gompertz model - model.g Model fitted: Gompertz (4 parms) Parameter estimates: Estimate Std. Error t-value p-value b:(Intercept) -5.1039e-02 1.0969e-03 -46.528 < 2.2e-16 *** c:(Intercept) 6.3032e+03 2.6616e+02 23.682 < 2.2e-16 *** d:(Intercept) 1.0908e+05 1.8973e+03 57.492 < 2.2e-16 *** e:(Intercept) 7.4449e+01 3.2272e-01 230.696 < 2.2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 226.0524 (36 degrees of freedom)
Model projections of daily cases
model.g bootstrap simulation derivatives
[1] NA NA NA NA NA NA NA NA
[9] NA NA NA NA NA NA NA NA
[17] NA NA NA NA NA NA NA NA
[25] NA NA NA NA NA NA NA NA
[33] NA NA NA NA NA NA NA NA
[41] NA NA NA NA NA NA NA NA
[49] 459.3113 526.2676 597.3502 672.1203 749.8305 829.8016 911.5445 993.8777
[57] 1076.3535 1158.3063 1238.6729 1316.6171 1391.9435 1464.1807 1532.2743 1595.4159
[65] 1653.6107 1706.5895 1753.8665 1795.6591 1831.7807 1862.1044 1886.3484 1904.8000
[73] 1917.9444 1925.5051 1927.9903 1925.2248 1917.8427 1905.9795 1890.0120 1870.0692
[81] 1846.6322 1820.0220 1790.8098 1758.6136 1724.3744 1688.1955 1650.4078 1611.2427
[89] 1570.7129 1529.3976 1487.0596 1444.3901 1401.5635 1358.6346 1315.3682 1272.4670
[97] 1229.8778 1187.6760 1146.0362 1104.9928 1064.6998 1025.1660 986.4914 948.8386
[105] 911.8985 875.8838 840.8580 806.7502 773.7640 741.7122 710.7123 680.6547
[113] 651.6383 623.7516 596.8388 570.7907 545.7820 521.6799 498.4908 476.1499
[121] 454.6651 434.1115 414.3999 395.4560 377.3142 359.8891 343.2590 327.3355
[129] 312.0488 297.4505 283.5218 270.2042 257.4495 245.2581 233.6244 222.5104
[137] 211.9293 201.7949 192.1648 182.9571 174.1679 165.7912 157.8008 150.1768
[145] 142.9347 136.0149 129.4159 123.1309 117.1096 111.4217
Note: Day 89 = 31/10/2021; Day 97 = 8/11/2021; Day 105 = 16/11/2021; Day 113 = 24/11/2021; Day 121 = 2/12/2021; Day 129 = 10/12/2021; Day 137 = 18/12/2021; Day 145 = 26/12/2021
Want to know more?
Primary data source is from Victoria Government Department of Health for daily new cases. The analysis is performed using RStudio Cloud using R version 4.1.0.
Today’s charts
Data: au_covid_vic, au_covid
R code: models_vic, models