Przedział ufności dla krzyżowo potwierdzonej dokładności klasyfikacji

11

Pracuję nad problemem klasyfikacji, który oblicza podobieństwo między dwoma wejściowymi obrazami rentgenowskimi. Jeśli obrazy przedstawiają tę samą osobę (etykieta „prawa”), obliczona zostanie wyższa metryka; wprowadzenie obrazów dwóch różnych osób (oznaczenie „zły”) spowoduje obniżenie wartości.

Użyłem warstwowej 10-krotnej walidacji krzyżowej, aby obliczyć prawdopodobieństwo błędnej klasyfikacji. Mój obecny rozmiar próbki wynosi około 40 prawidłowych dopasowań i 80 nieprawidłowych dopasowań, gdzie każdy punkt danych jest obliczoną miarą. Otrzymuję prawdopodobieństwo błędnej klasyfikacji 0,00, ale potrzebuję w tym zakresie analizy przedziału ufności / analizy błędów.

Zastanawiałem się nad zastosowaniem dwumianowego przedziału ufności proporcji (gdzie wykorzystałbym wyniki weryfikacji krzyżowej jako poprawne etykietowanie lub nieprawidłowe etykietowanie dla mojej liczby sukcesów). Jednak jednym z założeń analizy dwumianowej jest takie samo prawdopodobieństwo sukcesu dla każdej próby i nie jestem pewien, czy można uznać, że metoda klasyfikacji „dobra” lub „zła” w walidacji krzyżowej ma takie samo prawdopodobieństwo sukcesu.

Jedyną inną analizą, jaką mogę wymyślić, jest powtórzenie X-krotnej walidacji i obliczenie średniej / odchylenia standardowego błędu klasyfikacji, ale nie jestem pewien, czy jest to właściwe, ponieważ ponownie wykorzystam dane z mojego stosunkowo niewielka próbka kilka razy.

jakieś pomysły? Korzystam z MATLAB do wszystkich moich analiz i mam przybornik Statystyka. Byłbym wdzięczny za wszelką pomoc!

Sean
źródło
Prawdopodobieństwo błędnej klasyfikacji równe 0,00 oznacza, że ​​otrzymujesz 100% dokładności klasyfikacji dla każdego z 10 fałdów walidacji krzyżowej?
ameba
Tak, to jest poprawne. Każda z fałd nie skutkowała błędnymi klasyfikacjami; 0,00, który podałem, reprezentuje całkowitą liczbę błędnych klasyfikacji (0) spośród całkowitej liczby przypadków testowych (120).
Sean
BTW, co dokładnie rozumiesz przez „warstwową” walidację krzyżową? Przy każdym foldowaniu CV masz 120/10 = 12 próbek testowych, zawsze 4 dopasowania i 8 niezgodnych?
ameba
Tak, właśnie o to chodzi - przynajmniej tak rozumiem, jak to się robi w MATLAB. Każda zakładka powinna zawierać tę samą proporcję „właściwych” / „złych” etykiet klas, czyli 1: 2.
Sean

Odpowiedzi:

7

Wpływ niestabilności na przewidywania różnych modeli zastępczych

Jednak jednym z założeń analizy dwumianowej jest takie samo prawdopodobieństwo sukcesu dla każdej próby i nie jestem pewien, czy można uznać, że metoda klasyfikacji „dobra” lub „zła” w walidacji krzyżowej ma takie samo prawdopodobieństwo sukcesu.

Cóż, zwykle ta równoważność jest założeniem, które jest również potrzebne, aby umożliwić połączenie wyników różnych modeli zastępczych.

W praktyce twoja intuicja, że ​​to założenie może zostać naruszone, jest często prawdziwa. Ale możesz zmierzyć, czy tak jest. W tym miejscu uważam, że iteracja krzyżowej walidacji jest pomocna: stabilność prognoz dla tego samego przypadku przez różne modele zastępcze pozwala ocenić, czy modele są równoważne (prognozy stabilne), czy nie.

Oto schemat iteracji (czyli powtarzanej) krotnej walidacji krzyżowej:k
iterowana k-krotna walidacja krzyżowa

Klasy są czerwone i niebieskie. Koła po prawej symbolizują prognozy. W każdej iteracji każda próbka jest przewidywana dokładnie raz. Zwykle średnia średnia jest używana jako oszacowanie wydajności, domyślnie zakładając, że wydajność modeli zastępczych jest równa. Jeśli szukasz każdej próbki na podstawie prognoz wykonanych przez różne modele zastępcze (tj. W kolumnach), możesz zobaczyć, jak stabilne są prognozy dla tej próbki.ik

Możesz także obliczyć wydajność dla każdej iteracji (blok 3 wierszy na rysunku). Wszelkie rozbieżności między nimi oznaczają, że założenie, że modele zastępcze są równoważne (względem siebie, a ponadto „wielki model” zbudowany na wszystkich przypadkach) nie jest spełnione. Ale to również mówi ci, ile masz niestabilności. W przypadku proporcji dwumianowej myślę, o ile prawdziwa wydajność jest taka sama (tj. Niezależnie od tego, czy zawsze te same przypadki są błędnie prognozowane lub czy ta sama liczba, ale różne przypadki są błędnie prognozowane). Nie wiem, czy można rozsądnie założyć konkretny rozkład wydajności modeli zastępczych. Ale myślę, że w każdym razie przewaga nad obecnie powszechnym zgłaszaniem błędów klasyfikacji, jeśli w ogóle zgłosisz tę niestabilność.kk modeli zastępczych zebrano już dla każdej z iteracji, wariancja niestabilności jest około razy większa niż zaobserwowana wariancja między iteracjami.k

Zwykle muszę pracować z mniej niż 120 niezależnymi przypadkami, więc na moich modelach wprowadziłem bardzo silną regularyzację. Jestem wtedy zazwyczaj w stanie wykazać, że wariancja jest niestabilność niż wielkość próby testu wariancji skończonych. (I myślę, że jest to uzasadnione dla modelowania, ponieważ ludzie są skłonni do wykrywania wzorców, a tym samym przyciągają do budowania zbyt skomplikowanych modeli, a tym samym do nadmiernego dopasowania). Zazwyczaj zgłaszam percentyle obserwowanej wariancji niestabilności w ciągu iteracji (oraz , i ) oraz dwumianowe przedziały ufności w odniesieniu do średniej obserwowanej wydajności dla skończonej wielkości próbki testowej.n k i
nki

Rysunek jest nowszą wersją rys. 5 w tym artykule: Beleites, C. i Salzer, R .: Ocena i poprawa stabilności modeli chemometrycznych w sytuacjach o małej wielkości próby, Anal Bioanal Chem, 390, 1261-1271 (2008). DOI: 10.1007 / s00216-007-1818-6
Zauważ, że kiedy pisaliśmy ten artykuł, nie do końca zdałem sobie sprawę z różnych źródeł wariancji, które tu wyjaśniłem - pamiętaj o tym. Dlatego uważam, że argumentacjapodana efektywna ocena wielkości próby jest nieprawidłowa, mimo że wniosek, że różne typy tkanek w obrębie każdego pacjenta dostarczają tyle samo ogólnych informacji, co nowy pacjent z danym typem tkanki jest prawdopodobnie nadal aktualny (mam zupełnie inny typ dowód, który również wskazuje w ten sposób). Jednak nie jestem jeszcze całkowicie tego pewien (ani tego, jak to zrobić lepiej, a tym samym móc sprawdzić), a ten problem nie ma związku z twoim pytaniem.


Jakiej wydajności użyć w dwumianowym przedziale ufności?

Do tej pory korzystałem ze średniej obserwowanej wydajności. Można również użyć najgorszej zaobserwowanej wydajności: im bliższa jest obserwowanej wydajności do 0,5, tym większa jest wariancja, a tym samym przedział ufności. Tak więc przedziały ufności obserwowanej wydajności najbliższe 0,5 dają pewien konserwatywny „margines bezpieczeństwa”.

Zauważ, że niektóre metody obliczania dwumianowych przedziałów ufności działają również, jeśli zaobserwowana liczba sukcesów nie jest liczbą całkowitą. Używam „integracji prawdopodobieństwa Bayesa a posteriori”, jak opisano w
Ross, TD: Dokładne przedziały ufności dla proporcji dwumianowej i estymacji Poissona, Comput Biol Med, 33, 509-531 (2003). DOI: 10.1016 / S0010-4825 (03) 00019-2

