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

Implement interventions in models #3

Closed
3 tasks
jamesmbaazam opened this issue Apr 15, 2023 · 9 comments
Closed
3 tasks

Implement interventions in models #3

jamesmbaazam opened this issue Apr 15, 2023 · 9 comments
Assignees
Labels
enhancement New feature or request WIP Work in progress (keep an eye out)
Milestone

Comments

@jamesmbaazam
Copy link
Member

jamesmbaazam commented Apr 15, 2023

The current models do not include interventions. A necessary enhancement will be the inclusion of interventions in the model setup.

Conceptualisation

The interventions will impact how offspring are produced. This can be implemented as a reduction in $R_0$, some kind of "pruning" of connections, or a re-specification of the offspring and serial interval distribution to impact the number of offspring produced.

As an example, in the paper, "The impact of travel restrictions on COVID-19 cases in Hong Kong", the offspring distribution is specified as a conditional Poisson distribution with a mean that depends on physical distancing, the number of susceptible individuals in the population, the type of infection the infected individual has (asymptomatic, pre-clinical or clinical), and the number of days since the date of infection.

Implementation

We will implement generic interventions that:

  • Scale $R0$
  • Truncate the offspring distribution
  • Truncate the serial distribution

Literature

The following papers provide branching process models that include non-pharmaceutical interventions.

Non-pharmaceutical interventions:

Vaccination:

Other papers to consider:

@jamesmbaazam jamesmbaazam added the enhancement New feature or request label Apr 15, 2023
@jamesmbaazam jamesmbaazam transferred this issue from epiforecasts/bpmodels May 2, 2023
@jamesmbaazam jamesmbaazam changed the title Add methods for dispatching interventions Add model with "generic" intervention implementations May 31, 2023
@sbfnk
Copy link
Contributor

sbfnk commented Jun 6, 2023

One simple option would be to support truncating either the serial interval or the offspring distribution using the truncdist package, which is already imported for modelling susceptible depletion, and which supports the same syntax as used here in specifying random distributions by a character string (see also related discussion in #25).

@sbfnk
Copy link
Contributor

sbfnk commented Jun 8, 2023

The other thing that could be done would be the implementation of a reduction in transmission, i.e. the c from the supplementary notes of Lloyd-Smith et al., 2005, section 2.5.3.

@joshwlambert this could then be used to simulate individual-specific vs population-wide control, as in Fig. 3c of that paper.

@joshwlambert
Copy link
Member

@sbfnk @jamesmbaazam The use of the individual-level and population-level controls (c, from Lloyd-Smith et al.) would be useful. I'm currently working on exactly that for {superspreading} (see epiverse-trace/superspreading#13).

I'm using {bpmodels} for the simulation, but would be happy to move to using {epichains} if these features were included.

@jamesmbaazam
Copy link
Member Author

Some good discussions here. @joshwlambert please go ahead with {bpmodels} for now.

And just as we've done in the past with other vignettes, if new features/packages become available, the vignettes can either be modified to use them or compare the old and new. Both alternatives are useful for the user in my opinion.

@jamesmbaazam jamesmbaazam added this to the v0.1.0 milestone Jul 18, 2023
@jamesmbaazam jamesmbaazam changed the title Add model with "generic" intervention implementations Implement interventions in models Sep 11, 2023
@jamesmbaazam jamesmbaazam self-assigned this Sep 22, 2023
@jamesmbaazam jamesmbaazam added the WIP Work in progress (keep an eye out) label Sep 26, 2023
@sbfnk
Copy link
Contributor

sbfnk commented Nov 6, 2023

To be superseded by addressing #103

@jamesmbaazam
Copy link
Member Author

After some internal discussions, we agreed not to implement the intervention mechanism in this package but rather in the epidemics package, so this issue has been partly addressed here with the vignette in #106 will be closed.

@pratikunterwegs
Copy link
Collaborator

Hi, coming in here from the full package review #122 - I completely missed this exchange when it happened. Could you please include me when discussing developments related to {epidemics} and modelling generally? I would disagree substantially with the previous comment and especially the idea interventions would only be implemented in {epidemics}.

As far as I can recall, we agreed to see how interventions could be harmonised across the packages - having looked into {epichains} a bit more, I'm still not convinced that there should be deep technical harmonisation (i.e., shared classes, interdependency, etc.) - which makes it a bit odd that a whole feature has been considered necessary in this package, has been added, and then removed, without substantial discussion as to the pros and cons.

@jamesmbaazam
Copy link
Member Author

jamesmbaazam commented Dec 15, 2023

Hi, coming in here from the full package review #122 - I completely missed this exchange when it happened. Could you please include me when discussing developments related to {epidemics} and modelling generally? I would disagree substantially with the previous comment and especially the idea interventions would only be implemented in {epidemics}.
As far as I can recall, we agreed to see how interventions could be harmonised across the packages - having looked into {epichains} a bit more, I'm still not convinced that there should be deep technical harmonisation (i.e., shared classes, interdependency, etc.) - which makes it a bit odd that a whole feature has been considered necessary in this package, has been added, and then removed, without substantial discussion as to the pros and cons.

Alright, we will make sure to get your opinions in the new year when we return to this conversation.

@pratikunterwegs
Copy link
Collaborator

Hi James, just to gently point out that this seems to have been on the epichains channel, where I haven't joined. I don't mind the direction in which you take the package, and I'm happy for there to be one or multiple implementations of interventions, depending on what seems best for Epiverse needs - I am not opposed to interventions coming in in epichains as well, although this issue now appears to be superseded.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request WIP Work in progress (keep an eye out)
Projects
Status: Done
Development

No branches or pull requests

4 participants