Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

["model"] Check impact of latent period delay from infectious to hospitalized on model dynamics and forecasts #340

Open
PhilMiller opened this issue Mar 29, 2020 · 6 comments
Assignees
Labels
models Correct/improve the underlying models

Comments

@PhilMiller
Copy link
Collaborator

Summary

There's no a priori reason to assume that transition of a person from the Susceptible to Infectious states corresponds with immediate development of symptoms requiring hospitalization. If there's a separation in time, then the model may be mis-predicting spread in the region by initializing I based on present-day hospitalizations.

We need to check whether accounting for this affects relevant forecast outputs.

Additional details

Suggested fix

Shift the initialization from current hospitalizations to community infection rate back in time by a configurable latent_period, and then shift forecast admissions of newly-infected individuals forward in time by that same latent_period

@PhilMiller PhilMiller added the models Correct/improve the underlying models label Mar 29, 2020
@PhilMiller PhilMiller self-assigned this Mar 29, 2020
@PhilMiller
Copy link
Collaborator Author

I'm working through the algebra on this before throwing code at it.

@PhilMiller
Copy link
Collaborator Author

Post #273 I'm thoroughly convinced that when p.relative_contact_rate == 0 the forecast is the same regardless of a latent period L.

With non-zero social distancing taking effect at 'day 0' of the forecast, the change from beta to beta_t needs to have happened L days earlier. The timing of the slow-down in admissions and consequently census growth will be affected.

Given that forecasts can be run at any time relative to societal interventions, I think the right thing to do is to

  • specify a date on which to impose social distancing, rather than fixing it at 0 (i.e. 'today') in the forecast window
  • specify a latent period that controls an offset between new infection and hospital presentation, so that users in places where measures are taken late don't get a forecast that will miss the peak

@sloboy
Copy link

sloboy commented Mar 30, 2020

I think that the SEIR model is what you are looking for as a way to have exposed then infected:
It also talks about implementing social distance into the algorithm
https://towardsdatascience.com/social-distancing-to-slow-the-coronavirus-768292f04296

@PhilMiller
Copy link
Collaborator Author

SEIR doesn't really capture the effect of concern, though it may also be an important refinement. We're concerned here about a delay from a person entering the Infected state (from S in SIR or E in SEIR) to when they would present in a hospital for treatment if necessary. This is particularly of concern for the hospital forecasting model because we're estimating I and beta based on matching hospital observations. If there's a substantial gap between those, then the hospital's observations are going to be that length of time behind the infection dynamics, and so may see a sharper peak than otherwise, even before social distancing shows its effect.

@ckoerber
Copy link
Collaborator

In principle it might be possible to incorporate the delayed hospitalization effect in a similar spirit as SEIR:

My idea works as follows ("SIHR" like---inspired by a youtube video about modeling the epidemic and how early quarantine can significantly change the curve):

  1. Susceptible people S have a chance of becoming infected I (proportional to both previous susceptible and previous infected).
  2. Infected people have a chance of becoming recovered R (proportional to previous infected) and have a chance to be hospitalized H (proportional to previous infected and limited by hospital capacity H0)
  3. Hospitalized people (hopefully) are isolated enough that they do not infect others (thus no increase in I) and recover over time (proportional to previous hospitalized)

This idea introduces two new model parameters: the rate of infected people becoming hospitalized delta and the rate hospitalized people becoming recovered gamma_H.
Likely the recovery rates for infected people gamma_I and for hospitalized people gamma_H are relatively similar. There probably is also data for that.

The equations would look like this

S(t+1) = S(t) - beta S(t) I(t)
I(t+1) = I(t) + beta S(t) I(t) - gamma_I I(t) - delta I(t) Theta(H0 - H(t))
H(t+1) = H(t) + delta I(t) Theta(H0 - H(t)) +  - gamma_H H(t)
R(t+1) = R(t) + gamma_I I(t) + gamma_H H(t)

where Theta(H0 - H(t)) is the Heavieside step function (=0 if H(t) > H0 and =1 otherwise).

I would advocate doing a fit for parameters--possibly a Bayesian fit to prior parameters to measured rates.

I'd be happy to implement this. I have to say though, while I am familiar with model building and predictions, my expertise is not epidemiology. So please let me know if this concept is unreasonable.

@sloboy
Copy link

sloboy commented Mar 31, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
models Correct/improve the underlying models
Projects
None yet
Development

No branches or pull requests

3 participants