(Nie wiem dla Matlaba, ale w R możesz używać binom::binom.bayesz obydwoma parametrami kształtu ustawionymi na 1).


Te myśli dotyczą modeli predykcyjnych zbudowanych na podstawie tego zbioru danych treningowych dla nieznanych nowych przypadków. Jeśli chcesz wygenerować dane do innych zestawów danych treningowych pochodzących z tej samej populacji przypadków, musisz oszacować, ile modeli wyszkolonych na nowych próbach treningowych o wielkości różni się. (Nie mam pojęcia, jak to zrobić inaczej niż poprzez uzyskanie „fizycznych” nowych zestawów danych treningowych)n

Zobacz także: Bengio, Y. i Grandvalet, Y .: Brak bezstronnego szacownika wariancji krzyżowej weryfikacji K-Fold, Journal of Machine Learning Research, 2004, 5, 1089-1105 .

(Myślenie o tych rzeczach znajduje się na mojej liście badań ..., ale ponieważ pochodzę z nauki eksperymentalnej, lubię uzupełniać wnioski teoretyczne i symulacyjne danymi eksperymentalnymi - co jest tutaj trudne, ponieważ potrzebowałbym dużej zestaw niezależnych przypadków do testowania referencyjnego)


Aktualizacja: czy uzasadnione jest przyjęcie rozkładu biometrycznego?

Widzę k-fold CV podobny do następującego eksperymentu polegającego na rzucaniu monetą : zamiast rzucać jedną monetą wiele razy, monet wyprodukowanych przez tę samą maszynę rzuca się mniejszą liczbę razy. Na tym zdjęciu myślę, że @Tal wskazuje, że monety nie są takie same. Co oczywiście jest prawdą. Myślę, że to, co należy i co można zrobić, zależy od założenia równoważności dla modeli zastępczych.k

Jeśli faktycznie występuje różnica w wydajności między modelami zastępczymi (monetami), nie ma „tradycyjnego” założenia, że ​​modele zastępcze są równoważne. W takim przypadku nie tylko rozkład nie jest dwumianowy (jak powiedziałem powyżej, nie mam pojęcia, jakiego rozkładu użyć: powinna to być suma dwumianów dla każdego modelu zastępczego / każdej monety). Należy jednak pamiętać, że oznacza to, że łączenie wyników modeli zastępczych nie jest dozwolone. Tak więc dwumianowy dla testów nie jest dobrym przybliżeniem (staram się poprawić przybliżenie, mówiąc, że mamy dodatkowe źródło zmienności: niestabilność), ani też średniej wydajności nie można użyć jako oszacowania punktowego bez dalszego uzasadnienia.n

Jeśli z drugiej strony (prawdziwe) działanie surogatu jest takie samo, to znaczy, że mam na myśli „modele są równoważne” (jednym z symptomów jest to, że prognozy są stabilne). Myślę, że w tym przypadku wyniki wszystkich modeli zastępczych można połączyć, a zastosowanie dwumianowego rozkładu dla wszystkich testów powinno być OK: Myślę, że w takim przypadku uzasadnione jest przybliżenie prawdziwych wartości modeli zastępczych, aby były równe , a zatem opisz test jako równoważny rzuceniu jedną monetą razy.p nnpn

