Słownik metodologiczny · Klasyfikacja i diagnoza

Wartość predykcyjna dodatnia i ujemna (PPV, NPV) – wzory i zależność od chorobowości

PPV to odsetek osób z wynikiem dodatnim, które naprawdę mają dany stan, a NPV – odsetek osób z wynikiem ujemnym, które go nie mają. Obie zależą od tego, jak często stan występuje w badanej grupie; pokazujemy, jak je przeliczyć w R.

W skrócie: Wartość predykcyjna dodatnia (PPV) to odsetek osób z wynikiem dodatnim, które mają dany stan, a ujemna (NPV) – odsetek osób z wynikiem ujemnym, które go nie mają. Obie zależą od częstości stanu w badanej grupie, dlatego podawaj je razem z chorobowością i przeliczaj, zanim przeniesiesz je na inną populację.

Co to jest wartość predykcyjna dodatnia i ujemna?

Wartość predykcyjna dodatnia (PPV, ang. positive predictive value) to odsetek osób z wynikiem dodatnim, które naprawdę mają dany stan. Wartość predykcyjna ujemna (NPV, ang. negative predictive value) to odsetek osób z wynikiem ujemnym, które go nie mają. Obie odpowiadają na pytanie zadawane po badaniu przesiewowym: „wynik jest dodatni – na ile prawdopodobne jest, że problem naprawdę występuje?”. Dlatego w praktyce przesiewowej mówią więcej niż czułość i swoistość, które lepiej opisują sam test (Trevethan, 2017).

Jak obliczyć PPV i NPV?

W tabeli 2 × 2 (oznaczenia jak w haśle macierz pomyłek) liczysz je w wierszach wyników testu, a nie w kolumnach rozpoznania:

PPV = TP / (TP + FP)
NPV = TN / (TN + FN)

Wartości predykcyjne – inaczej niż ilorazy wiarygodności – zależą od częstości stanu w badanej grupie (Deeks i Altman, 2004). Dla innej chorobowości P przeliczysz je z czułości (Se) i swoistości (Sp) według twierdzenia Bayesa:

PPV = Se × P / [Se × P + (1 − Sp) × (1 − P)]
NPV = Sp × (1 − P) / [Sp × (1 − P) + (1 − Se) × P]

Przykład

Kwestionariusz przesiewowy zaburzeń odżywiania (0–40 pkt, wynik dodatni od 21 pkt) sprawdzono u 100 osób z rozpoznaniem i 100 osób bez niego (dane symulowane): czułość wyniosła 87.0%, swoistość 79.0%, a PPV w tej próbie – 80.6%. Częstość 50% ustalił jednak badacz, dobierając grupy. Gdyby zaburzenie dotyczyło 4% badanych studentów, PPV wyniosłaby tylko 14.7%: na 1000 osób wynik dodatni dostałoby około 236, w tym zaledwie około 35 osób z zaburzeniem. NPV wzrosłaby natomiast z 85.9% do 99.3%.

Jak zapisać w pracy

Podawaj PPV i NPV razem z częstością stanu, dla której je policzono. Trevethan (2017) radzi raportować wszystkie cztery miary – czułość, swoistość, PPV i NPV – oraz sposób ich uzyskania. Wartości z próby typu „przypadki i kontrole” zastąp przeliczonymi dla uzasadnionej chorobowości.

Przy czułości 87.0%, swoistości 79.0% i założonej częstości zaburzeń odżywiania wynoszącej 4% wartość predykcyjna wyniku dodatniego wynosiłaby 14.7%, a wyniku ujemnego 99.3%; wartości z próby walidacyjnej (80.6% i 85.9%) odpowiadają częstości 50%, ustalonej przez dobór grup.

Wymogi raportowania badań dokładności diagnostycznej omawiamy we wpisie Statystyka w publikacji medycznej.

