When folk estimated a herd immunity threshold, not only did many miss the importance of heterogeneity in transmission and susceptibility in lowering HIT, but they may have also missed important biases in how we estimate R0:

Thread:
Estimation of R0 essentially boils down to measuring an exponential growth rate. When cases go 1–>2–>4–>8 in days 0–>2–>4–>8, we measure R0 by noting the epidemic is doubling every 2 days, and incorporate some additional info on how long it takes for one person to infect another.
The time it takes for one person to infect another (the serial interval/generation time distribution) is reasonably well-estimated, but the way we estimate growth rates in cases/deaths may have biases if R0 is variable across regions.
We measured the growth rate of epidemics early on by looking at how fast cases grow in a country. The problem? Cases in a country quickly reflect the fastest-growing epidemic.

If you measure temperature in a room with a fire and an explosion, T quickly looks like the explosion.
Cases early in the epidemic were from densely populated metropolitan areas: Wuhan, Milan, New York City, the whole NE corridor megalopolis, etc. So, measuring R0 early in the epidemic likely runs the same risk as measuring IFR from cases: we’re biased towards observing the worst.
Mathematically, this is a consequence of measuring growth rates in pooled counts. I showed this effect in the SI of a paper on how to infer the rate of spillover when pooling events from multiple sources - our inferences look like the dominant source.

royalsocietypublishing.org/doi/10.1098/rs…
Consider epidemic i with expected cases on day t, x(i,t). When we estimate growth rates of counts for epidemic i via our usual tools (generalized linear models and their relatives), we estimate

r(i,t) = log(x(i,t))

But when we pool cases, they have mean

X(t)=x(1,t)+...+x(n,t)
And when we estimate how X(t) grows exp’ly, we estimate

r(t)=log(X(t))
=log(x(1,t)+...+x(n,t))
=log(exp(r(1,t))+...+exp(r(n,t)))

The right side above looks ugly but it has a name + intuition: it’s called the LogSumExp function, and it’s a kind of a “smooth maximum”.
The smooth maximum functions take a set of values, such as exponential growth rates, and outputs something like the maximum.

en.m.wikipedia.org/wiki/Smooth_ma…
Imagine you bought a portfolio of three stocks, and one earned +8% a year while the other two +2%. As your fast-growing stock dominates your portfolio, your portfolio’s average growth and day-to-day jumps would begin to resemble that of the maximum. Same idea!
When we measured R0 early in the epidemic, our estimates looked more like the “maximum” epidemic - that with the fastest growth rate.

Not only should we be suspicious about HITs estimated assuming homogeneity, but we should also revisit R0 given likely biases in early estimates.
Deaths in NY doubled every 2.6 days in March, whereas WA, CA doubled far slower. Japan doubled every 7 days. Different places & people clearly have different r(i,0) + R0 and consequently different HITs, and our early estimates may have been biased towards the maximum/worst cases.
For a simple take home: the growth rate of an average/pool of exponentially growing processes is not equal to the average growth rate.

The R0 of the average epidemic isn’t the average of the R0s, it’s more like the highest R0 in the set.

Science!!!
PS mad respect to @mlipsitch for writing excellent papers on r(0) and R0. Wallinga & Lipsitch (2007) is a classic, showing 1/R0 is the Laplace transform of the serial interval distribution evaluated at the exponential growth rate (AKA Lotka-Euler eq’n).

ncbi.nlm.nih.gov/pmc/articles/P…

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Alex Washburne

Alex Washburne Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @Alex_Washburne

12 Sep
My ideal COVID pandemic:

China: Folks, there’s a virus, we’re going to be trustworthy and transparent, and we’ll need all the help we can get.

World: Shit, virus sucks. Can we stop it?

<presymptomatic transmission, high R0, spills out of China>

Epis: Unlikely...
World: okay, so how bad is it?

Epi: (Jan) We don’t know, but depends on age etc (Feb) but repatriated traveler surveys suggest IFR is much less than CFR from China (Mar-Sept). Let’s put that risk into context - here’s how it compares to smoking, driving a car, flu, malaria, etc
World (Feb): okay, shit. That super sucks. How can we reduce transmission?

Epi: Omg so many options. We don’t know, here’s our relative confidence in all these different types of measures
Read 11 tweets
12 Aug
I feel like everyone may read this in their own way with blame on others - some blaming pre-prints for rocking the PH boat and others blaming a failure to consider the PH costs of interventions and stubborn priors.
From my vantage point, the greatest harm was caused by our collective failure to deliberate, which was reinforced by very strong political pressuring inside the academy, stopping science discussion on account of fears of public health consequences.
I’ve been told I’d be responsible for the deaths of millions, had colleagues - professors from elite universities unfollow, stop responding to emails, and some even call funding agencies (they had direct line to heads of funding agencies thanks to their power) to interfere.
Read 18 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!