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

Convert macpan-base paper to macpan2 #194

Open
3 of 16 tasks
stevencarlislewalker opened this issue Apr 11, 2024 · 2 comments
Open
3 of 16 tasks

Convert macpan-base paper to macpan2 #194

stevencarlislewalker opened this issue Apr 11, 2024 · 2 comments
Assignees

Comments

@stevencarlislewalker
Copy link
Member

stevencarlislewalker commented Apr 11, 2024

Questions

There are two things the original macpan-base ms does: describe the model and describe the modelling framework. Is this what we still want to do in the macpan2 version?

Tasks

We have this model in the model library, but it needs to be updated with the following.

Easy Modelling Tasks

These tasks I think I can just do -- no deep thought required.

  • switch x ~ x ... state updates (as in here) to explicit flows. (Done here b6a9fad)
  • accumulators (Done here a5bd883)
    • "cumulative hospital admissions (X), individuals in acute care after discharge from ICU (H2), and cumulative deaths (D)"
  • phenomenological heterogeneity (Done here a5bd883)
    • "parameter ζ, modifies the force of infection by a factor of (S(t)/N)ζ. Since 0 < S/N < 1, a positive value of ζ will make the force of infection decrease as the remaining fraction susceptible decreases, capturing the fact that the most susceptible individuals tend to be infected first, after which the average level of susceptibility in the remaining population decreases"
  • hazard corrected (and maybe RK4 now that we have it) steps
  • euler-multinomial steps
  • testing
    • See "Expansion to accomodate testing" in the paper
    • Do we need to do this given that Gharouni et al. already did it in an SIR framework?
  • log-linear time variation
    • piecewise time variation in beta (and others?)
    • power-law mobility modelling
    • B-spline time-variation (I think we should just do radial basis functions)

Medium Modelling Tasks

These tasks require or might require a bit of development, but no deep thought is required

  • lagged-differences
    • "compute incidences as time-lagged differences of accumulator compartments (for example, differencing accumulated deaths D to derive a mortality rate"
  • condensation and convolution
    • "Once the trajectories are computed, we reduce the full state vector to a more convenient, collapsed state vector in a step we call condensation, for example by summing all of the infectious compartments to a single I state vector, or collapsing the different acute-care (H , H 2) or ICU (ICUs , ICUd )"
    • "Our main use of convolution is to convert incidence—the force of infection where we typically set φ(i) to be a Gamma distribution with moments chosen to match empirical estimates of case-reporting delays."
    • "When computing case reports from incidence we also assume a case-report proportion c prop to account for the fact that the majority of COVID infections are never reported"
  • simulating observation error (can do this with calibration and calibrated models, but do we want to be able to do this for simulation models only?) (could be in easy??)
    • "After condensation, the model also allows us to add observation error, which we typically simulate from a negative binomial distribution with a variable-specific dispersion parameter"

Hard Modelling Tasks

These tasks require deep thought.

  • eigenvector stuff
    • state-vector initialization
    • R0, r, and Rt
    • generation interval moments

Tasks needing more elaboration

This set of tasks is not well-enough understood to decide the level of difficulty.

  • calibration to data
    • for the base model at least i think the data i need is clean_tsdata produced in calibrate_comb_setup
    • link function for parameters to be optimized so that they stay on the acceptable domain
    • priors (SW: what priors were actually used?)
    • "For the province of Ontario, Canada, in 2020 we calibrated to deaths, and new confirmations, all of which were available publicly."
    • Two different calibrations were made:
      • Base model -- This model calibrates to new confirmation and death time series and includes mobility with two additional breaks and phenomenological heterogeneity.
      • Testify model -- The second model extends the base model by incorporating the testing structure
    • The transmission rate was fitted as a function of time-varying intercepts and slopes on the mobility index
    • Two change points were included to allow the transmission rate to have a different intercept and slope with respect to the mobility index
    • SW: What is the complete list of parameters that got fitted?
    • SW: Should we just use RBFs to 'ensure' good fits?
  • forecasting

Writing Tasks

We also need to update descriptions of the general modelling framework to be consistent with macpan2, including the following.

  • Flow-matrix and rate-matrix
  • Inflow/outflow
  • Absolute versus per-capita rates
@stevencarlislewalker stevencarlislewalker self-assigned this Apr 11, 2024
12 tasks
@stevencarlislewalker
Copy link
Member Author

stevencarlislewalker commented Apr 11, 2024

We decided to not do a conversion, but rather a paper that takes macpan2 as a framework and (1) uses some of the above examples (e.g. Hazard/testing/etc) as things that you can do in the framework and (2) fits to the early Covid time series.

Still we will check off some of the boxes above even though we will not try to do them all.

@jfree-man
Copy link
Collaborator

80e79c5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🏗 In progress
Development

No branches or pull requests

2 participants