Na co uważać

  • Przenoszenie PPV na inną grupę. PPV policzona w poradni specjalistycznej, gdzie zaburzenie jest częste, w badaniu przesiewowym okaże się zawyżona. Przelicz ją dla swojej chorobowości albo użyj ilorazów wiarygodności, opisanych w poradniku Statystyka dla lekarza.
  • Zmiana progu zmienia wszystkie cztery miary. Wyższy próg zwykle podnosi PPV kosztem czułości; kompromis między progami pokazuje krzywa ROC, a jeden ze sposobów wyboru progu – indeks Youdena.
  • Wysoka NPV przy rzadkim stanie niewiele mówi. Przy częstości 4% nawet „test”, który każdemu daje wynik ujemny, ma NPV = 96.0%. Porównuj NPV z tą wartością, a nie ze 100%.
Przykład reprodukowalny

Przykład w R

Dwie funkcje przeliczają PPV i NPV dla dowolnej chorobowości. Wpisz czułość i swoistość z badania walidacyjnego oraz częstość stanu w grupie, w której chcesz użyć testu.

PPV i NPV przy różnej chorobowości

Dane wejściowe: czułość i swoistość z przykładu (dane symulowane, set.seed(83)) oraz trzy wartości chorobowości: 50% (próba walidacyjna), 20% i 4%.

Co odczytać: kolumny to kolejne wartości chorobowości; przy 50% wynik powtarza wartości z próby walidacyjnej, a przy 4% daje 14.7% i 99.3%.

R
ppv <- function(se, sp, p) se * p / (se * p + (1 - sp) * (1 - p))
npv <- function(se, sp, p) sp * (1 - p) / (sp * (1 - p) + (1 - se) * p)
p <- c(0.50, 0.20, 0.04)        # chorobowość
round(rbind(PPV = ppv(0.87, 0.79, p), NPV = npv(0.87, 0.79, p)), 3)
Wynik w R
     [,1]  [,2]  [,3]
PPV 0.806 0.509 0.147
NPV 0.859 0.960 0.993

Bibliografia oprogramowania

Wyniki na tej stronie pochodzą z uruchomienia kodu w R 4.5.3 (funkcje pakietu base). W pracy podaj wersje faktycznie użytych pakietów (sessionInfo()).

  1. R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/

Najczęstsze pytania

Jak obliczyć wartość predykcyjną dodatnią i ujemną?

Z tabeli 2 × 2: PPV = TP / (TP + FP), NPV = TN / (TN + FN). Dla innej częstości stanu przelicz je wzorem Bayesa z czułości, swoistości i chorobowości.

Dlaczego PPV jest niska, gdy zaburzenie występuje rzadko?

Bo osób bez zaburzenia jest wtedy bardzo dużo, więc nawet niewielki odsetek fałszywych alarmów przewyższa liczbę trafnych wyników dodatnich. W przykładzie przy częstości 4% na jeden trafny wynik dodatni przypadało prawie sześć fałszywych.

Czy można liczyć PPV w badaniu typu przypadek–kontrola?

Policzyć można, ale wynik nie opisuje żadnej populacji, bo proporcję osób z zaburzeniem ustalił badacz. Podaj czułość i swoistość, a wartości predykcyjne przelicz dla realistycznej chorobowości, wskazując jej źródło.

Powiązane hasła

Poradniki, w których użyjesz tego pojęcia

Potrzebujesz wsparcia w analizie danych?

Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.

Wyceń analizęOferta dla studentów

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Deeks, J. J., & Altman, D. G. (2004). Diagnostic tests 4: Likelihood ratios. BMJ, 329(7458), 168–169. https://doi.org/10.1136/bmj.329.7458.168 ● Otwarty dostęp
  2. Trevethan, R. (2017). Sensitivity, specificity, and predictive values: Foundations, pliabilities, and pitfalls in research and practice. Frontiers in Public Health, 5, Article 307. https://doi.org/10.3389/fpubh.2017.00307 ● Otwarty dostęp

Cytowania BibTeX

@article{deeks2004diagnostic, author={Deeks, Jonathan J. and Altman, Douglas G.}, title={{Diagnostic tests 4: Likelihood ratios}}, journal={BMJ}, year={2004}, volume={329}, number={7458}, pages={168--169}, doi={10.1136/bmj.329.7458.168}}
@article{trevethan2017sensitivity, author={Trevethan, Robert}, title={{Sensitivity, specificity, and predictive values: Foundations, pliabilities, and pitfalls in research and practice}}, journal={Frontiers in Public Health}, year={2017}, volume={5}, eid={307}, doi={10.3389/fpubh.2017.00307}}
R