-
Notifications
You must be signed in to change notification settings - Fork 4
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
Abstraction for init
value
#64
Comments
Alternate solutionIn Therefore, it would seem to be natural to add initialisation of latent infections to this struct. |
Hmm yes I think I agree with the alternative solution here? That does introduce a problem with priors maybe (as back to a shared prior list?) |
I think we can keep a consistent pattern here.
Proposed API for alternate solution would be that the
Obviously a bit more is happening in the |
Btw, in comparison to
Main difference is that the subtype of |
I think this sounds good. Just a note whilst we are here but I think currently that Another tangent but why do we have |
Because we have three different concrete subtypes of Obviously, we could just have a single type |
Yes, that has been annoying me too. |
I guess my question is why aren't we using a struct with a dict and function pairing vs this. Doing some reading (the manual and https://stackoverflow.com/questions/60218078/why-create-an-abstract-super-type-in-julia) it looks like abstract structs are all about inheritance and grouping of related objects. So here we are making some kind of contract that So my question is this seems like a useful way to do things so why don't we want the same for |
At the moment, we're implementing the latent process -> latent infections function (which defines the target of the inference) using a callable on the Rt-without-renewal/EpiAware/src/epimodel.jl Lines 77 to 92 in 6fd0d38
Which does use
At the moment we aren't doing any inheritance for the As the example you found suggested, the abstract super-type pattern is particularly useful if there is a default behaviour we'd want from the latent process that we might specialise on with concrete sub-types. In this case, I can't think of one but I'm open to suggestions. |
What about for the args splitting? |
Current API
For each latent process, an$\log I(0)$ ; that is the log-incidence rate on the time step before data.
init
scalar value is generated along with the latent process itself. The interpretation ofinit
is typicallyProblem
Although this API "works"; it locks in the interpretation above and makes iteration to other models that might want more structured initialisation difficult.
Solution
Create an initializer sub-model to be combined with latent processes and observation models.
The text was updated successfully, but these errors were encountered: