• Nie Znaleziono Wyników

HOMA FAH=?OA @>EHE= 4+ IFAJ @ = 5J=JOIJO?A AJ@O ==EO @=O?D

N/A
N/A
Protected

Academic year: 2021

Share "HOMA FAH=?OA @>EHE= 4+ IFAJ @ = 5J=JOIJO?A AJ@O ==EO @=O?D"

Copied!
9
0
0

Pełen tekst

(1)

Krzywe operacyjne odbiornika ROC

Konspekt do zaj¦¢: Statystyczne metody analizy danych

Agnieszka Nowak-Brzezi«ska 8 stycznia 2010

1 Wprowadzenie

Klasykacja niezale»nie od tego jak¡ metod¡ jest przeprowadzana wymaga oceny.

Jedn¡ z metod pozwalaj¡cych na werykacj¦ jako±ci klasykacji jest metoda krzywych ROC. Krzywe ROC wraz ze wspóªczynnikami, które te krzywe wy- znaczaj¡ (chodzi tu o wspóªczynniki takiej jak czuªo±¢ i specyczno±¢) pozwa- laj¡ werykowa¢ nie tylko fakty popeªnienia bª¦dów podczas klasykacji, ale tak»e rozró»nia¢ rodzaje tych bª¦dów (bª¡d I czy II rodzaju). Przykªad analizy b¦dzie dotyczyª znanego zbioru klasykacji chorych na cukrzyc¦ zaczerpni¦ty z repozytorium UCI Repository pod adresem http://archive.ics.uci.edu/

ml/datasets/Pima+Indians+Diabetes. W ±rodowisku R zbiór ten jest równie»

podst¦pny pod nazw¡ PimaIndiansDiabetes2. Jest to do±¢ charakterystyczny dla klasykacji zbiór dlatego, »e skªada si¦ z 768 obserwacji (pacjentów) opisa- nych 8 atrybutami warunkowymi i jednym atrybutem decyzyjnym class, który rozdziela te obserwacje do jednej z dwóch klas: chorych na cukrzyc¦ (wów- czas warto±¢ atrybutu class wynosi 1) lub zdrowych (wówczas warto±¢ atry- butu decyzyjnego wynosi 0). Oczywi±cie klasykacja nowych obserwacji mo»e odbywa¢ si¦ na podstawie wyuczonego modelu klasykacji, którym mo»e by¢

klasykator Bayesowski, drzewo decyzyjne albo analiza regresji czy analiza dys- kryminacyjna, b¦d¡ca tematem ostatnich zaj¦¢. Do±¢ cz¦sto klasykacja danych medycznych wspomagana jest analiz¡ krzywych ROC. Metoda ta cho¢ wywo- dzi si¦ z teorii detekcji sygnaªu zostaªa zaadoptowana w dziedzinie medycyny, gdzie do±¢ cz¦sto mamy do czynienia z sytuacj¡, w której prowadzona analiza przynosi pewn¡ liczb¦ przypadków poprawnych decyzji, potwierdzaj¡cych rze- czywist¡ obecno±¢ patologii (prawdziwe pozytywne) oraz jej brak (prawdziwe negatywne), zdarzaj¡ si¦ jednak równie» tzw. wskazania bª¦dne (faªszywe nega- tywne i faªszywe pozytywne), tym liczniejsze im wi¦kszy wpªyw ¹le dobranych parametrów czy np bª¦dne dane, sªabe warunki pomiarowe, brak do±wiadczenia.

W rozpoznaniu tych parametrów pomaga wªa±nie metoda krzywych ROC.

2 Krzywe ROC (ang. Receiver Operating Cha- racteristic)

Eksperci prowadz¡cy badania dokonuj¡ oceny poszczególnych obiektów, wykry- waj¡ patologie, a wyniki ich binarnych decyzji (patologia jest b¡d¹ nie wyst¦- puje), nanoszone s¡ w postaci punktów na ukªad wspóªrz¦dnych ROC, przy

(2)

czym ka»dy punkt reprezentuje estymacj¦ prawdopodobie«stwa prawdziwej i faªszywej decyzji kolejnego specjalisty, czyli skuteczno±¢ jego pracy. W bada- niach dopasowania zmiennej binarnej korzysta si¦ z tablicy trae« i miar takich jak czuªo±¢ czasami nazywana tak»e wra»liwo±ci¡ i specyczno±¢. Nazwy odpo- wiadaj¡ sytuacjom, które nale»y rozwa»y¢ w klasykacji danych medycznych.

