GraphPad Statistics Guide

Computing predictive values from a ROC curve

Computing predictive values from a ROC curve

Previous topic Next topic No expanding text in this topic  

Computing predictive values from a ROC curve

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function Mail us feedback on this topic!  

The Positive and Negative Predictive Values

If you enter test values from patients and controls, Prism can create a ROC curve. This plots the tradeoff of sensitivity vs specificity for various possible cutoff values to define the borderline between "normal" and "abnormal" test results.

The sensitivity is the proportion of patients who will have an abnormal test result.

The specificity is the proportion of controls who will have a negative test result.

But those two values may not answer the questions you really want the answer to:

If the result is "abnormal", what is the chance that the person really has the disease. This is the Positive Predictive Value (PPV).

If the results is "normal", what is the chance that the person really does not have the disease. This is the Negative Predictive Value (NPV).

It is possible to compute the PPV and NPV from the sensitivity and specificity, but only if you know the prevalence of the disease in the population you are testing.

Example

You examined the ROC curve, and chose a test value to use as the cutoff between "normal" and "abnormal". For this cutoff, the sensitivity is 90% and the specficity is 95%. In the population you are testing, the prevalence of the disease is 10%. What are the PPV and NPV? You can figure it out by filling in a table.

1.Assume a value for the total number of patients examined. In the end, everything will be a ratio, so this value doesn't matter much. I chose 10,000 and put that into the bottom right of the table.

2.The prevalence is 10%, so 1,000 patients will have the disease and 9,000 will not. These values form the bottom (total) row of the table.

3.The sensitivity is 90%, so 0.9*1,000=900 people with the disease (left column) will have a positive test, and 100 will not . Thse values go into the left column.

4.The specificity is 95%, so 0.95*9000= 8550 people without the disease will have a negative test. That leaves 450 with a positive test. These values go into the second (disease absent) column.

5.Fill in the last (total) column.

6.The positive predictive value is the fraction of people with a positive test who have the disease:  900/1350 = 66.7%

7.The negative predictive value is the fraction of those with a negative test who do not have the disease: 8550/8650= 98.8%

 

Disease present

Disease Absent

Total

Positive test

900

450

1,350

Negative test

100

8,550

8,650

Total

1,000

9,000

10,000

If you want to automate these calculations (perhaps in Excel), the bottom of this page (from MedCalc) gives the necessary equations.