Nice post! I'm glad you had better success fitting the data than I did, and the comparison of several countries with quite varied mitigation strategies is interesting.
I'm still concerned that the total population has to be made so small, and we should be able to devise a model that effectively reduces the number of susceptible individuals in a mechanistically plausible manner.
The time delays, in principle, replace the duration of infection and time to death, and therefore the rate constants [Gamma] and [Mu] shouldn't be needed. Have you tried fitting the data without them?
Looking at the summary table, [Gamma] isn't much greater that [Mu], only a factor of 15-30 for the different fits, so the equation for I should still include the term for death. Did you try modeling without making that assumption?
It seems that mathematician like to make these kinds of simplifications so that the system can be linearized, and additional statements about steady states and stability can be made more easily. With the capabilities of WL, I don't think that's necessary and we can get sufficiently accurate answers to those questions with simulation. Sometimes these simplifications are made to reduce the number of parameters, but again it's almost trivial to get sensitivities and and one can still maintain sufficient rigor in parameter fitting by making use of proper identifiability analysis.
Thanks Robert! I share your concern about the reduced total population, something I briefly comment in the Discussion, and I’ve been thinking about ways to do it in a less artificial way, but still working on it. I thought about sharing the results of this approach, just to show its pros and cons.
I haven’t tried what you are suggesting, I will check and comment you back soon, in a few days :-)
Forgot to mention, I did try to include the mu term in the infectious equation but it was very unstable, so in the end I thought did not worth the trouble.
Hi Robert & Luis --
I think the instability is due to the way you've formulated the delay. Instead of individuals leaving the infected pool at rate I[t-tau], I think you need something like eq. (5.1) in this paper, although they put a fixed duration in E, not I.
Thank you for the reference Christopher! I downloaded it already to check it out. I will comment further afterwards, if I can make some progress with this other approach.
I do not think using I(t)*S(t) makes much sense in a locked-down environment. Might make more sense to work with log(s), as a surrogate for average number of contacts made by a person per day. This would need to be localized to e.g. city/town levels to account for differences in population densities.
It might work, I tried different nonlinear terms but I didn't think on using log(S), thank you for the feedback, I will check it out!
Excellent, you have in a sense rediscovered what I proposed in my post a couple or more months ago (https://community.wolfram.com/groups/-/m/t/1904319), that using delays works best - although it makes the fitting more time consuming - and you have taken it one step further. I haven't posted the notebook that makes the automatic fits, so it is good that you do! I just haven't had time. In my post I discuss (in a discussion with Robert Nachbar) why the population has to be small. An article is forthcoming.
You should make a mental note that models which fit the epidemiological data as you propose (if I understand you correctly, as you do not really discuss what your data are) are not truly epidemiological models. For that you need to consider an alternative way of fitting the data in which the detected infections are matched to the R curve of the models (since you effectively put those individuals into quarantine and remove them from the infection chain). It is also possible to do that and get good fits (you can see that in my post).
And you can make models that fit the fatalities data as well in a similar vein (I owe the explanation for this and for why it works).
By the way, you can eliminate the manual guessing of initial values for the minimization procedure by automatically honing in on the right values, to the precision you want. It takes a long time to find the values like this (4 hours in case of the simplified SIR with delay model I use the most).
Thank you Enrique! You make very interesting points, I started to read your post but it will take me a while to process it because it has so many updates and material spread in the comments, and the long discussion section in there seems very relevant too. The first thing I noticed is that in your model you make different simplifications to the “full” delayed set than I did, but they both give reasonably good fits. I hope you can add soon the code to learn how you dealt with the fit problem. I had my own code spread over a dozen files, so if you work like me, I understand its complicated to gather the essential parts in one single presentation.
I agree with you that what we have developed is a “model of the data” and conclusions about the epidemic characteristics are not straight forward and must be done with care. For example, the derived periods include the time it takes to report, which in some countries can be considerable. Some case detections are done with (cheaper) tests that measure antibodies after you are almost recovered. Others with the PCR method which detects genetic parts of the virus and therefore works even in very early stages of the disease, when still latent. The latter will have little chance to infect others from a strict quarantine, but the first probably already did. On top of that, there is strong evidence that the large majority of cases are asymptomatic, and to our knowledge they are also capable to infect others, to some extent. One might think of the detected, symptomatic cases as the tip of the iceberg that gives you a measure, a “tracer” of the total infectious population. In that sense, I believe the I-curve does represent the infectious group to a good approximation.
I look forward to read your take on why the population size has to be small. I wish this could be derived from the level of stringency and ultimately to have a model that helps you find a cost-effective optimum level for these measures.
-- you have earned Featured Contributor Badge
Your exceptional post has been selected for our editorial column Staff Picks http://wolfr.am/StaffPicks and Your Profile is now distinguished by a Featured Contributor Badge and is displayed on the Featured Contributor Board. Thank you!