In earlier sessions we used statistical models such as ARIMA that find patterns in the reported series and project them forward.
The time from one infection (person A) to the next infection it causes (person B) is the generation time, a distribution \(g(t)\).
It describes how the infections caused by one person are spread out over the days after they are infected.
Infections today depend on infections in the past, weighted by the generation-time distribution and scaled by \(R_t\).
\[ I_t = R_t \times \sum_{t' < t} I_{t'}\, g(t - t') \]
\[ y_t = \sum_s \phi_s\, y_{t-s} + \varepsilon_t \]
\[ I_t = \sum_s R_t\, w_s\, I_{t-s} + \iota_t \]
We never observe infections directly. Each infected person is reported some days later, after an incubation period and a reporting delay. Individual delays vary, and together they form a delay distribution.
The population at risk is finite.
As susceptibles run out, the effective reproduction number falls below \(R_0\) even with no change in behaviour.
\[ R_t = \frac{S_{t-1}}{N}\, R_0 \]
estimate_infections() fits the renewal infection model, the delay convolution, and the observation model together in Stan.
Epidemiologically-motivated forecasting