M3 · Diagnostic tests

Diagnostic test performance

Enter a test's results and read sensitivity, specificity and predictive values, then move prevalence and watch the predictive values change.

Disease +
Disease −
Test +
Test −

Sensitivity

—

95% CI —

Specificity

—

95% CI —

PPV

—

95% CI —

NPV

—

95% CI —

LR+

—

LR−

—

Accuracy

—

PPV and NPV move with the prevalence slider below; Sensitivity, Specificity, LR+, LR− and Accuracy are fixed properties of the test.

Disease prevalence in the population—

Set to your sample's prevalence, drag to ask what happens in another population.

Enter the test results to see performance.

Confusion matrix

Disease +Disease −Test +Test −–True positive–False positive–False negative–True negative

PPV / NPV vs prevalence

0%25%50%75%100%0%25%50%75%100%Prevalence →PPVNPV

Sensitivity and specificity stay fixed, only the predictive values move with prevalence.

ROC space Youden's J = —

Ideal0101False positive rate (1 − Sp)True positive rate (Se)
Build a full ROC curve
ThresholdSensitivity (%)Specificity (%)
Threshold 1
Threshold 2
Threshold 3
Threshold 4
Threshold 5
Threshold 6
Threshold 7

Add at least two thresholds to draw a curve.

How it's computed

Inputs TP=– FP=– FN=– TN=–  N=–
Se = TP/(TP+FN) = –/– = –
Sp = TN/(TN+FP) = –/– = –
PPV = TP/(TP+FP) = –/– = – (at the sample's own prevalence)
LR+ = Se/(1−Sp) = –/– = –
Bayes PPV at prevalence –:
= Se·p / (Se·p + (1−Sp)·(1−p)) = (–·–) / ((–·–) + (–·–)) = –
Show confidence-interval maths (Wilson)
Se: centre = (TP + 1.96²/2)/((TP+FN) + 1.96²) ± halfwidth → [–, –]
Sp: centre = (TN + 1.96²/2)/((TN+FP) + 1.96²) ± halfwidth → [–, –]
PPV: centre = (TP + 1.96²/2)/((TP+FP) + 1.96²) ± halfwidth → [–, –]
NPV: centre = (TN + 1.96²/2)/((TN+FN) + 1.96²) ± halfwidth → [–, –]