This probably belongs in the "conceptual FAQ" list, but I'll start with making it an issue:
My reading of the Testing interventions tutorial made me believe that, if I set symp_prob=1.0, asymp_prob=1.0 I could model exhaustive testing of an entire population, thereby modeling the ideal case with new
diagnoses and new infections being the same. Guess I'm wrong about that.
Only simPlot uses the ntst and sympOR parameters. It comes much closer to what I would have expected. A nearly constant number of new tests, new diagnoses and deaths doing a fair job of matching available data, and a reasonable estimate of R_0.
simPlot_fullTest seems to somehow infer that those ~7 initial infections with beta=0.02 don't infect anyone else, and the epidemic dies out. How does get caused by the intensive testing I intended with symp_prob=1.0, asymp_prob=1.0 ?!
A related question: In simPlot I don't see how/why Covasim is generating a max of ~1.5e7 infectious (people, not agents, right?), ~1.7e6 new infections and new recoveries, while being approx consistent with the ~2e5 new diagnoses and ~500 deaths observed in the data?
Regarding recoveries: standard compartmental models distinguish between Recovered and Dead states. How does Covasim's "recovered" state relate to R in SEIRD models?
This probably belongs in the "conceptual FAQ" list, but I'll start with making it an issue:
My reading of the Testing interventions tutorial made me believe that, if I set
symp_prob=1.0, asymp_prob=1.0
I could model exhaustive testing of an entire population, thereby modeling the ideal case with new diagnoses and new infections being the same. Guess I'm wrong about that.I've put together a simple Covasim model and use it with a data set that looks like this:
(github doesn't support .py or .json attachments to issues I guess?! I've posted them under my repo.)
Using
CovasimNAgents = 1e5
I getsim["pop_scale"]=447.80675
, resulting in a (scaled) number of initInfect=6.84.I attach two plots
simPlot
andsimPlot_fullTest
, generated by these testing intervention specs:simPlot
:tn_fixed = cv.test_num(daily_tests=runPars['ntst'], symp_test=runPars['sympOR'], start_day=abcObj.startDate)
simPlot_fullTest
:tp = cv.test_prob(symp_prob=1.0, asymp_prob=1.0, start_day=abcObj.startDate)
They were run with these parameters:
Only
simPlot
uses thentst
andsympOR
parameters. It comes much closer to what I would have expected. A nearly constant number of new tests, new diagnoses and deaths doing a fair job of matching available data, and a reasonable estimate of R_0.simPlot_fullTest
seems to somehow infer that those ~7 initial infections withbeta=0.02
don't infect anyone else, and the epidemic dies out. How does get caused by the intensive testing I intended withsymp_prob=1.0, asymp_prob=1.0
?!A related question: In
simPlot
I don't see how/why Covasim is generating a max of ~1.5e7 infectious (people, not agents, right?), ~1.7e6 new infections and new recoveries, while being approx consistent with the ~2e5 new diagnoses and ~500 deaths observed in the data?Regarding recoveries: standard compartmental models distinguish between Recovered and Dead states. How does Covasim's "recovered" state relate to
R
in SEIRD models?