CDCgov / Rt-without-renewal

https://cdcgov.github.io/Rt-without-renewal/
Apache License 2.0
12 stars 2 forks source link

Forecast function for `EpiAware` #243

Open SamuelBrand1 opened 1 month ago

SamuelBrand1 commented 1 month ago

Current state of code

As per #239 we have a neat forecast function for models which have had inference on some time span $(1, T)$. The posterior chain can be used to condition the sampling of the model extended to a longer time span $(1, T + n)$. This is used in the analysis pipeline.

Lack of generality

The problem here is that under the hood there are hard coded options, which reflect our analysis plan but are too specific to promote this function to EpiAware.

Pain points:

Proposal

If we can fix these pain points then we can add this nice functionality to EpiAware.

SamuelBrand1 commented 1 month ago

Worth noting that this forecast approach works for our use case but is not general!

https://github.com/TuringLang/Turing.jl/issues/2239#issuecomment-2144614352

SamuelBrand1 commented 1 month ago

Does this

Worth noting that this forecast approach works for our use case but is not general!

TuringLang/Turing.jl#2239 (comment)

suggest that we move towards not having vectorised calls? e.g. no MvNormal calls?

seabbs commented 1 month ago

Yes. Do you know what implications this has (performance / limiting flexibility etc?)

SamuelBrand1 commented 1 month ago

The main argument against would be AD performance; because known vector-form functions might have adjoints which are accessed rather than calculated.

SamuelBrand1 commented 1 month ago

Flexibility would only be improved.