Narzędzia użytkownika


Krzywa ROC

Testem diagnostycznym posługujemy się, by odróżnić obiekty z daną cechą (oznaczone jako ($+$), np. osoby chore) od obiektów bez danej cechy (oznaczone jako ($-$), np. osoby zdrowe). Aby test diagnostyczny mógł być uznany za wartościowy, powinien dawać stosunkowo niewielką liczbę błędnych klasyfikacji. Jeśli test opiera się na zmiennej dychotomicznej, wówczas właściwym narzędziem do oceny jego jakości jest analiza tabeli kontyngencji $2\times2$ wartości prawdziwie dodatnich (TP), prawdziwie ujemnych (TN), fałszywie dodatnich (FP) i fałszywie ujemnych (FN). Najczęściej jednak testy diagnostyczne opierają się na zmiennych ciągłych lub o uporządkowanych kategoriach. W takiej sytuacji właściwym środkiem oceny zdolności testu do rozróżnienia ($+$) i ($-$) są krzywe ROC (ang. Receiver Operating Characteristic).

Często obserwuje się, że wraz ze wzrostem wartości zmiennej diagnostycznej rosną szansę na wystąpienie badanego zjawiska lub odwrotnie: wraz ze wzrostem wartości zmiennej diagnostycznej maleją szansę na wystąpienie badanego zjawiska. Wówczas przy użyciu krzywych ROC dokonuje się wyboru optymalnego punktu odcięcia, czyli pewnej wartości zmiennej diagnostycznej, która najlepiej dzieli badaną zbiorowość na dwie grupy: ($+$) w której występuje dane zjawisko i ($-$) w której dane zjawisko nie występuje.

Kiedy w oparciu o badania przeprowadzone na tych samych obiektach, są zbudowane dwie lub więcej krzywych ROC, można dokonać porównania tych krzywych pod kątem jakości klasyfikacji.

Załóżmy, że dysponujemy $n$ elementową próbą, w której każdy obiekt uzyskuje jedną z $k$ wartości zmiennej diagnostycznej. Każda z uzyskanych wartość zmiennej diagnostycznej $x_1, x_2, ...x_k$ staje sie potencjalnym punktem odcięcia $x_{cat}$.

Jeśli zmienna diagnostyczna to:

  • stymulanta (wraz ze wzrostem jej wartości rosną szanse na wystąpienie badanego zjawiska), to wartości większe lub równe punktowi odcięcia ($x_i>=x_{cat}$) zaliczamy do grupy ($+$);
  • destymulanta (wraz ze wzrostem jej wartości maleją szanse na wystąpienie badanego zjawiska), to wartości mniejsze lub równe punktowi odcięcia ($x_i<=x_{cat}$) zaliczamy do grupy ($+$).

Dla każdego z $k$ punktów odcięcia wyznaczamy wartości prawdziwie dodatnie (TP), prawdziwie ujemne (TN), fałszywie dodatnie (FP) i fałszywie ujemne (FN).

\begin{tabular}{|c|c||c|c|}
\hline
\multicolumn{2}{|c||}{stymulanta}& \multicolumn{2}{|c|}{Rzeczywistość} \\\cline{3-4}
\multicolumn{2}{|c||}{ }&\textbf{(+)}&\textbf{($-$)}\\\hline \hline
\multirow{2}{*}{zmienna diagnostyczna} &$x_i>=x_{cat}$ \textbf{(+)} & TP & FP \\\cline{3-4}
&$x_i<x_{cat}$ \textbf{($-$)}& FN &TN\\\hline
\end{tabular}

\begin{tabular}{|c|c||c|c|}
\hline
\multicolumn{2}{|c||}{destymulanta}& \multicolumn{2}{|c|}{Rzeczywistość} \\\cline{3-4}
\multicolumn{2}{|c||}{ }&\textbf{(+)}&\textbf{($-$)}\\\hline \hline
\multirow{2}{*}{zmienna diagnostyczna} &$x_i<=x_{cat}$ \textbf{(+)} & TP & FP \\\cline{3-4}
&$x_i>x_{cat}$ \textbf{($-$)}& FN &TN\\\hline
\end{tabular}

Na podstawie tych wartości każdy punkt odcięcia $x_{cat}$ może być dalej opisany za pomocą czułości i swoistości oraz wartości predykcyjnych dodatnich (PPV), wartości predykcyjnych ujemnych (NPV), ilorazu wiarygodności wyniku dodatniego (LR$_+$), ilorazu wiarygodności wyniku ujemnego (LR$_-$) i dokładności (Acc).

Uwaga!

Program PQStat na podstawie posiadanej próby wylicza współczynnik chorobowości. Wyliczony współczynnik chorobowości będzie odzwierciedlał występowanie badanego zjawiska (choroby) w populacji, gdy są to badania przesiewowe obejmujące dużą próbę reprezentującą populację. Gdy na badania skierowane są tylko osoby z podejrzeniem choroby, to wyliczony dla nich współczynnik chorobowości może być znacznie wyższy od tego współczynnika w populacji.

Ponieważ zarówno wartość predykcyjna dodatnia jak i ujemna zależy od współczynnika chorobowości, znając a priori ten współczynnik dla populacji, możemy się nim posłużyć by wyliczyć dla każdego punktu odcięcia $x_{cat}$ poprawione wartości predykcyjne zgodnie z wzorami Bayesa:

\begin{displaymath}
PPV_{revised}=\frac{\textrm{Czułość}\cdot P_{a priori}}{\textrm{Czułość}\cdot P_{a priori} + (1-\textrm{Swoistść})\cdot (1-P_{a priori})}
\end{displaymath}