Zaªó»my, »e przeprowadzamy test na obecno±¢ jakiego± wirusa. Zazwyczaj wy- nik testu "pozytywnyóznacza obecno±¢ wirusa, podczas gdy «egatywnyóznacza brak wirusa w organi¹mie. Niestety nasz test nie musi by¢ doskonaªy. Mo»emy popeªnia¢ ró»ne bª¦dy, np powiedzie¢ osobie naprawd¦ zara»onej, »e jest zdrowa (false negative F N), lub zdrowej powiedzie¢, »e jest chora (false positive F P ).

Je±li dla klasykowanych obiektów przyjmiemy zaªo»enie tak jak to prezen- tuje tabela 1, gdzie:

Tablica 1: Rozkªad klasykowanych obiektów obiekty klasykowane nieklasykowane (np. pacjenci) jako chore jako chore

chore T P F N

zdrowe F P T N

prawidªowa jej interpretacja b¦dzie nast¦puj¡ca:

ˆ T P (ang. true positive)- liczba poprawnie sklasykowanych obiektów z pierwszej klasy (liczba pacjentów chorych poprawnie sklasykowanych przez system),

ˆ F N (ang. false negative)- liczba bª¦dnie sklasykowanych obiektów z pierwszej klasy (liczba pacjentów chorych, których system bª¦dnie skla- sykowaª jako zdrowych),

ˆ T N (ang. true negative)- liczba poprawnie sklasykowanych obiektów z drugiej klasy (tych spo±ród pacjentów zdrowych, których system sklasy- kowaª jako zdrowych),

ˆ F P (ang. false positive)- liczba bª¦dnie sklasykowanych obiektów z dru- giej klasy (liczba tych pacjentów zdrowych, których system bª¦dnie zakla- sykowaª jako chorych).

2.1 Czuªo±¢ a specyczno±¢

Czuªo±¢ (wra»liwo±¢, ang. sensitivity) okre±limy jako prawdopodo- bie«stwo, »e chor¡ osob¦ nasz test zakwalikuje do grupy chorych.

Innymi sªowy miara ta b¦dzie mówi¢ jaki jest udziaª osób, które s¡

chore i u których test wyszedª poprawnie, w stosunku do wszystkich chorych (true positives).

Czuªo±¢ odpowiada mierze:

sensitivity = T P (T P + F N ).

(3)

Specyczno±ci¡ (ang. specicity) b¦dziemy natomiast okre±la¢ praw- dopodobie«stwo, »e osob¦ zdrow¡ nasz test zakwalikuje jako osob¦

zdrow¡ (true negatives).

Specyczno±¢ deniowana jest jako:

specif icity = T N

(F P + T N )= 1 − F P (T N + F P ).

Podczas, gdy specyczno±¢ mierzy si¦ jako (T N +F P )T N , dokªadno±¢ (ang. preci- sion) b¦dzie mierzona jako(T P +F P )T P . Wówczas w krzywej ROC na jednej osi od- kªadamy warto±¢ czuªo±ci, a na drugiej warto±¢ 1 - specyczno±¢. Krzywa ROC (patrz Rysunek 1) bada zatem stosunek wielko±ci T P do F P w podanej tabeli.

Wysoka wra»liwo±¢ (bliska warto±ci "1") oznacza, »e system prawidªowo klasy-

kuje obiekty relewantne (prawidªowo rozpoznanie pacjentów chorych). Maªa warto±¢ parametru 1 - specyczno±¢ mówi nam, »e system niewiele obiektów nie- relewantnych klasykuje jako relewantne (niewielu pacjentów zdrowych uznaje za chorych). A wi¦c po»¡dane s¡: wysoka warto±¢ wra»liwo±ci i niska warto±¢

parametru 1 - specyczno±¢. Innymi sªowy, test b¦dzie wtedy najlepszy, gdy osoby faktycznie zdrowe okre±li jako zdrowe, a te faktycznie chore jako chore.

Wysoka wra»liwo±¢ (bliska 1) oznacza, »e wi¦kszo±¢ osób chorych faktycznie kla- sykuje jako chore - czyli mówimy wówczas, »e test jest wra»liwy na chorob¦

(czuªy).

Rysunek 1: Krzywe ROC

Ka»dy punkt na tej krzywej ma wspóªrz¦dne (1 - specyczno±¢, czuªo±¢).

Pole pod krzyw¡ ROC (AUC) jest miar¡ jako±ci danej metody w taki sposób,

