All the good stuff, caveats, and explanations in linked in Update II, so go there first if you haven’t seen it yet.
Signs & Symptoms
Skip to the next section if you want the numbers. Else let’s start with this:
COVID-19 may have both respiratory and fecal transmission: While a sneeze by someone with a respiratory disease can only infect others within a few meters, virus-laden gaseous plume from infected person with diarrhea can infect others up to 200 meters. https://t.co/gLbh4TYuAB
— Nicholas A. Christakis (@NAChristakis) February 24, 2020
As I pointed out elsewhere, “gaseous plume” is never a cheerful phrase.
Second, to avoid the suspense, the new flu numbers from the CDC (as of 22 February).
CDC estimates that so far this season there have been at least 32 million flu illnesses, 310,000 hospitalizations and 18,000 deaths from flu.
Maybe up to ~20,000 by now. In the USA alone. A crude, don’t-believe-it, useless almost-certainly wrong worldwide estimate is ~300,000 for the year (extrapolating from our population to the world). Anyway, the real number will be higher than 20,000. Coronavirus after a couple of months is 3,000 in the entire world.
CDC flu pic (weeks on x-axis):
On the way down!
Now take a look see at this pic, unearthed by physician Christos Argyropoulos of a similar coronavirus outbreak in Michigan (the best state) back in the 1960s.
This was in a small area with a monitoring program in place. What’s interesting to us is that secondary peak, coming well after the main one. Now this is a small sample, and small samples are variable, but then all numbers are caused, so that this peak is real, we just don’t necessarily know all the causes.
Here’s various flu seasons:
It will be surprising if the coronavirus doesn’t fit this shape.
And as we have been pointing out, SARS was much the same as coronavirus COVID19: an initial peak in the hot zone, followed later by a secondary peak with higher estimated mortality rates outside the hot zone. Canada was particularly hard hit. Washington State may be our Canada.
The double peak we’re experiencing in current cases, to be shown in a moment, isn’t entirely the same kind of thing. We’ll get the secondary outbreak, but with this data we also have this thing called a media-induced panic. This is causing many who ordinarily would not go to get checked, to go to get checked, resulting in many marginal cases added to the total. Look to Italy, which is now testing like mad, and because of that we have a big blip of new casts.
I’ve asked around but I haven’t had anybody chime in on whether the rough tests to diagnose this novel coronavirus, the COVD19, is picking up ordinary cold coronaviruses, and vice versa. Since tests are always imperfect, this has to be happening. I did read that lung x-rays were used in some places as diagnostic, which would misidentify flu, but maybe that’s rumor, and I haven’t been able to rediscover the source.
If the media panic is real what we’ll see is a secondary peak higher than the one we ordinarily expected. The ordinary one is what we’d see when the infection moves out of the hot zone to other areas, usually infecting mostly sicker patients, hence areas outside the hot zone have higher fatality rates. The way we’ll know the secondary peak is hype induced is if fatality rates don’t track.
Of course, fatality rate peaks necessarily lag cases peaks: you have to get sick before you die. So watch for the deaths to start increasing again. You won’t miss it. The media will be right on it.
Incidentally, here’s a story of a 60-some-year-old who got the virus on that cruise ship. He’s doing fine and recommends not panicking. “I breathe easily, and I don’t have a stuffy nose. My chest feels tight, and I have coughing spells. If I were at home with similar symptoms, I probably would have gone to work as usual.”
This Bloomberg writer takes an opposite approach:
In the grip of a new infection spreading around a planet with no natural immunity, it can feel like the sky is falling. Over the coming months, it’s likely that a significant share of the world’s population will experience some of the dread of the Covid-19 coronavirus that people in China have suffered over the past few months. Many will die.
All the cancellations, hoarding, and what not you will have already heard about. My idea is that many companies are ceasing business travel because (a) many other companies are canceling, and (b) if any employee gets sick, it’s lawsuit city. This adds to the hype.
Before we get to the numbers, here’s an excerpt from a new NEJM article on the virus.
On the basis of a case definition requiring a diagnosis of pneumonia, the currently reported case fatality rate is approximately 2%. In another article in the Journal, Guan et al. report mortality of 1.4% among 1099 patients with laboratory-confirmed Covid-19; these patients had a wide spectrum of disease severity. If one assumes that the number of asymptomatic or minimally symptomatic cases is several times as high as the number of reported cases, the case fatality rate may be considerably less than 1%. This suggests that the overall clinical consequences of Covid-19 may ultimately be more akin to those of a severe seasonal influenza (which has a case fatality rate of approximately 0.1%) or a pandemic influenza (similar to those in 1957 and 1968) rather than a disease similar to SARS or MERS, which have had case fatality rates of 9 to 10% and 36%, respectively.
The efficiency of transmission for any respiratory virus has important implications for containment and mitigation strategies. The current study indicates an estimated basic reproduction number (R0) of 2.2, which means that, on average, each infected person spreads the infection to an additional two persons. As the authors note, until this number falls below 1.0, it is likely that the outbreak will continue to spread.
The mortality rate is highest in the elderly and sick, as expected. This is not killing off healthy individuals.
The naive model we’ve been using is breaking down, since it’s not designed to capture secondary peaks. The total model won’t be too terrible, but the daily cases and deaths will suffer. The cases more than the deaths, since we haven’t got to the secondary peak in deaths yet.
Make sure to use the unlogged y-axis transform, and the secondary peak in the case totals is obvious:
Here’s the daily cases, with the naive model overlaid. Completely missing the secondary peak.
The daily deaths, as we guessed, are so far fine:
These should re-peak in a few days when the worst of the new cases pass on to final judgement. Now I also ran the death rate estimate, which was ramping up to the point of the secondary peak, then began falling, as expected, because we’re adding marginal cases.
Here is a piece-wise model, which uses the naive in two segments; i.e. the same logistic model from start to a few days ago, then a new one starting there until now and into the future. I used my eye to pick the point. You can try other points.
This is not a good model: it’s a quick-and-dirty hack and all I had time to do. Maybe by next week I can get something better. Let’s see how it works. Replace the model code with this:
d.g = 35 # same now for both cases and deaths; step-wise point, chosen by eye x.1 = x[1:d.g,] x.2 = x[(d.g+1):nrow(x),] fit.1 <- nls(actual.cases ~ SSlogis(day, phi1, phi2, phi3), data = x.1) fit.2 <- nls(actual.cases ~ SSlogis(day, phi1, phi2, phi3), data = x.2) p.cases.1 = predict(fit.1, data.frame(day=1:d.g)) p.cases.2 = predict(fit.2, data.frame(day=(d.g+1):(dim(x)+days.ahead))) fit.1 <- nls(actual.deaths ~ SSlogis(day, phi1, phi2, phi3), data = x.1) fit.2 <- nls(actual.deaths ~ SSlogis(day, phi1, phi2, phi3), data = x.2) p.dead.1 = predict(fit.1, data.frame(day=1:d.g)) p.dead.2 = predict(fit.2, data.frame(day=(d.g+1):(dim(x)+days.ahead))) l = length(1:(dim(x)+days.ahead) ) d = seq.Date(as.Date(x[1,1]), length= l, by='day' ) x[1:l ,1] = d x$p.cases = c(as.numeric(p.cases.1),as.numeric(p.cases.2)) x$p.dead = c(as.numeric(p.dead.1),as.numeric(p.dead.2))
The gives these update pictures:
It's a bit early in the secondary peak, so the model has it soaring off into the great beyond. This makes it extremely conservative, forecasting the end sometime in April. This is in line with CDC flu trajectories, which guess about two months more. A nice northern hemisphere warm spell before then would help. Sunlight being the best disinfectant is not just a metaphor.
Cases show a reasonable drop off. We'll see.
Notice we used the same date for the departure point for daily cases and daily deaths, even though we know deaths must lag. Deaths haven't really started to re-peak. The step-two model can be changed in the obvious way when we notice it.
Let's give this new model a week and see how it does.
Clockwise or counter-clockwise
Which direction do you run when panicking?
Look at the numbers inside China. Yes, they may be lying, but, yes, they may be telling the truth. Cities in China are closer to the hot zone than, say, we in the States are.
How many cases in the densely populated Beijing? 413. How many deaths? 8. Two percent. Shanghai, which is closer to Wuhan, has 337 cases, 3 deaths. And this is after months of exposure at the end of winter.
There about 90,000 cases, 80,000 of which are in China. South Korea (where that death cult purposely spread the virus), Italy, and Iran comprise the bulk of the remaining.
The closer to Wuhan, the worse it is. But daily numbers are not increasing as they have been there.
It can't be emphasized enough that flu is worse. But we live with flu and scarcely think of it. When we hear of a flu death, we shrug. It's natural. Not welcome: but part of the backgroun.
Same thing might happen with COVID19. It might seasonally recur. SARS might have, too. Not too likely with COVID19 because the mortality rate is higher than flu. A disease which kills a lot of people fast is more likely to burn out than one that kills many more slowly, like flu. And, yes, the common cold----which is sometimes a coronavirus (not COVID19)---which also kills, but at a low rate.
To support this site and its wholly independent host using credit card or PayPal (in any amount) click here