\begin{displaymath}
NPV_{revised}=\frac{\textrm{Swoistość}\cdot (1-P_{a priori})}{\textrm{Swoistość}\cdot (1-P_{a priori}) + (1-\textrm{Czułość})\cdot P_{a priori}}
\end{displaymath}

gdzie:

$P_{a priori}$ - zadany przez użytkownika współczynnik chorobowości, tzw. pre-test probability of disease

\begin{tabular}{|c||c|c|c|c|c|c|c||c|c|}
\hline
\textbf{$x_{cat}$} & \textbf{czułość} & \textbf{swoistość} & $\textbf{PPV}$ & $\textbf{NPV}$ & $\textbf{LR}_+$ & $\textbf{LR}_-$ & $\textbf{Acc}$ &$\textbf{PPV}_{rev}$ & $\textbf{NPV}_{rev}$\\\hline\hline
$x_1$ & czułość$_1$ & swoistość$_1$ & $PPV_1$ & $NPV_1$ & $LR_{+1}$ & $LR_{-1}$ & $Acc_1$ & $PPV_{rev1}$ & $NPV_{rev1}$\\\hline
$x_2$ & czułość$_2$ & swoistość$_2$ & $PPV_2$ & $NPV_2$ & $LR_{+2}$ & $LR_{-2}$ & $Acc_2$ & $PPV_{rev2}$ & $NPV_{rev2}$\\\hline
\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots\\\hline
$x_k$ & czułość$_k$ & swoistość$_k$ & $PPV_k$ & $NPV_k$ & $LR_{+k}$ & $LR_{-k}$ & $Acc_k$ & $PPV_{revk}$ & $NPV_{revk}$\\\hline
\end{tabular}

Krzywa ROC powstaje na podstawie wyznaczonych wartości czułości i swoistości. Na osi odciętych umieszczona jest $x$ = 1-swoistość, a na osi rzędnych $y$ = czułość. Uzyskane punkty są ze sobą połączone. Powstała w ten sposób krzywa, a w szczególności pole pod nią, obrazuje jakość klasyfikacyjną analizowanej zmiennej diagnostycznej. Gdy krzywa ROC pokrywa się z przekątną $y=x$, to decyzja podejmowana na podstawie zmiennej diagnostycznej jest tak samo dobra jak losowy podział badanych obiektów na grupy ($+$) i ($-$).

AUC(ang. area under curve) - wielkość pola pod krzywą ROC mieści się w przedziale $<0; 1>$. Im większe jest pole, tym dokładniej zaklasyfikujemy obiekty do grupy ($+$) i ($-$) na podstawie analizowanej zmiennej diagnostycznej. Zatem z tym lepszym skutkiem ta zmienna diagnostyczna może być wykorzystywana jako klasyfikator. Pole $AUC$, błąd $SE_{AUC}$ i przedział ufności dla AUC wyliczane są w oparciu:

  • metodę nieparametryczną DeLong (DeLong E.R. i inni 19881), Hanley J.A. i Hajian-Tilaki K.O. 19972) - rekomendowane,
  • metodę nieparametryczną Hanley-McNeil (Hanley J.A. i McNeil M.D. 19823)),
  • metodę Hanley-McNeil zakładającą dwu-ujemny rozkład wykładniczy (Hanley J.A. i McNeil M.D. 19824)) - wyliczną tylko wtedy, gdy grupy ($+$) i ($-$) są równoliczne.

By klasyfikacja była lepsza niż losowy podział obiektów do dwóch klas, pole pod krzywą ROC powinno być istotnie większe niż pole pod prostą $y=x$ czyli niż 0.5.

Hipotezy:

\begin{array}{cl}
\mathcal{H}_0: & AUC=0.5, \\
\mathcal{H}_1: & AUC\neq 0.5.
\end{array}

Statystyka testowa ma postać: \begin{displaymath}
Z=\frac{AUC-0.5}{SE_{0.5}},
\end{displaymath}

gdzie:

$SE_{0.5}=\sqrt{\frac{n_{(+)}+n_{(-)}+1}{12n_{(+)}n_{(-)}}}$,

$n_{(+)}$ - liczność grupy ($+$), w której dane zjawisko rzeczywiście występuje,

$n_{(-)}$ - liczność grupy ($-$), w której dane zjawisko rzeczywiście nie występuje.

Statystyka $Z$ ma asymptotycznie (dla dużych liczności) rozkład normalny.

Wyznaczoną na podstawie statystyki testowej wartość $p$ porównujemy z poziomem istotności $\alpha$:

\begin{array}{ccl}
$ jeżeli $ p \le \alpha & \Longrightarrow & $ odrzucamy $ \mathcal{H}_0 $ przyjmując $ 	\mathcal{H}_1, \\
$ jeżeli $ p > \alpha & \Longrightarrow & $ nie ma podstaw, aby odrzucić $ \mathcal{H}_0. \\
\end{array}

Przykład (plik bakteriemia.pqs)

1)
DeLong E.R., DeLong D.M., Clarke-Pearson D.L., (1988), Comparing the areas under two or more correlated receiver operating curves: A nonparametric approach. Biometrics 44:837-845
2)
Hanley J.A. i Hajian-Tilaki K.O. (1997), Sampling variability of nonparametric estimates of the areas under receiver operating characteristic curves: an update. Academic radiology 4(1):49-58
3) , 4)
Hanley J.A. i McNeil M.D. (1982), The meaning and use of the area under a receiver operating characteristic (ROC) curve. Radiology 143(1):29-36

Narzędzia witryny