epinowcast / epidist

An R package for estimating epidemiological delay distributions
http://epidist.epinowcast.org/
Other
9 stars 3 forks source link

Create longer form DDD vignette #48

Open athowes opened 1 month ago

athowes commented 1 month ago

Goal

This issue is for creation of a longer form vignette. This vignette would show a fuller picture of the package's potential functionality than the getting started vignette. Here, DDD refers to documentation-driven development (#43).

Context

The package is undergoing refactoring. As part of the refactoring we will be editing existing functions and adding new functions. To help us make these choices we need to determine which user workflows we would like to support. Once way to do this is to start to write out those user workflows. This vignette serves as one way to do this.

Required features

Out of scope

Related documents

athowes commented 1 month ago

Requesting feedback on 1. issue design, and 2. contents of issue @kgostic @seabbs @parksw3

seabbs commented 1 month ago

This looks good to me. I think we might also want to consider:

kgostic commented 1 month ago

I agree with @seabbs. Structure of the issue looks great. Visualizing the delay and generating posterior predictions are both in scope and should be included.

Translating a fitted distribution to a pmf (this is most likely of my suggestions to be out of scope here) I would also like this to be in scope! I think it's important.

From our previous discussion, it sounded like the main blocker is that @seabbs would like the function used to convert the fitted pdf into a double censored (discrete) pmf to live in another yet-to-be-created package that doesn't require heavy stan dependencies. I'd propose just putting that function here for now or using an existing one from epinow2 or epinowcast until it can be moved?

seabbs commented 1 month ago

I'd propose just putting that function here for now or using an existing one from epinow2 or epinowcast until it can be moved?

Yes either this or just using a placeholder function name for now and seeing where we are when we get to this point

kgostic commented 1 month ago

@athowes, here's the relevant function from epinowcast: https://github.com/epinowcast/epinowcast/blob/e9a7a7cc9c2e02bab20491edea3bc0dc5ec2899b/R/model-module-helpers.R#L297

athowes commented 1 month ago

Generic question: after recieving feedback where I think I'd like to update the scope of the issue, is it better that I update the initial issue, or that I note that I'm updating the issue in a comment in the thread?

Adding:

Nice to have / with pseduocode:

seabbs commented 1 month ago

fter recieving feedback where I think I'd like to update the scope of the issue

I would typically update the initial issue with a note that I have done so and a link to the comment etc that motivated it. Not sure if there is a good practice guide for this but I like it as it makes it easier to find info when coming from a PR

seabbs commented 1 month ago

Posterior predictions for a single or both mod

You can plot the fit to the actual data as eval metric. We use this in the @parksw3 paper for the ebola case study I believe

parksw3 commented 1 month ago

Posterior predictions for a single or both models (this clarifies what I had "extracting posterior distributions" -- still unclear exactly what is being predicted here)

You can plot the fit to the actual data as eval metric. We use this @parksw3 paper for the ebola case study I believe

I feel there are several other ways we can visualize the posterior. In our paper, we show truncated mean vs empirical delay, but other people might prefer to see pdfs and cdfs?