-
Notifications
You must be signed in to change notification settings - Fork 33
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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
Fit to multiple time series and fold in secondary model #313
Comments
If #307 is eventually merged one could then perhaps also have covariates or a GP prior on e.g. the scaling factor. |
Proposed interface for specifying multiple observation processes (building on #363): Multiple delays can already be named with delay = c(incubation_period = dist_spec(...), reporting_delay = dist_spec(...)) Observation processes could then similarly be concatenated obs = obs_opts(c(hospitalisations = obs_spec(...), deaths = obs_spec(...) where |
This part seems key. The alternative would be to make I am happy with the proposal of identifying delays in the observation module. Some thought is needed about what this would mean for identifying when delays are constant and when they are not and how you could do this if keeping the current processing of delays (i.e a list with features that describe that list vs a list of lists that has these features).
This is a nice idea but I think should be pushed to its own issue/feature vs trying to implement in the first pass version? |
The issue I see with that is that we want uncertain delays to be constrained by all of the observations that are delayed by them, e.g. an incubation period would enter hospitalisations as well as deaths and should be constrained by both (and jointly enter the two), so it seems to me that some way of specifying delays separately and them referencing is needed. |
I agree. |
True but I suppose it depends on onerous repeating delays is vs having to define them in one place and link to them from another. As I suggested in the PR comment the other approach would be nest everything the observation model and so build a model made of observation modules each of which is self-contained. That woudl still lead to repetition of the delays but would have the benefit of I think being easy for the user to understand. Obviously that is a major rewrite/reformulation. |
Is your suggestion that we have e.g. incubation_period <- dist(mean = 3, sd = 2, mean_mean = 2, mean_sd = 1)
onset_to_admission <- dist(mean = 2, sd = 1)
onset_to_deah <- dist(mean = 5, sd = 3) with observation modeuls defined as obs = obs_opts(
hospitalisations = obs_spec(delays = c(incubation_period, onset_to_admission), ...),
deaths = obs_spec(delays = c(incubation_period, onset_to_death), ...)
) in which case, how would we ensure that the two observation modules are using the same incubation period? |
Yes that is what I had in mind (or something similar (potentially passing I think we just wouldn't because in the parallel case they might not want to. As we are treating them as independent anyway I am not sure this would be a big problem? Just a little inefficient. This all gets more complicated when you think about where you want to apply scaling (i.e the CFR). Is it applied at infection (which is easiest) is it applied to cases post infection or elsewhere? All of those wash out when it is static but are different if the scaling varies over time. |
I think it would be a problem if we ended up e.g. with two different posterior distributions for incubation period parameters.
In my mind scaling could be applied with each delay as well as at the time of observation. |
In the |
So this would preclude combining static delays and require a rewrite of how we do convolution if wanting time-varying scaling. If not wanting time-varying scaling then it doesn't matter where in the chain it goes (I believe). |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
It might be nice to add functionality to have multiple observation time series assuming that they are all reported from the same infection proces with a delay and scale. This would potentially lead to more informed reproduction number / incidence estimation, but also enable doing what is currently done in
estimate_secondary.stan
within the existing model inestimate_infections.stan
(e.g. interpreting the ratio ofobs_scale
between observed time series of cases and deaths as CFR) without treating the primary observation time series as fixed.The text was updated successfully, but these errors were encountered: