Sprawdzanie, czy poprawa dokładności jest znacząca

14

Załóżmy, że mam algorytm, który dzieli rzeczy na dwie kategorie. Mogę zmierzyć dokładność algorytmu na powiedzmy 1000 rzeczy testowych - załóżmy, że 80% rzeczy jest poprawnie sklasyfikowanych.

Załóżmy, że zmodyfikowałem algorytm w taki sposób, aby 81% rzeczy zostało poprawnie sklasyfikowanych.

Czy statystyki mogą mi powiedzieć coś o tym, czy moje ulepszenie algorytmu jest statystycznie istotne? Czy koncepcja istotności statystycznej jest odpowiednia w tej sytuacji? Proszę skierować mnie w stronę niektórych zasobów, które mogą być istotne.

Wielkie dzięki.

Ben
źródło

Odpowiedzi:

3

W skrócie tak. Znaczenie statystyczne jest tutaj istotne. Patrzysz na błąd klasyfikacji (lub, jak go tu podajesz, dokładność = 1 błąd klasyfikacji). Jeśli porównasz klasyfikatory dla różnych 1000 próbek, możesz po prostu użyć testu dwumianowego, jeśli jest to te same 1000 próbek, musisz użyć testu McNemara. Zauważ, że samo testowanie błędu klasyfikacji w ten sposób jest nieoptymalne, ponieważ albo zakładasz, że błąd klasyfikacji jest niezależny od prawdziwej klasy, albo że odsetek prawdziwych klas jest taki sam we wszystkich twoich potencjalnych aplikacjach.

Oznacza to, że powinieneś przyjrzeć się miernikom takim jak prawdziwie dodatni współczynnik, fałszywie dodatni współczynnik lub AUC. Jaka miara użyć i jak ją przetestować, zależy od wyjścia twojego klasatora. Może to być po prostu klasa lub ciągła liczba, dająca prawdopodobieństwo przynależności do określonej klasy.

Erik
źródło
To jest świetne, dziękuję. Właściwie patrzę na analizę sentymentów dokumentów tekstowych - klasyfikując je jako „pozytywne” lub „negatywne” - opublikowano wiele prac, w których ludzie w subtelny sposób zmieniają wybór funkcji, z poprawą dokładności o 1% - i piszą artykuł na ten temat. Zastanawiam się, czy w wielu z tych przypadków autorzy nie przedstawili dowodów na istotną statystycznie poprawę dokładności klasyfikacji.
Ben
Test McNemara pokazuje, czy modele są znacząco różne, co nie zawsze oznacza, że ​​różnica w dokładności jest znacząca (różne modele mogą mieć tę samą dokładność). Aby bezpośrednio sprawdzić istotność wzrostu dokładności, należy wykonać wiele oszacowań dokładności, aby odwzorować rozkłady dokładności, a tym samym oszacować, czy są one różne. Oznaczałoby to wielokrotne szkolenie modeli.
drevicko
3

Jak powiedział Erik, tak, możesz to sprawdzić pod kątem istotności statystycznej. Zastanów się jednak przez chwilę, co chcesz sprawdzić. Myślę, że bardziej interesujące może być pytanie, jak prawdopodobne jest, że rzekomo „ulepszony” algorytm jest lepszy (lub znacząco lepszy) niż oryginał, biorąc pod uwagę dane o zaobserwowanej 1% różnicy. Zadawanie pytań w zakresie „istotności statystycznej” prowadzi zwykle do pytania przeciwnego: biorąc pod uwagę, że oba algorytmy są takie same, czy istnieje mniej niż 5% szans na zaobserwowanie poprawy przynajmniej o tyle?

Dla mnie to ostatnie pytanie jest odwrócone, ale w jakiś sposób stało się standardem. Możesz sprawdzić Wikipedię na temat kontrowersji w testowaniu hipotez statystycznych . Następnie możesz być zainteresowany wnioskowaniem bayesowskim . Jeśli naprawdę chcesz dostać się do analizy danych bayesowskich, możesz sprawdzić „Analiza danych bayesowskich” Gelmana i innych lub sprawdzić to pytanie .

Michael McGowan
źródło
2

Zastosowanie odpowiedzi Erika do odpowiedzi Michaela :

Możesz robić to samo myślenie, do którego odnosi się Erik przy wyborze miary wydajności.

Uważam, że pomocne jest odniesienie się do różnych takich środków przez pytania, na które odpowiadają (tutaj w języku diagnostyki medycznej, który znam najbardziej - ale może po prostu możesz zastąpić pacjenta tekstem, a chorobę spamem ;-)):

  • Wrażliwość: biorąc pod uwagę, że pacjent naprawdę cierpi na tę chorobę, jakie jest prawdopodobieństwo, że klasyfikator to zauważy?

  • Specyfika: biorąc pod uwagę fakt, że pacjent naprawdę nie cierpi na tę chorobę, jakie jest prawdopodobieństwo, że klasyfikator to zauważy?

  • Pozytywna wartość predykcyjna: biorąc pod uwagę, że klasyfikator twierdzi, że pacjent jest chory, jakie jest prawdopodobieństwo, że pacjent rzeczywiście cierpi na tę chorobę?

  • Negatywna wartość predykcyjna: biorąc pod uwagę, że klasyfikator twierdzi, że pacjent nie jest chory, jakie jest prawdopodobieństwo, że pacjent naprawdę nie choruje?

