Extrapolations, anyone? Here are some of mine (see bottom for sources):
-----------------------------------------------------------------------------------------------
ABSTRACT
Forecasting the novel coronavirus COVID-19
Fotios Petropoulos ,Spyros Makridakis
Published: March 31, 2020https://doi.org/10.1371/journal.pone.0231236
Abstract
What will be the global impact of the novel coronavirus (COVID-19)? Answering this question requires accurate forecasting the spread of confirmed cases as well as analysis of the number of deaths and recoveries. Forecasting, however, requires ample historical data. At the same time, no prediction is certain as the future rarely repeats itself in the same way as the past. Moreover, forecasts are influenced by the reliability of the data, vested interests, and what variables are being predicted. Also, psychological factors play a significant role in how people perceive and react to the danger from the disease and the fear that it may affect them personally. This paper introduces an objective approach to predicting the continuation of the COVID-19 using a simple, but powerful method to do so. Assuming that the data used is reliable and that the future will continue to follow the past pattern of the disease, our forecasts suggest a continuing increase in the confirmed COVID-19 cases with sizable associated uncertainty. The risks are far from symmetric as underestimating its spread like a pandemic and not doing enough to contain it is much more severe than overspending and being over careful when it will not be needed. This paper describes the timeline of a live forecasting exercise with massive potential implications for planning and decision making and provides objective forecasts for the confirmed cases of COVID-19.
-----------------------------------------------------------------------------------------------
FOOTNOTE
The origin of the R0 of 0.1 in the curve above is based on the following analysis:
# Simplistic Julia extrapolation model to fit world data totals using LsqFit const K = 7_800_000_000 # approximate world population const n0 = 27 # starting at day 0 with 27 Chinese cases """ The model for logistic regression with a given r0 """ @. model(t, r) = (n0 * exp(r * t)) / (( 1 + n0 * (exp(r * t) - 1) / K)) # Source: https://ourworldindata.org/coronavirus#all-charts-preview # Daily world totals, including China and all countries ydata = [ 27, 27, 27, 44, 44, 59, 59, 59, 59, 59, 59, 59, 59, 60, 60, 61, 61, 66, 83, 219, 239, 392, 534, 631, 897, 1350, 2023, 2820, 4587, 6067, 7823, 9826, 11946, 14554, 17372, 20615, 24522, 28273, 31491, 34933, 37552, 40540, 43105, 45177, 60328, 64543, 67103, 69265, 71332, 73327, 75191, 75723, 76719, 77804, 78812, 79339, 80132, 80995, 82101, 83365, 85203, 87024, 89068, 90664, 93077, 95316, 98172, 102133, 105824, 109695, 114232, 118610, 125497, 133852, 143227, 151367, 167418, 180096, 194836, 213150, 242364, 271106, 305117, 338133, 377918, 416845, 468049, 527767, 591704, 656866, 715353, 777796, 851308, 928436, 1000249, 1082054, 1174652, ] # The initial data is for 97 days starting with day 0 = 31 December 2019 tdata = collect(LinRange(0.0, 96, 97)) # starting approximation for r of 1/2 rparam = [0.5] fit = curve_fit(model, tdata, ydata, rparam) # Our answer for r given the world data and simplistic model r = fit.param println("The logistic r for the world data is: ", r) println("The confidence interval at 5% significance is: ", confidence_interval(fit, 0.05)) println("Since R0 is about exp(G * r), and G is about 12, R0 ≈ ", exp(12r[1])) # Output: # The logistic r for the world data is: [0.11230217572265622] # The confidence interval at 5% significance is: [(0.11199074156706985, 0.11261360987824258)] # Since R0 is about exp(G * r), and G is about 12, R0 ≈ 3.8482792820761063
No comments:
Post a Comment