cbeleites niezadowoleni z SX
źródło
Cześć @cbeleites, właśnie skomentowałem, że moja analiza CV daje 2 unikalne wartości dla tego konkretnego zestawu danych (niektóre inne zestawy danych mają N unikalnych wartości, z N zwykle mniejszą niż 5), tak jak opisana powyżej ameba. Biorąc to pod uwagę, jak mogę pokazać, że moje prognozy są stabilne, używając tylko jednego zestawu danych i CV? Jeśli chodzi o rozkład dwumianowy, zastanawiałem się nad odstępem Agresti-Coull (może pracować dla wysokiego wskaźnika sukcesu / 100% wskaźnika sukcesu bez przerywania). Wygląda na to, że mówisz, że mogę użyć rozkładu dwumianowego, ale wciąż nie jestem pewien, jak uzasadnić to założenie o tym samym prawdopodobieństwie sukcesu.
Sean
@cbeleites: [Usunąłem mój poprzedni komentarz do twojej odpowiedzi i skopiowałem tutaj jej część.] Ale co to znaczy, że „przewidywania są stabilne”? Powtarzające się CV nie dają absolutnie identycznych wyników. Na przykład, powiedzmy, że OP wykonuje 1000 powtórzeń CV i otrzymuje poziomy błędów od 0/120 do 2/120 z pewnym rozkładem. Czy jest jakiś sposób na połączenie tej wariancji z wariancją dwumianową? A dla którego oblicza się zatem przedział dwumianowy? p
ameba
1
@amoeba: Nie mam pojęcia, jak połączyć rozkład dwumianowy z nieznanym rozkładem z powodu niestabilności w jednym przedziale ufności. Podaję więc zaobserwowane percentyle dla (nie) stabilności i dwumianowego ci dla skończonej wielkości próbki testowej. Jak je połączyć, to jedno z pytań badawczych, które trzymam w głowie, ale do tej pory nie znalazłem rozwiązania ani nie spotkałem nikogo, kto by go miał. Chyba dotarliśmy do czołówki badań ...
cbeleites niezadowoleni z SX
1
@Sean: Czy widziałeś moje ostatnie pytanie dotyczące powiązanych problemów? W komentarzach toczy się bardzo interesująca (dla mnie) dyskusja, a ja sam obecnie pracuję nad niektórymi symulacjami. Doszedłem do wniosku, że założenie dwumianowe jest bardzo błędne! Możesz być także zainteresowany kilkoma referencjami, pod warunkiem, że twierdzą to samo.
ameba
1
@Sean: Postaram się aktualizować te dwa wątki, co oznacza, że ​​po (i jeśli) problem zostanie wyjaśniony dalej, postaram się streścić tam sytuację, a także udzielić nowej odpowiedzi tutaj. Na razie zauważyłeś, że ten artykuł jest połączony z innym wątkiem? Autorzy omawiają dokładnie twoje pytanie i przedstawiają procedurę ładowania, która według nich działa dobrze. Gdybym miał teraz napisać odpowiedź na twoje pytanie, poleciłbym ich procedurę. Ale najpierw warto sprawdzić 24 artykuły, które cytują ten papier.
ameba
3

Myślę, że twój pomysł wielokrotnego powtarzania weryfikacji krzyżowej jest słuszny.

Powtórz CV, powiedzmy 1000 razy, za każdym razem dzieląc dane na 10 części (dla 10-krotnego CV) w inny sposób ( nie tasuj etykiet). Otrzymasz 1000 oszacowań dokładności klasyfikacji. Oczywiście ponownie wykorzystasz te same dane, więc te 1000 oszacowań nie będzie niezależnych. Jest to jednak podobne do procedury ładowania początkowego: można przyjąć odchylenie standardowe w stosunku do tych dokładności jako błąd standardowy średniej z ogólnego estymatora dokładności. Lub przedział 95% percentyla jako przedział ufności 95%.

Alternatywnie możesz połączyć pętlę weryfikacji krzyżowej z pętlą ładowania początkowego i po prostu wybrać losowy (być może losowo stratyfikowany) 10% swoich danych jako zestaw testowy i zrobić to 1000 razy. Dotyczy to również tego samego rozumowania, co powyżej. Spowoduje to jednak większą wariancję w stosunku do powtórzeń, więc myślę, że powyższa procedura jest lepsza.

Jeśli wskaźnik błędnej klasyfikacji wynosi 0,00, klasyfikator popełnia zero błędów, a jeśli zdarzy się to przy każdej iteracji ładowania początkowego, otrzymasz zerowy przedział ufności. Ale to po prostu oznaczałoby, że twój klasyfikator jest prawie idealny, więc dla ciebie dobry.

ameba
źródło
Cześć @amoeba, dziękuję za odpowiedź. Czy mógłbyś wyjaśnić nieco więcej na temat swojej pierwszej sugestii powtórzenia CV 1000 razy przez losowe permutowanie próbek? Czy powinna istnieć wcześniej ustalona proporcja zestawu testowego: zestaw treningowy (np. 10:90 dla 10-krotnej walidacji krzyżowej)? Myślę, że jestem trochę niejasny, jak powtórzenie 10-krotnej walidacji zwiększyłoby wariancję w czasie.
Sean
1
Obawiam się, że druga sugerowana przez @amoeba procedura jest zbyt optymistyczna: niezbyt doskonały klasyfikator może mieć doskonałą wydajność w danym zestawie danych (na przykład załóżmy, że masz tylko 4 próbki - klasyfikacja wszystkich wynosi 1: 8 poprawnie przez przypadek). Jak zauważyła ameba, pomiar wariancji dla różnych przydziałów fałdów podczas testu pociągu da przedział ufności 0 szerokości, co w tym przypadku jest wyraźnie niepoprawne.
Trisoloriansunscreen
1
Myślę, że ostatecznie ten problem sprowadza się do znalezienia prawdopodobieństwa zaobserwowania danych, które są inne niż te, których wcześniej nie zaobserwowałem. Uzyskanie przedziałów ufności dla mojej próbki jest tym, co @amoeba zasugerowało dla mojego pierwotnego pytania (użyłem losowych fałdów dla każdej iteracji CV), a wynik wygląda bardziej realistycznie (95% CI: [0,0028, 0,0033]). Nie wiem jednak, czy istnieje inna technika, która byłaby lepsza do przewidywania danych w przyszłości. Być może jakieś podejście oparte na modelu, w którym dopasowuję krzywe do moich danych i obliczam ich nakładanie się?
Sean
3
@amoeba: Dziękuję za wyjaśnienie, chyba nie przeczytałem twojej odpowiedzi wystarczająco uważnie. Nadal jednak niepokoi mnie optymistyczne nastawienie do tego podejścia (obie procedury). Mierząc dokładność podczas próby różnych podziałów CV, oceniasz zmienność, która jest spowodowana przez dowolny podział. Jednak ignorujesz fakt, że twoje wszystkie dane są losową próbą większej populacji obserwacji (których nie zebrałeś). Jeśli masz mały zestaw danych, który przypadkowo osiąga doskonałą wydajność (niezależnie od podziałów CV), przedział ufności wynosi zero i jest to niepoprawne.
Trisoloriansunscreen
1
@amoeba: To trudne, ponieważ nie można samodzielnie uruchomić obserwacji (w takim przypadku należy rozważyć klasyfikator najbliższego sąsiada). Sam zmagam się z tym problemem, zobaczmy, czy ktoś inny wpadnie na jakiś pomysł.
Trisoloriansunscreen
2

Błąd klasyfikacji jest nieciągły i stanowi niewłaściwą zasadę punktacji. Ma niską precyzję, a optymalizacja wybiera niewłaściwe funkcje i nadaje im niewłaściwe wagi.

Frank Harrell
źródło
Nie może to stanowić problemu dla OP, jeśli uzyska on 99-100% potwierdzonej krzyżowo dokładności klasyfikacji.
ameba
1
@amoeba: Problemem może być także przestrzeganie prawidłowych proporcji zbliżonych do 100 lub 0%: w przeciwieństwie do miar wydajności opartych na ciągłych wynikach, każdy rodzaj wydajności mierzony po dychotomizacji (utwardzaniu) ciągły wynik klasyfikacji nie może wskazywać prognozy zbliżają się do granicy decyzji, o ile nadal są po właściwej stronie. Jednak IMHO ma uzasadnione powody, aby zgłaszać miary wydajności proporcjonalne (np. Jeśli czytelnicy / współpracownicy je rozumieją, ale nie rozumieją np. Wyników Briera). Nie chciałem tego otwierać ...
cbeleites niezadowoleni z SX
... linia dyskusji, ponieważ w pytaniu nie było żadnych wskazówek na temat optymalizacji (gdzie to staje się naprawdę ważne).
cbeleites niezadowoleni z SX
Jeśli obliczasz proporcję sklasyfikowaną „poprawnie”, musisz to zrobić z jakiegoś powodu, np. W celu wydania orzeczenia lub podjęcia działania. Odsetek ten wprowadza w błąd w tych celach.
Frank Harrell
1
@FrankHarrell: Myślę, że powodem jest zgłoszenie tego w formie papierowej. Czy uważasz, że ludzie powinni w ogóle przestać zgłaszać dokładności klasyfikacji?
ameba