Jak widać, wartości predykcyjne są tym, czym tak naprawdę interesują lekarze i pacjenci. Jednak prawie każdy charakteryzuje jego klasyfikator czułością i swoistością. Powodem jest to, że wartości predykcyjne muszą brać pod uwagę występowanie choroby i mogą się znacznie różnić (rzędy wielkości!) Dla różnych rodzajów pacjentów.

Więcej na temat pytania:

Założę się, że masz rację, martwiąc się.

Biorąc przykład z obu scenariuszy Erika:

Oto niezależne próbki testowe:

> binom.test (x = 810, n = 1000, p = 0.8)

    Exact binomial test

data:  810 and 1000 
number of successes = 810, number of trials = 1000, p-value = 0.4526
alternative hypothesis: true probability of success is not equal to 0.8 
95 percent confidence interval:
 0.7842863 0.8338735 
sample estimates:
probability of success 
                  0.81 

(zauważ, że ten test był dwustronny, zakładając, że dwa klasyfikatory zostałyby opublikowane, nawet gdyby wyniki były odwrotne ...)

Oto najlepsza możliwa sytuacja: test sparowany, a nowy klasyfikator jest odpowiedni dla wszystkich próbek, stary też ma rację, plus 10 dodatkowych:

> ## mc.nemar: best possible case
> oldclassif <- c (rep ("correct", 800), rep ("wrong", 200))
> newclassif <- c (rep ("correct", 810), rep ("wrong", 190))
> table (oldclassif, newclassif)
          newclassif
oldclassif correct wrong
   correct     800     0
   wrong        10   190
> mcnemar.test (oldclassif, newclassif)

    McNemar's Chi-squared test with continuity correction

data:  oldclassif and newclassif 
McNemar's chi-squared = 8.1, df = 1, p-value = 0.004427

(wartość p pozostaje poniżej magicznego 0,05, o ile nie więcej niż 10 próbek na 1000 zostało inaczej przewidzianych przez dwa klasyfikatory).

Nawet jeśli wartości p są prawidłową odpowiedzią na złe pytanie, istnieją oznaki, że jest to trochę ciasne miejsce.

Jednak biorąc pod uwagę zwykłą praktykę naukową, tj. Przetestowano nieznaną (niepublikowaną) liczbę nowych funkcji, a opublikowano tylko tę, która działała nieco lepiej, miejsce staje się jeszcze ściślejsze. A następnie 80% klasyfikator może być następcą około 79% klasyfikatora ...

Jeśli lubisz czytać po niemiecku, znajdziesz naprawdę fajne książki Beck-Bornhold i Dubben. Jeśli dobrze pamiętam, Mit an Wahrscheinlichkeit grenzender Sicherheit bardzo miło omawia te problemy. (Nie wiem, czy istnieje wydanie angielskie, dość dosłowne tłumaczenie tytułu brzmi „Z pewnością graniczy z prawdopodobieństwem”)

cbeleites niezadowoleni z SX
źródło
1

Bardzo odradzałbym stosowanie jakichkolwiek nieciągłych niewłaściwych reguł punktacji (ocena dokładności, taka jak czułość, specyficzność, odsetek sklasyfikowany jako poprawny, który po zoptymalizowaniu wyników w fałszywym modelu) i zamiast tego stosowałbym testy współczynnika wiarygodności lub częściowe testy F dla wartości dodanej nowego zmienne.

Jednym z kilku sposobów postrzegania problemów z prawidłową klasyfikacją proporcji jest to, że jeśli ogólna proporcja w jednej kategorii wynosi 0,9, poprawi się 0,9 czasu, ignorując dane i klasyfikując każdą obserwację jako należącą do tej kategorii.

Frank Harrell
źródło
2
Tak, czasami dokładność jest kiepskim miernikiem, a czasem wspaniałą metodą; to zależy. Wydaje się to jednak całkowicie styczne do tego, o co chodzi w tym pytaniu. Pytanie dotyczy ustalenia, czy nowy algorytm jest lepszy zgodnie ze znaną miarą, a nie wyboru jej w pierwszej kolejności.
Michael McGowan
Uważam, że musimy dokładnie opisać cele i funkcje narzędziowe, a jeśli nie chcemy zapewnić funkcji narzędziowych, musimy ponownie rozwiązać tę funkcję użyteczną, która jest efektywnie zakładana podczas przeprowadzania klasyfikacji.
Frank Harrell,
Czy jest jakiś powód tylu anonimowych opinii?
chl
2
@chl Myślałem, że wyjaśniłem, że głosowałem za to, że tak naprawdę nie odpowiedziałem na zadane pytanie.
Michael McGowan
@MichaelMcGowan Wystarczająco fair.
chl