21
$\begingroup$

The objective is the model the growth rate of the Coronavirus using avaibale data. As opposed to the standard epidemiology models such as SIR and SEIR, I tried to model a direct relation between the number of infected or deaths as a function of time so as to capture the early days trends. I collected the latest data on the coronavirus from Johns Hopkins University as shown and fitted different curves to this data to model the relationship between the number of confirmed patients $P$ who are/were infected as function of time $T$ taking 20-Jan-20 as day 1.

enter image description here

enter image description here

The curve fitting software I used has well known models form different branches of science as well as we could build our own custom models which I did as shown in the image below. The score against the name of a model gives how well a model fits this data. The higher the score, the better the fit and the maximum possible score is 1000. Although we have data only for 18 days (as of 7-Feb 2 AM GMT) one model always kept appearing at top as the best fit and this was the vapor pressure model. After checking for various boundary conditions, I rejected many of models but I could not find any immediately reason to reject the vapor pressure model. Similarly when I modeled the number of reported deaths against time, the vapor pressure model once again gave the best fit which for which I could not find any obvious reasons to reject.

enter image description here

So I did some research on the vapor pressure model.

Basic concept of vapor pressure Because the molecules of a liquid $L$ are in constant motion and possess kinetic energies, at any moment some fraction of them has enough energy to escape from the surface of the liquid to enter the gas phase. This process, called evaporation, generates a vapor pressure $P_L$ above the liquid. Molecules in the gas phase can collide with the liquid surface and reenter the liquid via condensation. Eventually, a steady state is reached in which the number of molecules evaporating and condensing per unit time is the same, and the system is in a state of dynamic equilibrium. Under these conditions, a liquid exhibits a characteristic equilibrium vapor pressure that depends only on the temperature $T_L$. Volatile liquids are liquids with high vapor pressures, which tend to evaporate readily from an open container; nonvolatile liquids have low vapor pressures. When the vapor pressure equals the external pressure, bubbles of vapor form within the liquid, and it boils. We can express the nonlinear relationship between vapor pressure and temperature as an almost linear relationship using the Antoine equation.

$$ P_L = exp\Big(a + \frac{b}{T_L} + c\log T_L\Big) $$

Next I did some research what is known about how the coronavirus spreads and if it is related to liquids. Here is what I found.

How coronavirus spreads: When an infected person coughs or sneezes, they shed droplets of saliva, mucus, or other bodily fluids. If any of those droplets fall on you—or if you touch them and then, say, touch your face—you can become infected as well. Hospital for communicable diseases define exposure as being within six feet of an infected person for 10 minutes or longer. Time and distance matters.

The coronavirus spreads when it escapes from an infected person through microscopic droplets of liquid carrying the virus through air. I wonder this has anything to do with why the vapor pressure model keeps coming on the top as the best fit even though there is no apparent pressure or temperature as in the vapor pressure equation and I cannot see how they could be elated. May be all this just a mere coincidence.

As a bad scientist but a concerned human, I thought I must report this observation in case there is anything worth in it.

Question: My objective was mainly for reporting this given the seriousness of the situation. But since the community rules mandates a question, it I will ask one. Given this limited data what can we infer about the corona virus and how can we reject the vapor pressure model as a mere coincidence.

Note 1: I will be posting this in the Physics community where it is more relevant. But with 638 deaths in the last two weeks, I have posted it in MSE just in case someone else might find it useful.

Note 2: I am well aware of spurious correlation. But with only 3 weeks of data, we many not be able to detect a different trend this early. Hence I am reporting the best fit regardless.

$\endgroup$
  • 1
    $\begingroup$ I am curious how well the empirical curve matches the initial segments of the curves of infected individuals in SIR and especially SIS models. Visually they look pretty similar. Could it be that the Antoine curve happens to be a good fit for those in the early stages of an epidemic? $\endgroup$ – Conifold Feb 7 at 6:37
16
$\begingroup$

What you have here is a severe case of overfitting. You only have 18 data points and you test a large variety of different models each of which has several free parameters. One of these models with optimized parameters will fit you data very well, regardless of what the data looks like.

The number of death is growing and there are various medical models telling you what a typical infectious disease spread looks like. Trying to do better than this with the little data available does not lead to useful new insights. In spite of the excellent fit for the data observed so far, there is no reason to believe your model is better at predicting the future than any of the models public health researchers usually use for these kind of situations.

$\endgroup$
  • 1
    $\begingroup$ Well the 18 data points is something that we have to live with since we can at best get only one new data point per day. On the other hand waiting for more data is not a option in this situation because of the need to forecast the impact of the virus in my daily job (tourism). So despite its limitations, we have to work with whatever data we have. So I had to take inspiration from Gauss who accurately predicted the position of Ceres using data points on only three days and ended up inventing least square regression :-) $\endgroup$ – Nilotpal Kanti Sinha Feb 7 at 10:24
  • 3
    $\begingroup$ @NilotpalKantiSinha I know you can't easily get more data. But the conclusion should be that you can test only very few very simple models and anything beyond that just doesn't give reliable predictions. Of course you can say that your model fits the existing data very well. But with this few data points you can't make any good reliable predictions into the future, no matter what. So using the knowledge from previous epidemics is much better than overfitting the little data we have on teh Coronavirus. $\endgroup$ – quarague Feb 7 at 10:36
  • $\begingroup$ Ob. xkcd: xkcd.com/882 $\endgroup$ – Eric Towers Feb 7 at 14:50
  • 2
    $\begingroup$ @EricTowers I was actually thinking about that one xkcd.com/2048 $\endgroup$ – quarague Feb 7 at 14:52
  • $\begingroup$ Overfitting is indeed a concern due to limited data. However, it's neat to think about vapor pressure and then watch these simulations. Some dynamics of both systems may be comparable to one another. $\endgroup$ – TrinitronX Apr 3 at 4:30
