Closed stevencarlislewalker closed 1 year ago
i'm trying to find a good starter model to use as the main example for the quickstart part 2, but i'm not sure how up-to-date each example is, partially because i'm still learning to understand the model definition files. would it be fast for you to look through and put a list here of which model files are actually valid as-is? for instance, age
looks like an atomic model that would be used as input into "productify" but wouldn't make a valid model on its own...
@papsti, you could start by trying to build each one and see if it passes validity checking ...
I think @papsti is using this, which is a good choice in my opinion.
@stevencarlislewalker, i was actually looking a bit closer at sir_vax
and i think there's a model specification error (and was in the process of trying to fix it as a way to test my new macpan2
skills on the bugfix-sir_vax
branch).
i think the vax-stratified force of infection rates should both be divided by the total population, N
, not each by the vax-stratified population, N.unvax
and N.vax
. that would also simplify the model spec as the vax-stratified population sizes would not need to be computed at each pre-update, but instead N
would be computed once before the simulation starts.
this also means the clamp()
function won't have to be used here
Amazing! Thank you @papsti. Let me know if I can help. I'm actually not at my computer now, but will be again.
I don't want to get into semantics, but do you mean 'error' or 'specification that you disagree with for substantive reasons'? I just want to clarify because I am able to generate simulations without errors. Hope I haven't missed your point.
error was a poor choice of words for sure. the model is properly specified, but it does not agree with mass-action assumption that we're trying to use in this model.
Excellent. Either would have been fine, I just want to understand where the problem is.
i think the vax-stratified force of infection rates should both be divided by the total population
I am quite willing to just agree with you, but we have definitely been through this with Jonathan and others and the conclusion that I came to was that we should divide by the sub-population size. Again, I'm no modeller, but at least I did what I meant to do. Happy to receive the wisdom.
cc @Flynn-Primrose
it's very possible that i'm also confused, but from what i remember in base macpan and the vaxified model, we're always dividing the FOI by the total population, $N$, whether the infecteds are stratified by severity, or by vaccination. see pages 11, 15-16 of the expandify ms.
the way i think about it is that $\rm{foi} = \beta * I/N$ where $I/N$ models proportion of transmission opportunities (occurring at rate $\beta$) that are actually with an infected. taking a subset of the population based on a specific stratum in that denominator is like conditioning on the fact that you're definitely bumping into someone in that stratum.
In any case, one should be able to use which ever of those two models one wants. So I very much appreciate your work on modifying this model. All very helpful, despite me not having the focus time to think through the mechanisms.
understandable! i would like to use a model that is biologically sound and intuitive in this quickstart. regardless, the model should probably be explained at the top of the quickstart before any model spec is discussed.
Done with the exception of seir_simplified it seems ill conceived for example it only has S I and R compartments no E. Is there any reason not to delete it? Also I have left the SI_products folder as it was.
Done with the exception of seir_simplified it seems ill conceived for example it only has S I and R compartments no E. Is there any reason not to delete it?
I would delete it.
The SI_products directory for example should be somewhere else, because if you try to create a compartmental model from this directory it will fail. But any directory in starter_models should be a valid compartmental model.
Update: perhaps what we mean by an 'actual starter model' is one with a
README.md
file that contains ayaml
header? This would mean that other starter models are OK to be in the directory, but they will not show up withshow_models()
or in https://canmod.github.io/macpan2/articles/example_models.html and so will be unlikely to be discovered.