Rozróżnienie między dwiema grupami w statystyce i uczeniu maszynowym: test hipotez a klasyfikacja vs. grupowanie

29

Załóżmy, że mam dwie grupy danych, oznaczone A i B (każda zawiera np. 200 próbek i 1 cechę), i chcę wiedzieć, czy są one różne. Mógłbym:

  • a) wykonać test statystyczny (np. test t), aby sprawdzić, czy są statystycznie różne.

  • b) korzystać z nadzorowanego uczenia maszynowego (np. klasyfikatora wektorów wsparcia lub losowego klasyfikatora lasu). Mogę to wyszkolić na części moich danych i zweryfikować na pozostałych. Jeśli następnie algorytm uczenia maszynowego poprawnie klasyfikuje resztę, mogę być pewien, że próbki są rozróżnialne.

  • c) użyj nienadzorowanego algorytmu (np. K-Means) i pozwól mu podzielić wszystkie dane na dwie próbki. Następnie mogę sprawdzić, czy te dwie znalezione próbki zgadzają się z moimi etykietami, A i B.

Moje pytania to:

  1. W jaki sposób te trzy różne sposoby nakładają się / wykluczają?
  2. Czy b) ic) są użyteczne dla jakichkolwiek naukowych argumentów?
  3. Jak mogę uzyskać „znaczenie” dla różnicy między próbkami A i B z metod b) ic)?
  4. Co zmieniłoby się, gdyby dane miały wiele funkcji, a nie jedną?
  5. Co się stanie, jeśli będą zawierać inną liczbę próbek, np. 100 vs 300?
MaxG
źródło
3
Chciałbym powiedzieć, że różnica pomiędzy (a) i (b) jest to, że skupiają się na testy statystyczne, czy jest różnica, natomiast metody klasyfikacji skupić się na wielkości tej różnicy. Korzystając z losowego lasu, chcesz poznać dokładność zweryfikowaną krzyżowo; może to 78%. To jest liczba, którą jesteś zainteresowany, a nie stwierdzanie, że nie jest równa 50% .
ameba mówi Przywróć Monikę
4
Sytuacje IMHO, w których sens ma wartość a / b / c, różnią się typowym stosunkiem sygnału do szumu i rośnie z (a) do (b) do (c). W typowym zastosowaniu testu t występuje wysoki poziom hałasu; chcemy pokazać, że grupy nie są równe. Jeśli grupy oczywiście nie są równe (mniej hałasu), tak naprawdę nie potrzebujemy już testu; zamiast tego chcemy oszacować, jak różne są grupy, a dokładność klasyfikacji poza próbą może tutaj pomóc. Jeśli szum jest jeszcze mniejszy, a dokładność klasyfikacji wynosi ~ 100%, możemy zapytać, czy grupy są tak bardzo odrębne, że można je wykryć za pomocą algorytmu grupowania.
ameba mówi Przywróć Monikę
1
@amoeba, zwracam się do ciebie, ponieważ edytujesz tytuł pytania itp. Poprosiłbym cię o rozważenie jeszcze raz. „Klasyfikacja” i „grupowanie”: nie są (wyłącznym) posiadaniem uczenia maszynowego. Zadania te pojawiły się i były rutynowo wykonywane w analizie statystyk / danych przed pierwszym m. urodził się uczeń. Odnosi się to tylko do kilku najnowszych technik, takich jak SVM, które ewoluowały z powodu ML i wewnątrz niej. Niewłaściwe jest kojarzenie klasyfikacji / klastrowania / drzew tylko z ML. ML różni się jednak od analizy danych statystycznych tym, że intensywnie wykorzystuje pociąg / test.
ttnphns
@ttnphns Jasne, wszystko w porządku, ale oryginalny tytuł brzmiał: „Wyróżnianie próbek: Uczenie maszynowe a testy statystyczne (np. test t)” i chciałem tylko dodać trochę precyzji, ponieważ pytanie naprawdę dotyczy pytania o test t vs klasyfikacja vs grupowanie (w tym konkretnym celu naukowym). Pomyślę o możliwych ulepszeniach tytułu.
ameba mówi Przywróć Monikę
@ttnphns Zredagowałem tytuł, zobacz, czy bardziej ci się podoba.
ameba mówi Przywróć Monikę

