CDCgov / CDCgov/PyRenew

Interface for counterfactual prediction

Open
#238 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

pyrenew
Dominant language
Python
Stars
29
Forks
9
Avg merge
9d 9h
Merged PRs (30d)
8

Description

May be out of scope for this project (or just for now), but @SamuelBrand1 points us to epidemia's interface for counterfactuals, which I think is cool. This is somewhat straightforward to implement, as we can build off of the built-in numpyro predictive functionality, but we would need to think about the interface.

I like the epidemia interface for prediction/counterfactual: https://imperialcollegelondon.github.io/epidemia/reference/posterior_predict.epimodel.html .
The tl; dr explanation is they fit an object (which contains posterior draws for the params) and then passing newdata can create forecasts (by being longer) and/or counterfactuals (by having different covariates like an earlier lockdown). Its demoed here, https://imperialcollegelondon.github.io/epidemia/articles/europe-covid.html .

Originally posted by @SamuelBrand1 in https://github.com/CDCgov/multisignal-epi-inference/issues/169#issuecomment-2191161181

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the built-in NumPyro predictive functionality and the linked epidemia prediction interface and example. Clarify whether PyRenew should support longer forecasts and changed covariates through newdata, then define the interface and its completion criteria with the project maintainers.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.