CDCgov / Rt-without-renewal

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

Analysis plan: v1.0 #1

Closed zsusswein closed 7 months ago

zsusswein commented 8 months ago

⚠️ This is a first draft of a basic analysis plan. The key pieces here are infrastructure to enable the different analyses, simulated data for validation of performance against known, and real data to examine relative performance under realistic real-world conditions.

Draft title: Evaluating the role of the infection generating process for situational awareness of infections diseases: Should we be using the renewal process?

Introduction

Background

There are a range of measures that are often used for situational awareness both during outbreaks of infectious diseases and for more routine measures. The most popular are short-term forecasts of available metrics, estimates of the instantaneous reproduction number, estimates of the growth rate of infections, and estimates of the number of infections themselves.

Often modellers implicitly assume that the generating process for infections should be specific to their target measure but in reality, these are decoupled, as highlighted by the use of renewal process models for forecasting. This means that there is a question as to whether different infection-generating processes have different characteristics concerning the target measures of interest.

For example, it has been argued that it is more efficient to estimate the growth rate directly and then estimate the effective reproduction number as a postprocessing step. However, little evaluation of this has been done and what work has been done has not explored the wider context.

Aim

We aim to explore the performance characteristics for situational awareness of different commonly used infection-generating processes within a commonly used discrete convolution framework. We do this by first defining a generic model framework, set of output measures, and candidate infection-generating processes and then evaluate these both in simulated scenarios and in a range of case studies.

Methods

Modelling

Generic model structure

We use the commonly implemented discrete convolution framework of EpiNow2, epidemia, epinowcast

We assume:

Latent infection-generating process

Simulation model

We use the generic model structure described above with a renewal process. To simulate noise in the infection process we assume additional Brownian noise for the effective reproduction number of XX.

Simulations

We test the following general scenarios:

We assume a delay distribution of motivated by .

We explore the following misspecification scenarios for the generation interval:

Case studies

Validation

Evaluation

Posterior prediction

Inference efficiency

Implementation

All code was implemented using a pull request-driven development process.

This work is implemented as:

For Julia we use:

For inference we:

Results

Validation

Say if it looked okay and reference SI

Overall

Simulated scenarios

Discussion

Limitations & further work

SamuelBrand1 commented 8 months ago

I would add to validation effect of bias on GI and effect of bias on reporting delay.

SamuelBrand1 commented 8 months ago

re: GP as a latent process... There are a lot of options here (including all the other options you listed if you specialize to a special class of splines!)...

zsusswein commented 8 months ago

Whoops only meant to put spline, not both!

kgostic commented 8 months ago

This is an annoying comment but I'm confused by the repo name. Only a few of these methods are "without renewal"?

SamuelBrand1 commented 8 months ago

Happy to change the name! @zsusswein what do you think a better name is?

seabbs commented 8 months ago

I think the distinction is between the analysis goal (do we want a renewal process in the model) and the underlying modelling package that will be used to achieve that goal (which is starting life as a subdirectory of this project with the design goal being that it would be trivial to spin out in the future). That underlying model package is the more general one and has the more general (as yet undecided by maybe epiawareness name)