Odpowiedzi:

15

Świetne pytanie. Wszystko może być dobre lub złe, przydatne lub nie, w zależności od twoich celów (i być może od charakteru twojej sytuacji). W większości metody te mają na celu spełnienie różnych celów.

  • Testy statystyczne , takie jak test pozwalają przetestować hipotezy naukowe. Są często używane do innych celów (ponieważ ludzie po prostu nie są zaznajomieni z innymi narzędziami), ale generalnie nie powinny. Jeśli masz hipotezę a priori, że dwie grupy mają różne środki w zmiennej normalnie rozłożonej, to test pozwoli ci przetestować tę hipotezę i kontrolować długoterminowy poziom błędu typu I (chociaż nie będziesz wiedział, czy w tym konkretnym przypadku podałeś poziom błędu typu I). ttt
  • Klasyfikatory w uczeniu maszynowym, podobnie jak SVM, są zaprojektowane do klasyfikowania wzorców jako należących do jednego ze znanego zestawu klas. Typowa sytuacja polega na tym, że masz kilka znanych instancji i chcesz wyszkolić klasyfikatora przy ich użyciu, aby mógł zapewnić najdokładniejsze klasyfikacje w przyszłości, gdy będziesz mieć inne wzorce, których prawdziwa klasa jest nieznana. Nacisk kładziony jest na dokładność poza próbą ; nie testujesz żadnej hipotezy. Z pewnością masz nadzieję, że rozkład zmiennych predykcyjnych / cech różni się między klasami, ponieważ w przeciwnym razie nie będzie możliwe przyszłe wsparcie klasyfikacji, ale nie próbujesz ocenić swojego przekonania, że ​​średnie Y różnią się od X. Chcesz poprawnie zgadywać X w przyszłości, gdy Y będzie znany.
  • Algorytmy uczenia bez nadzoru, takie jak klastrowanie , są zaprojektowane do wykrywania lub narzucania struktury zbioru danych. Istnieje wiele możliwych powodów, dla których warto to zrobić. Czasami można się spodziewać, że w zbiorze danych istnieją prawdziwe, ukryte grupy i chcesz sprawdzić, czy wyniki klastrowania będą wydawać się sensowne i przydatne dla twoich celów. W innych przypadkach możesz narzucić strukturę zbioru danych, aby umożliwić redukcję danych. Tak czy inaczej, nie próbujesz przetestować hipotezy o niczym, ani nie masz nadziei, że będziesz w stanie dokładnie przewidzieć cokolwiek w przyszłości.

Mając to na uwadze, odpowiedzmy na twoje pytania:

  1. Te trzy metody różnią się zasadniczo pod względem celów, którym służą.
  2. b i c mogą być przydatne w argumentach naukowych, zależy to od charakteru tych argumentów. Zdecydowanie najczęstszy rodzaj badań naukowych koncentruje się na testowaniu hipotez. Jednak tworzenie modeli predykcyjnych lub wykrywanie utajonych wzorców jest również możliwym, uzasadnionym celem.
  3. Zazwyczaj nie próbowałbyś uzyskać „znaczenia” z metod b lub c.
  4. Zakładając, że cechy mają charakter kategoryczny (co, moim zdaniem, masz na myśli), nadal możesz testować hipotezy za pomocą czynnikowej ANOVA. W uczeniu maszynowym istnieje podtemat klasyfikacji wieloznakowej . Istnieją również metody dla wielu klastrów członkostwa / nakładających się, ale są one mniej powszechne i stanowią znacznie trudniejszy do rozwiązania problem. Przegląd tematu znajduje się w Krumpleman, CS (2010) Nakładające się klastry. Rozprawa, UT Austin, Inżynieria elektryczna i komputerowa ( pdf ).
  5. Ogólnie rzecz biorąc, wszystkie trzy rodzaje metod mają większą trudność, ponieważ liczba przypadków w poszczególnych kategoriach jest rozbieżna.
gung - Przywróć Monikę
źródło
2
Re # 4: Myślę, że źle zrozumiałeś słowo „funkcja” w OP. W uczeniu maszynowym „funkcja” oznacza po prostu zmienną. Tak więc „wiele funkcji” oznacza, że ​​można by zastosować wielowymiarową wersję testu t (takiego jak T Hotellinga), a nie silną ANOVA.
ameba mówi Przywróć Monikę
11

Nie zajmę się klastrowaniem, ponieważ zostało to rozwiązane w innych odpowiedziach, ale:

Zasadniczo problem testowania, czy dwie próbki są znacząco różne, jest znany jako testowanie dwóch próbek .

tp

Łatwiej pomyśleć o niektórych z tych problemów, jeśli skonstruujesz test z dwiema próbkami z klasyfikatora, np. Jak niedawno zaproponowali Lopez-Paz i Oquab (2017) . Procedura jest następująca:

  • XYXtrainXtestYtrainYtest
  • XtrainYtrain
  • XtestYtest
  • p^p=12p12p12

Sprawdzając wyuczony klasyfikator, możesz być w stanie zinterpretować różnice między rozkładami w pół-znaczący sposób. Zmieniając rodzinę klasyfikatorów, którą rozważasz, możesz także pomóc w przeprowadzeniu testu w poszukiwaniu pewnych różnic.

Zauważ, że ważne jest, aby dokonać podziału testu na pociąg: w przeciwnym razie klasyfikator, który właśnie zapamiętałby swoje dane wejściowe, zawsze miałby doskonałą dyskryminację. Zwiększenie części punktów w zestawie treningowym daje więcej danych do nauki dobrego klasyfikatora, ale mniej okazji, aby mieć pewność, że dokładność klasyfikacji naprawdę różni się od przypadku. Ta kompromis będzie się różnić w zależności od problemu i rodziny klasyfikatorów i nie jest jeszcze dobrze zrozumiana.

Lopez-Paz i Oquab wykazali dobre wyniki empiryczne tego podejścia w kilku problemach. Ramdas i in. (2016) dodatkowo wykazali, że teoretycznie ściśle powiązane podejście jest optymalne dla jednego konkretnego prostego problemu. „Właściwą” rzeczą do zrobienia w tym otoczeniu jest obszar aktywnych badań, ale takie podejście jest co najmniej uzasadnione w wielu ustawieniach, jeśli chcesz nieco większej elastyczności i interpretacji niż tylko zastosowanie standardowego testu.

Dougal
źródło
(+1) Również zagnieżdżone sprawdzanie poprawności jest właściwą drogą, imo. Następnie przetestuj oszacowanie wydajności otrzymane w zewnętrznej pętli ponownego próbkowania pod kątem wydajności modelu bez informacji. Jeśli dane losowe są znacznie wyższe niż oczekiwano, dane są nieco dyskryminowane.
Firebug,
@Firebug Co rozumiesz przez „wydajność modelu bez informacji”? Nie do końca rozumiem twoją proponowaną procedurę.
Dougal
2
@ Firebug Ważnym, ale subtelnym zastrzeżeniem jest to, że jeśli dokładność klasyfikacji jest szacowana na podstawie CV, nie można zastosować testu dwumianowego.
ameba mówi Przywróć Monikę
2
@Firebug Moja uwaga wciąż pozostaje: nie możesz zastosować żadnego testu z jedną próbą do AUC z różnych fałd, w szczególności z powtarzanego CV, ponieważ te szacunki nie są niezależne. To dobrze znany problem.
ameba mówi Przywróć Monikę
2
Testy permutacyjne: Zrobiłem to sam. Uruchom CV, aby uzyskać oszacowanie wydajności, a następnie przetasuj etykiety i ponownie uruchom cały potok CV (i wykonaj to tasowanie 100 lub 1000 razy, aby uzyskać rozkład zerowy). Zajmuje to jednak dużo czasu. DW do @ Firebug.
ameba mówi Przywróć Monikę
3

Tylko podejście (a) służy do testowania hipotezy.

W przypadku stosowania nadzorowanych algorytmów uczenia maszynowego (b) nie mogą one ani udowodnić, ani obalić hipotezy o dystansowaniu grup. Jeśli algorytm uczenia maszynowego nie klasyfikuje grup poprawnie, może się to zdarzyć, ponieważ użyłeś „niewłaściwego” algorytmu dla swojego problemu lub nie dostroiłeś go wystarczająco, itp. Z drugiej strony możesz „torturować” całkowicie „losowe” dane wystarczająco dużo, aby stworzyć model dopasowania, który daje dobre prognozy. Jeszcze innym problemem jest to, kiedy i skąd wiadomo, że algorytm dokonuje „dobrych” prognoz? Prawie nigdy nie dążyłbyś do 100% dokładności klasyfikacji, więc kiedy wiesz, że wyniki klasyfikacji coś udowadniają?

Algorytmy grupowania (c) nie są zaprojektowane do uczenia nadzorowanego. Nie mają na celu odtworzenia etykiet, ale zgrupowania danych pod względem podobieństw. Teraz wyniki zależą od używanego algorytmu i jakiego rodzaju podobieństw szukasz. Twoje dane mogą mieć różne podobieństwa, możesz szukać różnic między chłopcami i dziewczętami, ale algorytm może zamiast tego znaleźć grupy biednych i bogatych dzieci lub inteligentnych i mniej inteligentnych, prawo- i leworęcznych itp. Nie znajdowanie grupa, którą zamierzałeś, nie dowodzi, że grupa nie ma sensu, a jedynie, że znalazła inne „znaczące” grupowanie. Podobnie jak w poprzednim przypadku, wyniki mogą zależeć od zastosowanego algorytmu i parametrów. Czy pasowałoby Ci, gdyby jeden na dziesięć algorytmów / ustawień znalazł „Twój” etykiety? Co jeśli byłby to jeden na sto? Jak długo szukałeś przed zatrzymaniem? Zauważ, że podczas korzystania z uczenia maszynowego w zdecydowanej większości przypadków nie przestaniesz korzystać z jednego algorytmu z ustawieniami domyślnymi, a wynik może zależeć od zastosowanej procedury.

Tim
źródło
2
Dla podejścia (b): możesz zbudować test hipotezy, jak zauważono w mojej odpowiedzi, aby rozwiązać problem wiedzący, czy twój wynik jest znaczący (chociaż z pewnością jest to naiwne zastosowanie klasyfikatorów dla tego problemu). Zauważ, że jakikolwiek test hipotezy może również nie odrzucić wartości zerowej, ponieważ jest to „zły” test twojego problemu, dokładnie w taki sam sposób, jak w przypadku klasyfikatora; problem nadmiernego dopasowania został w pełni rozwiązany przez podział danych.
Dougal
@Dougal dobre punkty (+1), ale moim głównym argumentem jest to, że przy użyciu uczenia maszynowego wynik zależy od tego, jak wybrać algorytm, użyć go, przetestować i ocenić wyniki; więc wynik takiego testu w dużej mierze zależy od twoich działań. Oznacza to, że potencjalnie dwóch różnych statystyk może uzyskać różne wyniki podczas korzystania z tej metody. Z drugiej strony, przy tradycyjnych testach hipotez zależy to tylko od wyboru testu.
Tim
Co więcej, nie ma jednego „poprawnego” sposobu jego zastosowania i można łatwo nim manipulować (celowo lub nie), aby uzyskać oczekiwane wyniki.
Tim
Jeśli próbujesz tylko miliona rzeczy, dopóki nie uzyskasz pożądanego rezultatu, tak. Jeśli dokonujesz właściwego podziału danych, w tym z własnej analizy, procedura testowa jest całkowicie poprawna. Posiadanie większej liczby opcji pozwala uzyskać większą moc w sytuacjach, w których wiesz, jak je wykorzystać, ale tak daje więcej możliwości oszukiwania (przypadkowo lub w inny sposób), jeśli nie jesteś ostrożny.
Dougal
@Dougal tak, ale wynik zależy również od procedury zastosowanej do walidacji krzyżowej i samego podziału (np. Wielkość grupy testowej). Tak więc na każdym etapie wynik zależy od procedury. Co więcej, to Twoja decyzja, kiedy przestajesz się uczyć i próbujesz osiągnąć lepsze wyniki (pojedynczy algorytm z ustawieniami domyślnymi, vs pojedynczy algorytm i dostrajanie parametrów, vs wiele algorytmów - ile?). Ta procedura może wymagać poprawek do wielokrotnego testowania (ale co dokładnie?) W celu uwzględnienia zastosowanej procedury - wydaje się, że dobre wyniki na pojedynczym algorytmie z ustawieniami domyślnymi
Tim
2
  1. a) odpowiada tylko na pytanie, czy rozkład jest inny, ale nie sposób ich rozróżnienia. b) znajdzie również najlepszą wartość do rozróżnienia między tymi dwoma rozkładami. c) będzie działać, jeśli te dwie dystrybucje mają określone właściwości. Na przykład będzie działał z rozkładem normalnym, ale nie z niektórymi dwoma rozkładami modalnymi, ponieważ metoda może rozróżnić dwa tryby tej samej grupy zamiast dwóch różnych grup.

  2. c) nie jest użyteczny dla argumentów naukowych z powodu dwóch rozkładów modalnych. b) może być wykorzystany do rozróżnienia dwóch rozkładów, ponieważ można obliczyć znaczenie (patrz 3.). Chociaż nigdy go nie spotkałem.

  3. Przez ładowanie. Obliczasz model na podstawie losowych podpróbek 1000 razy. Otrzymujesz wynik, na przykład minimalną sumę błędów alfa i beta. Sortujesz wynik rosnąco. Dla 5% pewności wybierasz 950. wartość. Jeśli ta wartość jest mniejsza niż 50% (dla równej liczby punktów dla grupy A i B), to z 95% pewnością można pominąć hipotezę zerową, że rozkłady są takie same. Problem polega na tym, że jeśli oba rozkłady są normalne, mają tę samą średnią, ale mają inną odmianę, nie będziesz w stanie zrozumieć, że różnią się one technikami ML. Z drugiej strony można znaleźć test wariacyjny, który będzie w stanie rozróżnić dwa rozkłady. I może być na odwrót, że ML będzie silniejszy niż test statystyczny i będzie w stanie rozróżnić rozkłady.

  4. Jeśli masz tylko jedną funkcję w ML, musisz znaleźć tylko jedną wartość, aby rozróżnić rozkłady. Dzięki dwóm funkcjom granica może być zatoką, aw przestrzeni wielowymiarowej może być naprawdę dziwna. Dlatego trudniej będzie znaleźć właściwą granicę. Z drugiej strony dodatkowe funkcje przynoszą dodatkowe informacje. Ogólnie pozwoli to łatwiej rozróżnić dwie dystrybucje. Jeśli obie zmienne są normalnie rozmieszczone, wówczas granica jest linią.

  5. Mniejsze próbki mogą zachowywać się normalnie, ponieważ nie można zastosować Twierdzenia o granicy centralnej. Większa próbka zaczyna zachowywać się normalnie, ponieważ zaczyna działać Twierdzenie o granicy centralnej. Na przykład średnia z obu grup będzie prawie normalnie rozłożona, jeśli próbka jest wystarczająco duża. Ale zwykle nie jest to 100 vs 300, ale 10 obserwacji na 1000 obserwacji. Zatem według tej strony test t dla różnicy średniej będzie działał niezależnie od rozkładu, jeśli liczba obserwacji będzie większa niż 40 i bez wartości odstających.

keiv.fly
źródło
0

Testy statystyczne służą do wnioskowania na podstawie danych, informują o tym, jak rzeczy są powiązane. Rezultatem jest coś, co ma rzeczywiste znaczenie. Np. Jak palenie jest związane z rakiem płuc, zarówno pod względem kierunku, jak i wielkości. To wciąż nie mówi, dlaczego coś się stało. Aby odpowiedzieć na pytanie, dlaczego tak się stało, musimy również wziąć pod uwagę wzajemne powiązania z innymi zmiennymi i dokonać odpowiednich korekt (patrz Pearl, J. (2003).

Nadzorowane uczenie się służy do przewidywania, mówi ci, co się stanie. Np. Biorąc pod uwagę status osoby palącej, możemy przewidzieć, czy ona / ona będzie miała raka płuc. W prostych przypadkach nadal mówi „jak”, na przykład patrząc na ograniczenie statusu palenia, które zostało zidentyfikowane przez algorytm. Ale bardziej złożone modele są trudniejsze lub niemożliwe do interpretacji (głębokie uczenie się / ulepszanie z wieloma funkcjami).

Uczenie się bez nadzoru jest często wykorzystywane do ułatwienia dwóch powyższych.

  • W przypadku testów statystycznych, odkrywając nieznane podgrupy danych (grupowanie), możemy wywnioskować heterogeniczność w powiązaniach między zmiennymi. Np. Palenie zwiększa prawdopodobieństwo zachorowania na raka płuc w podgrupie A, ale nie w podgrupie B.
  • W przypadku nadzorowanego uczenia się możemy tworzyć nowe funkcje w celu poprawy dokładności prognozowania i niezawodności. Np. Poprzez identyfikację podgrup (grupowanie) lub kombinacji cech (zmniejszenie wymiarów), które są związane z prawdopodobieństwem zachorowania na raka płuc.

Gdy liczba funkcji / zmiennych staje się większa, różnica między testowaniem statystycznym a nadzorowanym uczeniem się staje się bardziej znacząca. Testy statystyczne niekoniecznie skorzystają z tego, zależy to na przykład od tego, czy chcesz wnioskować przyczynowo poprzez kontrolowanie innych czynników, czy identyfikowanie heterogeniczności w powiązaniach, jak wspomniano powyżej. Nadzorowane uczenie się będzie działać lepiej, jeśli funkcje są odpowiednie, i stanie się bardziej jak czarna skrzynka.

Gdy liczba próbek się powiększy, możemy uzyskać bardziej precyzyjne wyniki badań statystycznych, dokładniejsze wyniki w przypadku uczenia nadzorowanego i bardziej wiarygodne w przypadku uczenia się bez nadzoru. Ale to zależy od jakości danych. Dane złej jakości mogą wprowadzać błędy lub szum w wynikach.

Czasami chcemy wiedzieć, „jak” i „dlaczego”, aby informować o działaniach interwencyjnych, np. Poprzez identyfikację, że palenie powoduje raka płuc, można podjąć odpowiednie kroki, aby sobie z tym poradzić. Czasami chcemy wiedzieć, „co” w podejmowaniu decyzji, np. Dowiedzieć się, kto może mieć raka płuc i zapewnić im wczesne leczenie. Na stronie Science opublikowano specjalne wydanie dotyczące prognozowania i jego ograniczeń ( http://science.sciencemag.org/content/355/6324/468). „Sukces wydaje się być osiągany najbardziej konsekwentnie, gdy pytania są podejmowane w interdyscyplinarnych wysiłkach, które łączą ludzkie rozumienie kontekstu z algorytmiczną zdolnością do radzenia sobie z terabajtami danych.” Moim zdaniem, na przykład, wiedza odkryta za pomocą testowania hipotez może pomóc w nadzorowanym uczeniu się, informując nas jakie dane / funkcje powinniśmy gromadzić w pierwszej kolejności. Z drugiej strony nadzorowane uczenie się może pomóc w generowaniu hipotez poprzez informowanie, które zmienne

Tom KL
źródło