What is the true incidence of COVID - 19?
What is the true incidence of COVID - 19?
Seth J. Chandler 2020
There has been considerable controversy in the United States (and elsewhere0 about the true incidence of COVID-19. The lack of certainty is significantly due to the difficulty in testing the entire relevant population. This notebook suggests an algebraic method for estimating the incidence in the entire population. Basically, the user inputs six facts: (1) the population of the nation in question (pop); (2) the number of tests conducted in the relevant time period (perhaps the period in which an individual may have the disease) (tested); (3) the sensitivity of the test used to detect the disease (sensitivity); (4) the specificity of the test used to detect the disease (specificity); (5) the fraction of persons with the disease who seek out testing (s1) ; and (6) the fraction of tests coming back positive (pos). We now have six equations with six unknowns, which can yield an exact solution.
Here in fact is the code we need to solve the algebra problem, where tn are true negatives, fp are false positives, hu are healthy untested, fn are false negatives, tp and false positives and du are diseased untested.
In[]:=
soln=First@Solvetn+fp+hu+fn+tp+dupop,tn+fp+fn+tptested,sensitivity,specificity,s1,pos,{tn,fp,hu,fn,tp,du}//FullSimplify
tp
tp+fn
tn
tn+fp
fn+tp
fn+tp+du
fp+tp
tn+fp+fn+tp
Out[]=
tn,fp,hupop+,fn-,tp,du-
(-pos+sensitivity)specificitytested
-1+sensitivity+specificity
(pos-sensitivity)(-1+specificity)tested
-1+sensitivity+specificity
(1+pos(-1+s1)-s1sensitivity-specificity)tested
s1(-1+sensitivity+specificity)
(-1+sensitivity)(-1+pos+specificity)tested
-1+sensitivity+specificity
sensitivity(-1+pos+specificity)tested
-1+sensitivity+specificity
(-1+s1)(-1+pos+specificity)tested
s1(-1+sensitivity+specificity)
We can turn this algebra into a function that produces a Grid of values. The gridDecorate function just makes the output attractive.
In[]:=
gridDecorate=Grid[#/.n_?NumericQDecimalForm[Round[n],DigitBlock3],DividersAll,AlignmentRight,Background{{ColorData[42][2],{ColorData[42][1]}},{ColorData[42][3],{None}}}]&;
In[]:=
makeGrid[pop_,tested_,sensitivity_,specificity_,s1_,pos_]:=Withg={{tn,fp,hu},{fn,tp,du}}/.FullSimplifyFirst@Quiet@Solvetn+fp+hu+fn+tp+dupop,tn+fp+fn+tptested,sensitivity,specificity,s1,pos,{tn,fp,hu,fn,tp,du},gridDecorate[Join[{{"","tested\nnegative","tested\npositive","untested","total"}},MapThread[Append,{MapThread[Prepend,{g,{"healthy","diseased"}}],Simplify[Total/@g]}],{Simplify@Join[{"total"},Total/@Transpose[g],{Total[g,2]}]}]]
tp
tp+fn
tn
tn+fp
fn+tp
fn+tp+du
fp+tp
tn+fp+fn+tp
And now we create an interactive “Manipulate” that groups the population by actual disease state and by three possible results of the testing regime: tested negative, tested positive or untested.
In[]:=
Manipulate[makeGrid[pop,tested,sensitivity,specificity,s1,pos],{{pop,325000000,"population"},1000000,1500000000,1000000,Appearance"Labeled"},{{tested,1000000,"tests conducted"},100000,3000000,10000,Appearance"Labeled"},{{sensitivity,0.9,"sensitivity"},0.5,1,0.01,Appearance"Labeled"},{{specificity,0.9,"specificity"},0.5,1,0.01,Appearance"Labeled"},{{s1,0.25,"fraction of diseased that get tested"},0.01,0.99,0.01,Appearance"Labeled"},{{pos,0.23,"fractions of tests returning positive"},0.01,0.99,0.01,Appearance"Labeled"},BaseStyle14,LabelStyle14,SaveDefinitionsTrue]
Out[]=
For the default values, this would suggest that although there were 230,000 people who tested positive during the relevant time period (of whom 146,250 really were diseased), in fact there are 650,000 actively infected persons in the nation.
References
References
Data on the fraction of tests positive and the fraction of tests conducted may be found here : https : // www.wolframcloud.com/obj/examples/COVID19Resources
The following websites contain information on the sensitivity and specificity of COVID - 19 testing.
◼
https : // www.asianscientist.com/2020/04/features/covid - 19 - diagnostics - explained/ (claims the PCR-RT test has sensitivity and specificity of at least 90%)
◼
https://pubs.rsna.org/doi/pdf/10.1148/radiol.2020200823 (identifies various sensitivity and specificity rates for tests based on chest x-rays)
◼
https : // www.advisory.com/daily - briefing/2020/04/06/false - negative (claims sensitivity may be as low as 70%)