7
$\begingroup$

Interesting post, for sure and surprising connection.

Being myself a thermodynamicist, who even proposed new functions for a very accurate representation of vapor pressure data, let me first mention that Antoine vapor pressure equation $(1888)$ is $$P=\exp\left(A-\frac B {T+C}\right)$$

Using your data and this simple model, What I obtained for the infected total is $(R^2=0.999621)$ $$\begin{array}{clclclclc} \text{} & \text{Estimate} & \text{Standard Error} & \text{Confidence Interval} \\ A & 13.6535 & 0.25257 & \{13.1118,14.1952\} \\ B & 88.3663 & 11.0305 & \{64.7083,112.024\} \\ C & 8.68845 & 1.34392 & \{5.80604,11.5709\} \\ \end{array}$$

For the total death $(R^2=0.999952)$ $$\begin{array}{clclclclc} \text{} & \text{Estimate} & \text{Standard Error} & \text{Confidence Interval} \\ a & 10.1450 & 0.11151 & \{9.90409,10.3859\} \\ b & 111.556 & 5.61749 & \{99.4201,123.692\} \\ c & 12.2667 & 0.62668 & \{10.9128,13.6205\} \\ \end{array}$$

$$\left( \begin{array}{ccccc} \text{day} & \text{given} & \text{predicted} & \text{given} & \text{predicted} \\ 1 & 282 & 93 & & \\ 2 & 332 & 218 & 6 & 10 \\ 3 & 555 & 443 & 17 & 17 \\ 4 & 653 & 804 & 25 & 27 \\ 5 & 941 & 1337 & 41 & 40 \\ 6 & 2040 & 2075 & 56 & 57 \\ 7 & 2757 & 3044 & 80 & 78 \\ 8 & 4464 & 4266 & 106 & 104 \\ 9 & 6087 & 5755 & 132 & 134 \\ 10 & 7805 & 7519 & 170 & 170 \\ 11 & 9818 & 9560 & 213 & 211 \\ 12 & 11353 & 11876 & 259 & 257 \\ 13 & 14473 & 14461 & 304 & 308 \\ 14 & 17383 & 17305 & 362 & 364 \\ 15 & 19888 & 20398 & 426 & 426 \\ 16 & 23912 & 23725 & 492 & 492 \\ 17 & 27627 & 27272 & 565 & 563 \\ 18 & 30865 & 31024 & 638 & 639 \end{array} \right)$$ which is quite good for large values (this is normal in the least square sense).

However, jus as for vapor pressure data, it is much better to fit the logarithm (this corresponds to the minimization of the sum of the squares of relative errors). Redoing the work, we have $(R^2=0.999650)$ $$\begin{array}{clclclclc} \text{} & \text{Estimate} & \text{Standard Error} & \text{Confidence Interval} \\ A & 16.4712 & 1.37221 & \{13.5281,19.4143\} \\ B & 221.704 & 74.0667 & \{62.8467,380.561\} \\ C & 18.9290 & 4.38144 & \{9.53179,28.3263\} \\ \end{array}$$ and $(R^2=0.999780)$ $$\begin{array}{clclclclc} \text{} & \text{Estimate} & \text{Standard Error} & \text{Confidence Interval} \\ A & 9.08877 & 0.26919 & \{8.5072,9.6703\} \\ B & 69.0240 & 8.37271 & \{50.936,87.112\} \\ C & 7.68364 & 0.87755 & \{5.7878,9.5795\} \\ \end{array}$$

$$\left( \begin{array}{ccccc} \text{day} & \text{given} & \text{predicted} & \text{given} & \text{predicted} \\ 1 & 282 & 210 & & \\ 2 & 332 & 357 & 6 & 7 \\ 3 & 555 & 579 & 17 & 14 \\ 4 & 653 & 900 & 25 & 24 \\ 5 & 941 & 1348 & 41 & 38 \\ 6 & 2040 & 1954 & 56 & 57 \\ 7 & 2757 & 2754 & 80 & 80 \\ 8 & 4464 & 3783 & 106 & 109 \\ 9 & 6087 & 5080 & 132 & 141 \\ 10 & 7805 & 6684 & 170 & 179 \\ 11 & 9818 & 8635 & 213 & 220 \\ 12 & 11353 & 10972 & 259 & 266 \\ 13 & 14473 & 13734 & 304 & 315 \\ 14 & 17383 & 16957 & 362 & 367 \\ 15 & 19888 & 20680 & 426 & 422 \\ 16 & 23912 & 24934 & 492 & 480 \\ 17 & 27627 & 29751 & 565 & 540 \\ 18 & 30865 & 35162 & 638 & 603 \end{array} \right)$$

It is sure that, for extrapolation needs, the first model would be more suitable.

$\endgroup$
1
$\begingroup$

I chose the polynomial with the best-case R² or non-negative growth rate in the case of Mainland China 0.3%/6days vs 100% growth/6ays for ROTW.

This is based on John Hopkins Univ. (JHU) global data. using Curve fit with LibreOffice Version: 6.4.0.3 (x64) enter image description here

enter image description here

I realize predicting beyond 2 wks is about as accurate as predicting bad weather.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.