PODSTAWY STATYSTYCZNEJ ANALIZY DANYCH. Wykład 5 Kwadratowa analiza dyskryminacyjna QDA. Metody klasyfikacji oparte na rozkładach prawdopodobieństwa.

Podobne dokumenty
PODSTAWY STATYSTYCZNEJ ANALIZY DANYCH

9. Praktyczna ocena jakości klasyfikacji

PODSTAWY STATYSTYCZNEJ ANALIZY DANYCH. Wykład 4 Dyskryminacja oparta na regresji liniowej i logistycznej. Perceptron Rosenblatta.

Stan dotychczasowy. OCENA KLASYFIKACJI w diagnostyce. Metody 6/10/2013. Weryfikacja. Testowanie skuteczności metody uczenia Weryfikacja prosta

Klasyfikacja LDA + walidacja

WYKŁAD I: PROBLEM KLASYFIKACJI POD NADZOREM, LINIOWA ANALIZA DYSKRYMINACYJNA. Wydział Matematyki i Nauk Informacyjnych PW

Wprowadzenie. { 1, jeżeli ˆr(x) > 0, pozatym. Regresja liniowa Regresja logistyczne Jądrowe estymatory gęstości. Metody regresyjne

5. Analiza dyskryminacyjna: FLD, LDA, QDA

Indukowane Reguły Decyzyjne I. Wykład 8

PODSTAWY STATYSTYCZNEGO MODELOWANIA DANYCH. Wykład 6 Drzewa klasyfikacyjne - wprowadzenie. Reguły podziału i reguły przycinania drzew.

ALGORYTM RANDOM FOREST

Agnieszka Nowak Brzezińska Wykład III

ESTYMACJA BŁĘDU PREDYKCJI I JEJ ZASTOSOWANIA

Rozpoznawanie wzorców. Dr inż. Michał Bereta p. 144 / 10, Instytut Informatyki

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład II 2017/2018

Inteligentna analiza danych

Elementy modelowania matematycznego

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

WYKŁAD 7. Testowanie jakości modeli klasyfikacyjnych metodyka i kryteria

Sztuczna Inteligencja w medycynie projekt (instrukcja) Bożena Kostek

Statystyka matematyczna Testowanie hipotez i estymacja parametrów. Wrocław, r

Weryfikacja hipotez statystycznych

Metody systemowe i decyzyjne w informatyce

Wprowadzenie. Metody bayesowskie Drzewa klasyfikacyjne i lasy losowe Sieci neuronowe SVM. Klasyfikacja. Wstęp

Idea. θ = θ 0, Hipoteza statystyczna Obszary krytyczne Błąd pierwszego i drugiego rodzaju p-wartość

Rozpoznawanie wzorców. Dr inż. Michał Bereta p. 144 / 10, Instytut Informatyki

Wykład 4 Wybór najlepszej procedury. Estymacja parametrów re

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Metody systemowe i decyzyjne w informatyce

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

Klasyfikacja Support Vector Machines

Jądrowe klasyfikatory liniowe

Agnieszka Nowak Brzezińska Wykład III

Wprowadzenie. Data Science Uczenie się pod nadzorem

Wstęp do sieci neuronowych, wykład 13-14, Walidacja jakości uczenia. Metody statystyczne.

STATYSTYKA MATEMATYCZNA WYKŁAD stycznia 2010

Wstęp do sieci neuronowych, wykład 09, Walidacja jakości uczenia. Metody statystyczne.

Wykład 2 Hipoteza statystyczna, test statystyczny, poziom istotn. istotności, p-wartość i moc testu

STATYSTYKA MAŁYCH OBSZARÓW II.ESTYMATOR HORVITZA-THOMPSONA, ESTYMATOR KALIBROWANY

Testowanie hipotez statystycznych.

Jakość uczenia i generalizacja

Regresja logistyczna

Zastosowanie modelu regresji logistycznej w ocenie ryzyka ubezpieczeniowego. Łukasz Kończyk WMS AGH

Wstęp do Metod Systemowych i Decyzyjnych Opracowanie: Jakub Tomczak

KORELACJE I REGRESJA LINIOWA

WSTĘP DO REGRESJI LOGISTYCZNEJ. Dr Wioleta Drobik-Czwarno

Wykład 3 Hipotezy statystyczne

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV


Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

KADD Minimalizacja funkcji

Pobieranie prób i rozkład z próby

Modele DSGE. Jerzy Mycielski. Maj Jerzy Mycielski () Modele DSGE Maj / 11

Elementy statystyki wielowymiarowej

Metoda największej wiarygodności

Testowanie hipotez statystycznych

Szacowanie optymalnego systemu Bonus-Malus przy pomocy Pseudo-MLE. Joanna Sawicka

Wykład 1 Próba i populacja. Estymacja parametrów z wykorzystaniem metody bootstrap

Metody systemowe i decyzyjne w informatyce

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Stanisław Cichocki Natalia Nehrebecka. Wykład 7

Uogolnione modele liniowe

Eksploracja danych OCENA KLASYFIKATORÓW. Wojciech Waloszek. Teresa Zawadzka.

Adam Kirpsza Zastosowanie regresji logistycznej w studiach nad Unią Europejska. Anna Stankiewicz Izabela Słomska

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

Wnioskowanie bayesowskie

Algorytmy, które estymują wprost rozkłady czy też mapowania z nazywamy algorytmami dyskryminacyjnymi.

Statystyka Matematyczna Anna Janicka

Stanisław Cichocki. Natalia Nehrebecka

METODY INŻYNIERII WIEDZY

Własności statystyczne regresji liniowej. Wykład 4

Wybór modelu i ocena jakości klasyfikatora

Stosowana Analiza Regresji

Metody Statystyczne. Metody Statystyczne.

Stanisław Cichocki. Natalia Neherebecka. Zajęcia 15-17

Rozglądanie się w przestrzeni Iris czyli kręcenie (głową/płaszczyzną) w czterech wymiarach

Wprowadzenie do teorii ekonometrii. Wykład 1 Warunkowa wartość oczekiwana i odwzorowanie liniowe

Popularne klasyfikatory w pakietach komputerowych

Ocena dokładności diagnozy

Stanisław Cichocki. Natalia Nehrebecka

Klasyfikacja metodą Bayesa

Regresja liniowa wprowadzenie

Zagadnienie klasyfikacji (dyskryminacji)

Testowanie modeli predykcyjnych

WYKŁAD 8 ANALIZA REGRESJI

Estymacja parametrów w modelu normalnym

Wprowadzenie do analizy dyskryminacyjnej

STATYSTYKA MATEMATYCZNA

Metody systemowe i decyzyjne w informatyce

Metoda największej wiarogodności

Metody klasyfikacji danych - część 1 p.1/24

Regresja logistyczna (LOGISTIC)

Centralne twierdzenie graniczne

Natalia Neherbecka. 11 czerwca 2010

Ekonometria Analiza dyskryminacyjna

STATYSTYKA MAŁYCH OBSZARÓW IV. EMPIRYCZNY NAJLEPSZY PREDYKTOR

Analiza statystyczna trudności tekstu

Regresja nieparametryczna series estimator

Transkrypt:

Wykład 5 Kwadratowa analiza dyskryminacyjna QDA. Metody klasyfikacji oparte na rozkładach prawdopodobieństwa.

Kwadratowa analiza dyskryminacyjna

Przykład analizy QDA Czasem nie jest możliwe rozdzielenie klas za pomocą prostej

Przykład analizy QDA Lepsze rozdzielenie klas dzięki użyciu funkcji kwadratowej

Lepsze rozdzielenie klas dzięki użyciu funkcji kwadratowej

Przykład -dane iris 1 # Linear Discriminant Analysis LDA ( iris data ) 2 require ( MASS ) 3 data ( iris ) 4 iris. lda <- lda ( Species ~ Sepal. Length + Sepal. Width + Petal. Length +Petal. Width, data=iris ) 5 print ( iris. lda ) Call: lda(species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width, data = iris) Prior probabilities of groups: setosa versicolor virginica 0.3333333 0.3333333 0.3333333 Group means: Sepal.Length Sepal.Width Petal.Length Petal.Width setosa 5.006 3.428 1.462 0.246 versicolor 5.936 2.770 4.260 1.326 virginica 6.588 2.974 5.552 2.026

Przykład -dane iris Coefficients of linear discriminants: LD1 LD2 Sepal.Length 0.8293776 0.02410215 Sepal.Width 1.5344731 2.16452123 Petal.Length -2.2012117-0.93192121 Petal.Width -2.8104603 2.83918785 Proportion of trace: LD1 LD2 0.9912 0.0088

Przykład - dane iris 1 table ( iris$species, predict ( iris. lda )$class, dnn=c(" True "," Predicted ") Predicted True setosa versicolor virginica setosa 50 0 0 versicolor 0 48 2 virginica 0 1 49 1 ## proporcja błędnych klasyfikacji 2 mean ( iris$ Species!= predict ( iris. lda )$class ) [1] 0.02

Przykład - dane iris - QDA 1 iris. qda <- qda ( Species ~ Sepal. Length + Sepal. Width + Petal. Length + Petal. Width, data=iris ) Call: qda(species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal. data = iris) Prior probabilities of groups: setosa versicolor virginica 0.3333333 0.3333333 0.3333333 Group means: Sepal.Length Sepal.Width Petal.Length Petal.Width setosa 5.006 3.428 1.462 0.246 versicolor 5.936 2.770 4.260 1.326 virginica 6.588 2.974 5.552 2.026

Przykład - dane iris - QDA 1 table ( iris$species, predict ( iris. qda )$class, dnn=c(" True "," Predicted ") ) Predicted True setosa versicolor virginica setosa 50 0 0 versicolor 0 48 2 virginica 0 1 49 1 ## Proporcja błędnych klasyfikacji 2 mean ( iris$ Species!= predict ( iris. qda )$class ) [1] 0.02

Metody klasyfikacji oparte na rozkładach prawdopodobieństwa.

Wprowadzenie LDA, QDA: rozdzielanie klas za pomocą prostej/ płaszczyzny/ hiperpłaszczyzny/ hiperpowierzchni Wybór kształtu powierzchni rozdzielającej klasy jest arbitralny (zadany przez użytkownika).nie jest efektem konstrukcji modelu.

Podejście probabilistyczne Polega na konstrukcji metod bezpośrednio opartych na rozkładach prawdopodobieństwa obserwacji w klasach. Przykład g = 3 klasy, x - obserwacja k = 1 k = 2 k = 3 p(x k) 1 4 1 2 1 4 Dla g klas i obserwacji x mamy g prawdopodobieństw przynależności do klas, p(x k), dla k = 1, 2,..., g.. g p(x k) = 1 k=1

Prawdopodobieńtwa a priori i a posteriori π k, k = 1, 2,..., g są prawdopodobieństwami a priori tego że obserwacja pochodzi z k-tej klasy. Prawdopodobieństwa a priori są wyznaczane na podstawie posiadanej wiedzy, historii lub przeprowadzonych obserwacji na przykład oszacowanie procentu osób chorych na określoną chorobę w całej populacji odbywa się na podstawie próby osób o których wiemy że są chore i skuteczności leczenia. to daje oszacowanie prawdopodobieństw a priori bycia chorym lub zdrowym. Prawdopodobieństwa a posteriori - tj. p-stwa przynależności do klas po zaobserwowaniu obserwacji x wyznaczane ze wzoru Bayesa: prawdopodobieństwo a posteriori że zaobserwowana wartość x pochodzi z klasy k wynosi: p(k x) = π kp(x k) g j=1 π jp(x j)

Prawdopodobieńtwa a priori i a posteriori Wzór Bayesa wymaga znajomości wartości prawdopodobieństw π k oraz p(x k) W praktyce nie są one znane i ich wartości są szacowane na podstawie obserwacji próby uczącej (zastępujemy wielkości π k i p(x k) ich estymatorami. Klasyfikator bayesowski Zaobserwowany wektor x klasyfikujemy jako pochodzący z tej klasy k dla której wartość p-stwa a posteriori p(k x), k = 1, 2,..., g, jest największa. Równoważnie można wybrać klasę dla której wartość π k p(x k), k = 1, 2,..., g jest największa.

Klasyfikator bayesowski Regułę Bayesa stosowaliśmy wcześniej przyjmując pewne ustalone modele opisujące p-stwa p(k x) LDA - p(k x) opisuje model regresji liniowej w analizie regresji logistycznej - model regresji logistycznej. Obecnie wychodzić będziemy bezpośrednio od rozkładów prawdopodobieństwa π k i p(x k), zakładając, że je znamy.

Przypadek dwóch klas Zakładamy że obserwacje pochodzą z dwóch klas (g = 2) i obserwacje w każdej z klas pochodzą z rozkładu normalnego. Zakładamy że rozkłady w klasach mają taką samą macierz kowariancji Σ, tj p(x k) N (m k Σ), k = 1, 2. Zadanie maksymalizacji po k wielkości p(x k) w tym przypadku prowadzi do rozwiązania postaci δ k (x) = x T Σ 1 m k + ln(π k ). Funkcje δ k (x) dla k = 1, 2,..., g nazywamy funkcjami dyskryminacyjnymi dla klasy k.

Na podstawie porównania p-stw p(1 x) i p(2 x) uzyskujemy regułę klasyfikacyjną Obserwację x przypiszemy do klasy 1, gdy p(1 x) > p(2 x), tzn gdy ( ) p(1 x) δ 1,2(x) = ln > 0 p(2 x). Analogicznie obserwację x przypiszemy do klasy 2, gdy ( ) p(1 x) δ 1,2(x) = ln < 0 p(2 x). W rozważanym przypadku wyliczenie δ 1,2 (x) prowadzi do uzyskania ( ) π1 δ 1,2 (x) = ln 1 2 (m 1 m 2 ) T Σ 1 (m 1 +m 2 )+(m 1 m 2 ) T Σ 1 x = 0. π 2 Jest to równanie hiperpłaszczyzny dyskryminacyjnej rozdzielającej klasy.

Więcej klas (g > 2) Gdy rozważamy większą liczbę klas porównujemy p-stwa klas parami. Dla klas k i l porównujemy prawdopodobieństwa p(k x) i p(l x) ( ) p(k x) δ k,l (x) = ln p(l x) Równanie hiperpłaszczyzny dyskryminacyjnej rozdzielającej klasy : ( ) πk δ k,l (x) = ln 1 2 (m k m l ) T Σ 1 (m k +m l )+(m k m l ) T Σ 1 x = 0. π l Funkcje δ k,l (x) nazywamy funkcjami dyskryminacyjnymi między klasami k i l. Przykład: 3 klasy Obserwacja x zostaje zaklasyfikowana do klasy 1, gdy δ 1,2 (x) > 0 i δ 1,3 (x) > 0 2, gdy δ 1,2 (x) < 0 i δ 2,3 (x) > 0 3, gdy δ 1,3 (x) < 0 i δ 2,3 (x) < 0

Trzy klasy, ta sama macierz kowariancji

Trzy klasy, ta sama macierz kowariancji, metoda QDA

Rozkłady normalne o różnych macierzach kowariancji Rozważamy sytuację, gdy rozkłady w grupach są normalne, ale mają różne macierze kowariancji: p(x k) N (m k, Σ k ), k {1, 2,..., g}. Wówczas powierzchnia rozdzielająca klasy jest funkcją kwadratową. Dla dwóch klas (g = 2) reguła klasyfikacyjna przyjmuje postać Przypisz obserwację x do klasy 2 jeżeli ( ) π2 ln + x T (Σ 1 2 m 2 Σ 1 1 m 1) 1 2 x T (Σ 1 2 Σ 1 1 )x + k > 0, π 1 gdzie k = 1 ( ) 2 ln Σ1 + 1 ( m T Σ 2 2 1 Σ 1 1 m 1 m T 2 Σ 1 2 m ) 2

Trzy klasy, różne macierze kowariancji, metoda QDA

Metoda największej wiarogodności

Metoda największej wiarogodności Jest to najbardziej intuicyjna metoda oparta na rozkładach prawdopodobieństw obserwacji w klasach. Polega na wyborze klasy maksymalizującej prawdopodobieństwo p(x k), tj. jest to reguła spełniająca d(x) = argmax k {1,2,...,g} p(x k). Jest równoważna regule Bayesa, gdy prawdopodobieństwa a priori są równe tj. π 1 = π 2 = = π g. W regule Bayesa maksymalizujemy p-stwo a posteriori, czyli wielkość proporcjonalną do. π k p(x k) Jeśli π1 = π 2 = = π g, jest to równoważne maksymalizacji po k wartości p(x k).

Metoda największej wiarogodności

Metoda największej wiarogodności Jeśli obserwacje pochodzą z rozkładów normalnych o takiej samej macierzy kowariancji to metoda największej wiarogodności może być zapisana jako Zaklasyfikuj obserwację x do tej klasy k, dla której kwadrat odległości Mahalanobisa jest najmniejszy. (x m k ) T Σ 1 (x m k )

Optymalność reguły bayesowskiej Reguła bayesowska (lub reguła NW gdy p-stwa a priori są równe) jest optymalna to znaczy minimalizuje ryzyko całkowite postaci R(d) = g π k P [d(x) k klasa = k]. k=1 P [d(x) k klasa = k] jest oczekiwanym kosztem błędnego zaklasyfikowania obserwacji z klasy k (ryzykiem klasyfikatora)

Wybór i ocena klasyfikatora

Wybór i ocena klasyfikatora Aby wybrać możliwie najlepszy klasyfikator spośród kilku różnych klasyfikatorów porównujemy ich prawdopodobieństwa błędnej klasyfikacji dla nowej obserwacji. Dla dużego zbioru danych wydziela się trzy podpróby : próbę uczącą - służącą do konstrukcji klasyfikatora próbę walidacyjną wyznaczamy na niej procent błędnych klasyfikacji dla danego klasyfikatora porównując klasyfikatory wybieramy ten, który uzyskał najmniejszy procent błędów na próbie walidacyjnej próbę testową dokonujemy na niej ostatecznej oceny prawdopodobieństwa błędnej klasyfikacji przez klasyfikator wybrany na podstawie próby walidacyjnej nie można tego zrobić na próbie walidacyjnej, gdyż posłużyła ona do wyboru klasyfikatora

Podział na podpróby Aby móc wydzielić trzy podpróby potrzebny jest duży zbiór danych. Jak ustalić rozmiary podprób? 50% obserwacji na próbę uczącą i po 25% na próby walidacyjną i testową lub 60% obserwacji na próbę uczącą i po 20% na próby walidacyjną i testową nie ma ustalonej najepszej proporcji Jeśli próba jest zbyt mała do wydzielenia trzech podprób stosuje się kroswalidację czyli tzw. sprawdzanie krzyżowe. Zbiór danych dzielimy na K (np 5) możliwie równych części (tzw. K-krotna kroswalidacja) Usuwamy jeden z K podzbiorów ze zbioru danych Pozostałe K 1 podzbiorów wykorzystujemy do konstrukcji klasyfikatora. Usunięty zbiór traktujemy jako zbiór testowy (do sprawdzenia skonstruowanego klasyfikatora).

Sprawdzenie krzyżowe (kroswalidacja) Na podstawie takiej procedury uzyskujemy K wersji klasyfikatora Każda wersja klasyfikatora jest oceniana poprzez sprawdzenie liczby błędnych klasyfikacji na odpowiednim zbiorze testowym (tzn. na części zbioru danych którą usunęliśmy przed konstrukcją klasyfikatora). a więc oceny klasyfikatora dokonujemy na obserwacjach, które nie brały udziału w jego konstrukcji Sumaryczna liczba błędów klasyfikacji dla wszystkich K wersji klasyfikatora podzielona przez liczność oryginalnego zbioru danych n daje kroswalidacyjne oszacowanie prawdopodobieństwa dokonania błędnej klasyfikacji przez dany klasyfikator. Często stosuje się też tzw. n-krotną kroswalidację, gdzie n oznacza liczność całego zbioru danych. Tą metodę nazywa się czasem leave-one-out cross-validation, gdyż podpróby na których konstruowane są kolejne wersje klasyfikatora powstają poprzez usunięcie tylko jednej obserwacji ze zbioru danych.

Przykład - dane iris Metoda LDA z zastosowaniem kroswalidacji 1 iris. lda. cv <- lda ( Species ~ Sepal. Length + Sepal. Width + Petal. Length +Petal. Width, data=iris, CV=TRUE ) 2 table ( iris$species, iris. lda. cv$class, dnn=c(" True "," Predicted ")) Predicted True setosa versicolor virginica setosa 50 0 0 versicolor 0 48 2 virginica 0 1 49 1 mean ( iris$ Species!= iris. lda. cv$class ) 0.02

Przykład - dane iris LDA - Klasyfikacja nowej obserwacji o wartościach: Sepal.Length = 6.5, Sepal.Width = 2.5, Petal.Length = 5.0, Petal.Width = 1.7 1 ## Klasyfikacja nowej obserwacji - metoda LDA 2 predict ( iris.lda, new=data. frame ( Sepal. Length =6.5, Sepal. Width =2.5, Petal. Length =5.0, Petal. Width =1.7) ) $class [1] virginica Levels: setosa versicolor virginica $posterior setosa versicolor virginica 1 7.748627e-32 0.1754268 0.8245732 $x LD1 LD2 1-4.451597-0.9264922

Przykład - dane iris Metoda QDA z zastosowaniem kroswalidacji 1 iris. qda. cv <- qda ( Species ~ Sepal. Length + Sepal. Width + Petal. Length +Petal. Width, data=iris, CV=TRUE ) 2 table ( iris$species, iris. qda. cv$class, dnn=c(" True "," Predicted ")) Predicted True setosa versicolor virginica setosa 50 0 0 versicolor 0 47 3 virginica 0 1 49 1 mean ( iris$ Species!= iris. qda. cv$class ) [1] 0.02666667

Przykład - dane iris QDA - Klasyfikacja nowej obserwacji o wartościach: Sepal.Length = 6.5, Sepal.Width = 2.5, Petal.Length = 5.0, Petal.Width = 1.7 1 ## klasyfikacja nowej obserwacji - metoda QDA 2 predict ( iris.qda, new=data. frame ( Sepal. Length =6.5, Sepal. Width =2.5, Petal. Length =5.0, Petal. Width =1.7) ) $class [1] virginica Levels: setosa versicolor virginica $posterior setosa versicolor virginica 1 4.778750e-117 0.08211796 0.917882

Bootstrap Inną metodą wielokrotnego wykorzystania elementów tego samego zbioru danych jest metoda bootstrap Polega na dokonaniu wielokrotnego losowania ze zwracaniem elementów z oryginalnego zbioru danych. W ten sposób losuje się np 1000 podprób, każdą o liczności n równej liczności oryginalnego zbioru danych Na ich podstawie konstruuje się kolejne wersje klasyfikatora, a następnie dla każdego elementu oryginalnego zbioru danych oblicza się ułamek błędnych zaklasyfikowań tego elementu przez wszystkie wersje klasyfikatora, w których budowie nie brał on udziału oblicza się średnią wartość ułamków otrzymanych dla wszystkich n elementów oryginalnego zbioru danych taka średnia wartość ułamków błędnych klasyfikacji jest przybliżeniem prawdopodobieństwa błędnego zaklasyfikowania nowej obserwacji.

Przykład - dane iris Porównamy błędy uzyskane przez metody LDA i QDA przy zastosowaniu 10-krotnej kroswalidacji oraz metody bootstrap. 1 # przekształcenie funkcji predict, tak aby zwracała tylko indeksy klas 2 mypredict. lda <- function ( object, newdata ){ 3 predict ( object, newdata = newdata )$class 4 } Wyznaczenie błędu dla metody LDA przy zastosowaniu 10-krotnej kroswalidacji 1 require ( ipred ) 2 # 10 - krotna kroswalidacja dla metody LDA - dane iris 3 errorest ( Species ~., data=iris, model=lda, estimator = " cv", predict = mypredict. lda ) 10-fold cross-validation estimator of misclassification error Misclassification error: 0.02

Przykład - dane iris Wyznaczenie błędu dla metody LDA przy zastosowaniu metody bootstrap 1 # Estymacja błędu metodą bootstrap dla metody LDA - dane iris 2 errorest ( Species ~., data=iris, model=lda, estimator = " boot ", predict = mypredict. lda ) Bootstrap estimator of misclassification error with 25 bootstrap replications Misclassification error: 0.0312 Standard deviation: 0.0035

Przykład - dane iris Dla metody QDA 1 # przekształcenie funkcji predict, tak aby zwracała tylko indeksy klas 2 mypredict. qda <- function ( object, newdata ){ 3 predict ( object, newdata = newdata )$class 4 } Wyznaczenie błędu dla metody QDA przy zastosowaniu 10-krotnej kroswalidacji 1 # 10 - krotna kroswalidacja dla metody LDA - dane iris 2 errorest ( Species ~., data=iris, model=qda, estimator = " cv", predict = mypredict. qda ) 10-fold cross-validation estimator of misclassification error Misclassification error: 0.02

Przykład - dane iris Wyznaczenie błędu dla metody QDA przy zastosowaniu metody bootstrap 1 # Estymacja błędu metodą bootstrap dla metody LDA - dane iris 2 errorest ( Species ~., data=iris, model=qda, estimator = " boot ", predict = mypredict. qda ) Bootstrap estimator of misclassification error with 25 bootstrap replications Misclassification error: 0.0316 Standard deviation: 0.0038

Koszty błędnej klasyfikacji W przypadku zadania konstrukcji klasyfikatora, błędy przez ten klasyfikator popełniane wiążą się często z poniesieniem określonych kosztów. Na przykład w przypadku danych medycznych, klasyfikacja pacjentów chorych do grupy osób zdrowych, jak i osób zdrowych do grupy osób chorych wiąże się z kosztami. W przypadku takich testów znacznie groźniejsza w skutkach jest decyzja o zaklasyfikowaniu osoby jako zdrowej, w sytuacji gdy pacjent jest w rzeczywistości chory. Koszt błędnej decyzji polegającej na stwierdzeniu choroby, gdy pacjent w rzeczywistości jest zdrowy, powinnien być mniejszy. Oznacza to zatem, że nie wszystkie błędne decyzje klasyfikatora są równie kosztowne

Koszty błędnej klasyfikacji A więc liczba błędnych decyzji nie daje pełnej informacji o tym jak dobry jest dany klasyfikator. Chcemy nie tylko ograniczyć liczbę błędnych klasyfikacji, ale również, jeśli już jakieś błędy muszą być popełnione, to wolelibyśmy klasyfikować zdrowych jako chorych a nie odwrotnie. W takich przypadkach definiuje się cztery rodzaje wyników: TP- True Positives - liczba przypadków, gdy test poprawnie dał wynik dodatni (pozytywny) TN- True Negatives - liczba poprawnych wyników ujemnych (negatywnych) FP- False Positives - liczba fałszywych wyników dodatnich (test dał wynik dodatni, mimo że pacjent był zdrowy) FN- False Negatives - liczba fałszywych wyników ujemnych (test dał wynik ujemny, mimo że pacjent był chory)

Koszty błędnej klasyfikacji Możemy to opisać za pomocą tabeli : Osoba klasyfikowana Osoba klasyfikowana jako zdrowa jako chora Osoba jest zdrowa TN FP Osoba jest chora FN TP TN, TP - poprawne decyzje FN, FP - błędy Oszacowanie prawdopodobieństwa błędnej klasyfikacji uwzględniające tylko liczbę błędów: FP + FN TN + FP + FN + TP - nie uwzględnia różnych typów błędów.

Czułość i specyficzność Osoba klasyfikowana Osoba klasyfikowana jako zdrowa jako chora Osoba jest zdrowa TN FP Osoba jest chora FN TP Uwzględnienie dwóch rodzajów błędów prowadzi do pojęć czułości i specyficzności testu: Czułość = Specyficzność = TP TP + FN TN TN + FP = 1 FP TN + FP

Czułość i specyficzność Czułość testu oszacowanie prawdopodobieństwa przewidzenia przez test choroby, pod warunkiem że pacjent jest chory na badaną chorobę. Specyficzność testu oszacowanie prawdopodobieństwa przewidzenia przez test, że pacjent jest zdrowy, pod warunkiem, że rzeczywiście nie jest on chory na badaną chorobę. Chcielibyśmy aby test był czuły, tzn dawał wynik dodatni, gdy pacjent jest chory, i jednocześnie żeby był specyficzny, tzn nie dawał wyniku pozytywnego, gdy pacjent jest zdrowy. Maksymalna czułość (równa 1) oznacza, że test zawsze daje wynik dodatni. Maksymalna czułość zerowa specyficzność

Czułość i specyficzność Czułość i specyficzność są wymaganiami przeciwstawnymi - zwiększenie jednego powoduje spadek drugiego. Jednoczesna maksymalizacja tych dwóch wielkości nie jest możliwa. Optymalny klasyfikator (test) wybieramy na podstawie subiektywnej oceny - jako ten, który zapewnia najlepszy kompromis pomiędzy czułością a specyficznością. Sumarycznej informacji o zachowaniu się danego klasyfikatora przy zmiennych kosztach błędnych decyzji daje krzywa operacyjno-charakterystyczna (krzywa ROC). Jest to wykres zależności między zmiennymi Czułość i 1- Specyficzność

Przykład - dane iris Rozważmy model regresji logistycznej dla danych iris. Aby móc analizować dane w ten sposób zmienna objaśniana musi mieć wartości 0-1. Aby to uzyskać wybieramy jeden z gatunków analizowanych roślin ( np versicolor) i to czy obserwacja pochodzi z tego gatunku czy nie oznaczamy odpowiednio 1 i 0 Taką zmienną traktujemy jako nową zmienną objaśnianą. 1 Z = Species == " versicolor " >Z [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE... [46] FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE [61] TRUE TRUE...

Przykład - dane iris Dopasowujemy model logistyczny 1 logistic. model = glm (Z ~ Sepal. Length + Sepal. Width + Petal. Length + Petal. Width, family = binomial ()) Call: glm(formula = Z ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width, family = binomial()) Coefficients: (Intercept) Sepal.Length Sepal.Width Petal.Length Petal.Width 7.3785-0.2454-2.7966 1.3136-2.7783

Przykład - dane iris Wartości zmiennej Z dopasowane przez model (Ẑ) 1 ## wartości przewidywane przez model 2 logistic. scores = predict ( logistic. model, type = " response ") > logistic.scores 1 2 3 4 5 0.084913218 0.282917869 0.171982672 0.268014581 0.067075197 Wyznaczenie TP, TN, FP, FN 1 logistic. rocr = prediction ( logistic. scores, Z) Rysunek krzywej ROC: 1 plot ( performance ( logistic. rocr, " tpr ", " fpr "), col = " red ", ylab= Czułość, xlab= 1- Specyficzność )

Przykład - dane iris - krzywa ROC dla modelu regresji logistycznej