»e pole 0.5 oznacza najgorszy ukªad, za± pole 1.0 idealny.

(4)

3 Przykªad analizy klasykacji metod¡ krzywych ROC

Do analizy we¹my zbiór Indian Pima dotycz¡cy chorych na cukrzyc¦. Dost¦pny jest on w pakiecie R poprzez komend¦ PimaIndiansDiabetes2(mlbench). Wy- bierzemy spro±ród wszystkich zmiennych opisuj¡cych obiekty w tym zbiorze, zmienne opisuj¡ce poziom glukozy i insuliny i na ich bazie b¦dziemy bada¢ sku- teczno±¢ oceny, czy dana osoba jest cukrzykiem.

# wczytujemy zbiór danych z pakietu mlbench, usuwamy brakuj¡ce dane i logarytmujemy poziom insuliny

> data(PimaIndiansDiabetes2)

> dane=na.omit(PimaIndiansDiabetes2)[,c(2,5,9)]

> dane[,2]=log(dane[,2])

# zbiór danych chcemy podzieli¢ na dwie cz¦±ci, ucz¡c¡ i testow¡, funkcj¡ sample wylosujemy indeksy obiektów, które trafia do zbioru ucz¡cego

> zbior.uczacy=sample(1:nrow(dane),nrow(dane)/2,F)

Wywoªujemy funkcj¦ do analizy dyskryminacyjnej lda() za pomoc¡ komendy:

> klasyfikatorLDA=lda(dane[,1:2],grouping=dane[,3],subset=zbior.uczacy) Prezentacja wyników klasykacji mo»liwa jest po wywoªaniu komendy:

> str(klasyfikatorLDA) czego efekt jest nast¦puj¡cy:

List of 8

$ prior : Named num [1:2] 0.679 0.321 ..- attr(*, "names")= chr [1:2] "neg" "pos"

$ counts : Named int [1:2] 133 63

..- attr(*, "names")= chr [1:2] "neg" "pos"

$ means : num [1:2, 1:2] 114.65 145.37 4.73 5.19 ..- attr(*, "dimnames")=List of 2

.. ..$ : chr [1:2] "neg" "pos"

.. ..$ : chr [1:2] "glucose" "insulin"

$ scaling: num [1:2, 1] 0.0355 0.0499 ..- attr(*, "dimnames")=List of 2 .. ..$ : chr [1:2] "glucose" "insulin"

.. ..$ : chr "LD1"

$ lev : chr [1:2] "neg" "pos"

$ svd : num 7.29

$ N : int 196

$ call : language lda(x = dane[, 1:2], grouping = dane[, 3], subset = zbior.uczacy) - attr(*, "class")= chr "lda"

Chc¡c dokona¢ predykcji metod¡ predict() dla zbioru testowego, musimy wy- woªa¢ nast¦puj¡ce komendy w ±rodowisku R:

> dane[,2]=log(dane[,2])

> oceny=predict(klasyfikatorLDA,newdata=dane[-zbior.uczacy,1:2]).

(5)

Wywoªuj¡c nast¦pnie komend¦ > str(oceny) poznamy wyniki takiej pre- dykcji.

List of 3

$ class : Factor w/ 2 levels "neg","pos": 1 2 1 1 1 2 1 2 2 1 ...

$ posterior: num [1:196, 1:2] 0.916 0.156 0.706 0.723 0.542 ...

..- attr(*, "dimnames")=List of 2

.. ..$ : chr [1:196] "4" "14" "21" "26" ...

.. ..$ : chr [1:2] "neg" "pos"

$ x : num [1:196, 1] -1.2793 2.3847 0.0816 0.0103 0.719 ...

..- attr(*, "dimnames")=List of 2

.. ..$ : chr [1:196] "4" "14" "21" "26" ...

.. ..$ : chr "LD1"

Pole $class wskazuje na przewidzian¡ klas¦ za± pole $posterior okre±la wyzna- czone prawdopodobie«stwo przynale»no±ci do ka»dej z klas. Na podstawie tej warto±ci obiekt byª przypisywany do bardziej prawdopodobnej dla niego klasy.

Je±li teraz chcemy porówna¢ macierz kontyngencji oceny i rzeczywiste ety- kietki dla kolejnych obiektów mo»emy wywoªa¢ komend¦:

table(predykcja=oceny$class,prawdziwe=dane[-zbior.uczacy,3]) której efekt b¦dzie nast¦puj¡cy:

prawdziwe predykcja neg pos

