cmu-delphi / cmu-delphi/epipredict
SIR model
- Dominant language
- R
- Stars
- 18
- Forks
- 13
- Avg merge
- 21d 58m
- Merged PRs (30d)
- 1
Description
I've been toying with the following SIR-type model in my head, and I want to write it down. The goal is to encapsulate as much of the standard epidemic structure in some time varying parameters. Let `I_t` be infections at time `t` and `c_t` be new reported cases at time `t`. We do this in discrete time.
Suppose that the infection model is:
```
I_{t+1} = b_t * I_t * e_t
log(b)_{t+1} = log(b)_t + v_t
v_{t+1} = v_t + z_t
z_t ~ N(0, sigma_z)
```
In the standard SIR, we usually have `I(t)' = bS(t)I(t)-gI(t)`, which yields `r(t) = bS(t)-g`. So we can think of `b_t` above as being "like" `(1+r(t))`. So we're saying that `log(r(t))` varies slowly. The specification with the time varying `v` is very similar to putting 2nd-order AR behavior on `log(b)`. Then we model cases as linear in past infections:
```
c_t = P * I + f_t
f_t ~ N(0, sigma_f)
```
Here, I is some vector of past infections (say last 21) and P is a weight vector. So this part looks much like Maria's nowcasting model.
---
1. I suspect that "folding compartments into b_t" means that this structure encapsulates lots of models. I have more to think on how exactly it relates. (multi-strain, SEIR, etc.)
2. Fitting is non-trivial. My goal would be to avoid MC as much as possible. I'm hoping that this can be fit with the unscented Kalman Filter (and that that is relatively easy).
3. I would probably set P deterministically, say with a Gamma distribution. The parameters of that could also be but into the state equation, but that makes avoiding MC harder.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.