neg 121 35 pos 8 32

>

Otrzymana tablica kontyngencji mo»e by¢ przydatna przy wyznaczeniu bª¦dów predykcji. Mo»emy do tego wykorzysta¢ znane wspóªczynniki T F , T N, T P oraz F P . Bogata lista takich wspóªczynników wymieniona jest w opisie funk- cji performance(ROCR) (deniuj¡c bª¡d klasykacji u»ywa si¦ oznacze« T P , T N, F P , F N okre±laj¡cych kolejno liczb¦ poprawnie wykrytych sygnaªów po- zytywnych, poprawnie wykrytych braków sygnaªu, faªszywie wykrytych sygna- ªów pozytywnych oraz faªszywie wykrytych braków sygnaªów. W powy»szym przypadku czuªo±¢ wyniosªa (31+29)31 ≈ 0.517 a specyczno±¢ (115+21)115 ≈ 0.846. Wyznaczenie samych krzywych ROC nie jest trudne. Funkcja predict() poza ocenionymi klasami jako wynik przekazuje równie» prawdopodobie«stwo przy- nale»no±ci do jednej z klas (pole posterior wyniku funkcji predict()). Krzywa ROC to zbiór punktów wyznaczonych dla ró»nych poziomów odci¦cia (ang. thre- shold) dla wspomnianego prawdopodobie«stwa przynale»no±ci do jednej z klas.

Wspóªrz¦dne ka»dego punktu to czuªo±¢ i i specyczno±¢ (dokªadniej rzecz bio- r¡c 1−specyczno±¢) otrzymana dla zadanego punktu odci¦cia. Poni»ej przykªad u»ycia funkcji z pakietu ROCR, sªu»¡cej do rysowania krzywych ROC i innych o podobnych wªa±ciwo±ciach.

3.1 Pakiet ROCR

Dokumentacja pakietu ROCR dost¦pna jest pod adresem http://rocr.bioinf.

mpi-sb.mpg.de/ROCR.pdf. Pakiet a wªa±ciwie zawarta w nim funkcja performance() pozwalaj¡ na obliczanie warto±ci nast¦puj¡cych wspóªczynników:

(6)

ˆ acc - (accuracy, czyli dokªadno±¢),

ˆ err - (error rate),

ˆ fpr - (false positive rate),

ˆ tpr, sens oraz rec - (true positive rate),

ˆ fnr - (false negative rate),

ˆ tnr czy spec - (true negative rate),

ˆ ppv czy prec - (positive predictive value) oraz inne.

Wynik graczny przedstawiony jest na rysunkach 2 i 3. Na osiach tego wykresu mog¡ by¢ przedstawiane ró»ne miary dokªadno±ci klasykacji, w zale»- no±ci od argumentów funkcji performance(). Je±li chcemy wyznaczy¢ obiekt klasy prediction, zawieraj¡cy informacje o prawdziwych klasach, i prawdopo- dobie«stwie przynale»no±ci do wybranej klasy mo»emy wywoªa¢ nast¦puj¡c¡

komend¦:

> pred<-prediction(oceny$posterior[,2],dane[-zbior.uczacy,3])

> perf<-performance(pred,"sens","spec")

> plot(perf)

czego efektem b¦dzie wykres 2. Za± gdy chcemy zbada¢ zale»no±¢ dokªadno±ci

Specificity

Sensitivity

0.0 0.2 0.4 0.6 0.8 1.0

0.00.20.40.60.81.0

Rysunek 2: Krzywe ROC

(7)

(ang. precision) i kompletno±ci (ang.recall) dla tego samego zbioru danych wywoªamy komendy:

> perf<-performance(pred,"prec","rec")

> plot(perf)

. Tutaj nale»y przypomnie¢ co rozumiemy przez poj¦cia kompletno±ci i dokªad- no±ci. Kompletno±¢ b¦dziemy wyra»a¢ wzorem:

Recall = T P T P + F N

i interpretowa¢ jako zdolno±¢ systemu to znajdowania chorych pacjentów. In- nymi sªowy system b¦dzie klasykowaª z peªn¡ kompletno±ci¡ wtedy, gdy nie b¦dzie pomijaª chorych pacjentów (znajdzie wszystkich faktycznie chorych na- wet tych, którzy tak naprawd¦ s¡ zdrowi, ale przez system zostali okre±leni jako chorzy). Za± dokªadno±¢ wyra»ana wzorem:

P recision = T P T P + F P

b¦dzie okre±la¢ zdolno±¢ systemu do nie klasykowania - jako chorych - pacjen- tów, którzy s¡ w rzeczywisto±ci zdrowi. Dla miar kompletno±ci i dokªadno±ci mo»emy wyrysowa¢ wykres, taki jak to przedstawia rysunek 3.

Recall

Precision

0.0 0.2 0.4 0.6 0.8 1.0

0.40.50.60.70.80.91.0

Rysunek 3: Dokªadno±¢ i kompletno±¢

Oczywi±cie caªo±¢ zbioru obserwacji mo»na wyrysowa¢ stosuj¡c pakiet klaR i funkcje partimat oraz drawparti. Dokumentacja dla pakietu klaR znajduje si¦

(8)

pod adresem http://cran.r-project.org/web/packages/klaR/klaR.pdf. Efek- tem nast¦puj¡cej komendy R:

> partimat(dane[,1:2],grouping=dane[,3],subset=zbior.uczacy)

> partimat(dane, grouping=dane[,3], method = "lda", prec = 100,main="Partition Plot") b¦dzie rysunek 4.

3 4 5 6

80100120140160180

insulin

glucose

n n

n

p

n p

p

n n

n n

n

n

p

n

n n

n n

n

n p

n

p

n

p

pn

n

p

p

p

n n

n n

n n

n n

n p

p

n

p p

n n

n n

p

p

n

n p n n

n

n n

pn p

p n

p

p

n n

p

n

n p

p p

n

n

n

n n

n n

p n

n p

n

n n p

nn

n

n p n

n

n

p

n

n n

p

n

p

n n

n

n

n

n n

n n

n

n

p

n

n

n n

n

p n

n

n

n

p

n

n p p

p n

p n

p

n

n

n

n

p

p

n

p p

p

n p p

n

p

n

n

p p

n

n n

n

p

n

n p n

p

n

p

n p

n n

n

p

n n n

n n

n

n n

n p

p n

n n

p p

n p

n n n

n

app. error rate: 0.255

Partition Plot

Rysunek 4: Wykres klasykacji obiektów ze zbioru P ima

4 Bibliograa

Opracowanie przygotowano w oparciu o prace:

1. J. Koronacki, J. ‚wik: Statystyczne systemy ucz¡ce si¦, wydanie drugie, Exit, Warsaw, 2008. (rozdziaª 3)

2. J. ‚wik, J. Mielniczuk: Statystyczne systemy ucz¡ce si¦ - ¢wiczenia w oparciu o pakiet R, Ocyna Wydawnicza PW, Warszawa, 2009.(rozdziaª 4)

3. Biecek P.: Na przeªaj przez Data Mining, http://www.biecek.pl/R/

naPrzelajPrzezDM.pdf oraz pakiety:

(9)

ˆ http://cran.r-project.org/web/packages/klaR/klaR.pdf,

ˆ http://rocr.bioinf.mpi-sb.mpg.de/ROCR.pdf.

Cytaty

Powiązane dokumenty

te±cie dwustronnym - jako»e w kontek±cie hipotezy alternatywnej twierdzimy jedynie, »e warto±¢ krytyczna jest ró»na od zadanej warto±ci statystyki testowej, a wi¦c jest

Prostok¡ty te s¡ z jednej strony wyznaczone przez przedziaªy klasowe warto±ci cechy, natomiast ich wysoko±¢ jest okre±lona przez liczebno±ci elementów wpada- j¡cych do

Je±li popatrzymy jaka byªa warto±¢ tego wspóªczynnika, gdy badali±my na pocz¡tku zale»no±¢ zmiennej obja±nianej tylko od jednej zmiennej obja±niaj¡cej (cukry) to warto±¢

Metod¡ u»ywan¡ do znalezienia liniowej kombinacji cech, które najlepiej rozró»niaj¡ dwie lub wi¦cej klas obiektów lub zdarze« jest liniowa analiza dyskryminacyjna (ang.

Zagórski, Metody matematyczne zyki, Ocyna Wydawnicza Politech- niki Warszawskiej, Warszawa, 2001.

For short-term forecasting, these arguments have long been anticipated in practice, and models with good (and improvable) track- ing properties have been obtained by

Sum of registered loads of front (PP+PL) and back supports (TP+TL) and right (PP+TP) and left supports (PL+TL) caused by roadheader’s weight for two boom deflecting angle values

This thesis presents a method for modeling and optimization of exploitation works in a multi-plant mining enterprise. This method can be used in the evaluation of design