Szacunki wariancji w k-krotnej walidacji krzyżowej


27

Walidacja krzyżowa K-krotnie może być wykorzystana do oszacowania możliwości generalizacji danego klasyfikatora. Czy mogę (lub powinienem) również obliczyć wariancję zbiorczą ze wszystkich przebiegów sprawdzania poprawności, aby uzyskać lepsze oszacowanie jej wariancji?

Jeśli nie to dlaczego?

Znalazłem artykuły, które wykorzystują połączone odchylenie standardowe w wielu testach krzyżowych . Znalazłem także artykuły wyraźnie stwierdzające, że nie ma uniwersalnego estymatora dla wariancji walidacji . Znalazłem jednak także artykuły pokazujące estymatory wariancji dla błędu uogólnienia (wciąż czytam i próbuję to zrozumieć). Co ludzie naprawdę robią (lub zgłaszają) w praktyce?

EDYCJA: Kiedy CV jest używane do pomiaru surowego błędu klasyfikacji (tj. Albo próbka została poprawnie oznaczona, albo nie ma; np. Prawda lub fałsz), może nie mieć sensu mówić o zbiorczej wariancji. Mówię jednak o przypadku, w którym szacowana statystyka ma zdefiniowaną wariancję. Tak więc dla danego foldu możemy uzyskać zarówno wartość statystyki, jak i oszacowanie wariancji. Odrzucenie tych informacji i rozważenie jedynie średniej statystyki wydaje się niewłaściwe. I chociaż jestem świadomy, że mogę zbudować oszacowanie wariancji za pomocą metod ładowania początkowego, (jeśli się nie mylę), zrobienie tego nadal zignorowałoby wariancje składania i wziąłoby pod uwagę tylko szacunki statystyczne (plus wymagając znacznie większej mocy obliczeniowej).


Czy obliczyłeś wariancję, biorąc pod uwagę dwa możliwe sposoby sprawdzenia, czy różnią się one znacznie od siebie?
zeferino

Tak. W niektórych eksperymentach nastąpiła zmiana rzędu rzędu wielkości między wariancją a połączoną wariancją dla próbek treningowych. Nie było dużej różnicy dla próbek walidacyjnych. Większe zmiany wydawały się być związane z mniej dokładnymi modelami.
Cesar

1
@Cesar: ładna obserwacja: twoje modele są bardzo niestabilne (duża wariancja między iteracjami). W klasyfikacji (chyba że klasyfikator jest gorszy niż zgadywanie), niestabilne przewidywania doprowadzą do błędnych prognoz. Ilustracją tego jest to, że odchylenie od prawidłowej prognozy zawsze będzie w kierunku „złym”, nie ma zbyt wysokiej wartości, która anulowałaby się przy zbyt niskiej wartości.
cbeleites obsługuje Monikę

1
@cbeleites: czy nie należy się tego nieco spodziewać, ponieważ duże zmiany wariancji występują głównie w modelach wykazujących wyższy poziom błędów? Przy okazji, ładna aktualizacja twojej odpowiedzi. Nadal muszę go uważniej przeczytać, ale jestem już bardzo wdzięczny. Dzięki.
Cesar

1
@Cesar: Thx. Pewnie, że jest to oczekiwane, mniej ilustracyjny sposób stwierdzenia, że ​​jest to formuła wariancji dla proporcji (patrz moja odpowiedź): im bardziej ekstremalny jest prawdziwy poziom błędu, tym niższa wariancja, maksymalna wariancja jest przy poziomie błędu = 50%.
cbeleites obsługuje Monikę

Odpowiedzi:


13

Bardzo interesujące pytanie, będę musiał przeczytać papiery, które dajesz ... Ale może to zacznie nas w kierunku odpowiedzi:

Zazwyczaj rozwiązuję ten problem w bardzo pragmatyczny sposób: iteruję k-krotnie walidację krzyżową z nowymi losowymi podziałami i obliczam wydajność tak jak zwykle dla każdej iteracji. Ogólne próbki testowe są wtedy takie same dla każdej iteracji, a różnice pochodzą z różnych podziałów danych.

Zgłaszam to np. Jako 5–95 percentyl zaobserwowanej wydajności wrt. wymiana do próbki dla nowych próbek i omów to jako miarę niestabilności modelu.nk1

Uwaga dodatkowa: I tak nie mogę używać formuł wymagających wielkości próbki. Ponieważ moje dane mają strukturę skupioną lub hierarchiczną (wiele podobnych, ale nie powtarzanych pomiarów tego samego przypadku, zwykle kilka [sto] różnych lokalizacji tej samej próbki), nie znam efektywnej wielkości próby.

porównanie do ładowania początkowego:

  • iteracje używają nowych losowych podziałów.

  • główna różnica polega na ponownym próbkowaniu z (bootstrap) lub bez (cv) zastępowania.

  • bootstrap ma przewagę nad cv pod względem niektórych właściwości statystycznych (asymptotycznie poprawne, być może potrzebujesz mniej iteracji, aby uzyskać dobre oszacowanie)

  • jednak z cv masz tę przewagę, że masz to zagwarantowane

    • liczba różnych próbek treningowych jest taka sama dla wszystkich modeli (ważne, jeśli chcesz obliczyć krzywe uczenia się)
    • każda próbka jest testowana dokładnie raz w każdej iteracji
  • niektóre metody klasyfikacji odrzucają powtarzające się próbki, więc ładowanie nie ma sensu

Wariancja wykonania

krótka odpowiedź: tak, sensowne jest mówienie o wariancji w sytuacji, gdy istnieją tylko {0,1} wyniki.

Spójrz na rozkład dwumianowy (k = sukcesy, n = testy, p = prawdziwe prawdopodobieństwo sukcesu = średnia k / n):

σ2(k)=np(1p)

pp^

  • Fleiss: Metody statystyczne dla stawek i proporcji
  • Forthofer i Lee: Biostatistics ma miłe wprowadzenie.

p^=kn

σ2(p^)=p(1p)n

Oznacza to, że niepewność pomiaru wydajności klasyfikatora zależy tylko od rzeczywistej wydajności p testowanego modelu i liczby próbek testowych.

W ramach weryfikacji krzyżowej zakładasz

  1. że modele k „zastępcze” mają taką samą prawdziwą wydajność jak „prawdziwy” model, który zwykle buduje się ze wszystkich próbek. (Załamaniem tego założenia jest dobrze znane nastawienie pesymistyczne).

  2. że modele k „zastępcze” mają taką samą rzeczywistą wydajność (są równoważne, mają stabilne predykcje), więc można łączyć wyniki testów k.
    Oczywiście wówczas można połączyć nie tylko modele „zastępcze” jednej iteracji cv, ale także modele ki iteracji k-fold cv.

Dlaczego iterować?

Najważniejsze, co mówią ci iteracje, to niestabilność modelu (przewidywania), tj. Wariancja prognoz różnych modeli dla tej samej próbki.

p^

Tak, to ważna informacja.

nbootstrapkniter. cvn1nσ2(p^)=p(1p)n

pknp^n

Jeśli zaobserwujesz niestabilność modelu, średnia pula jest lepszym oszacowaniem prawdziwej wydajności. Różnica między iteracjami jest ważną informacją i można ją porównać z oczekiwaną minimalną wariancją dla zestawu testowego o rozmiarze n z prawdziwą średnią wydajnością wydajności we wszystkich iteracjach.


Iterujesz z nowymi losowymi podziałami, z zamianą, jak w bootstrapie? A może kilkakrotnie powtórzysz walidację krzyżową k-fold? Jest to interesujące, ponieważ nie wygląda na bootstrap, ale może tak działać. Ale ile replikacji wykonujesz? Może to być bardzo kosztowne.
Cesar

@Cesar: jest bardzo podobny do bootstrap, patrz rozszerzona odpowiedź.
cbeleites obsługuje Monikę

W jaki sposób CV pozostawia „taką samą liczbę odrębnych próbek treningowych” dla każdego modelu, ale bootstrapping nie? Nie podążam, ponieważ „replikowane zestawy danych” CV to inna kombinacja obserwacji - w jaki sposób mogą zapewnić taką samą liczbę odrębnych obserwacji? Być może zakładasz, że każdy rekord jest inny w oryginalnym zestawie treningowym?
probabilityislogic

@probabilityislogic: zestawy danych replikacji CV są mniejsze niż oryginalny zestaw danych. W ten sposób można wytwarzać różne takie repliki nawet przy ponownym próbkowaniu bez wymiany. Ponowne próbkowanie z wymianą możesz narysować ten sam rekord kilka razy. Dlatego liczba unikalnych rekordów może się różnić. Tak, zakładam, że oryginalne zapisy są odrębne. Aby zachować niezależność statystyczną, która jest kluczowa dla wielu aplikacji, ponowne próbkowanie powinno odbywać się na najwyższym poziomie hierarchii danych. (Np. Pracuję z danymi pacjenta z setkami wierszy dla każdego pacjenta => ponownie
próbkuj

1
n

1

Pamiętaj, że CV jest jedynie wartością szacunkową i nigdy nie może reprezentować „prawdziwego” błędu uogólnienia. W zależności od wielkości próby (która wpłynie na liczbę fałd lub rozmiar fałd) możesz być poważnie ograniczony w możliwości obliczania szacunkowych parametrów rozkładu błędu uogólnienia. Moim zdaniem (i widziałem to rzekomo w różnych podręcznikach, „Discovery Knowledge with Support Vector Machines” - Lutz Hamel), możesz zrobić jakiś wariant ładowania CV w celu oszacowania rozkładu błędu uogólnienia, ale standardowy 10- 1 (na przykład) po wyłączeniu CV nie da ci wystarczającej liczby punktów danych, aby wyciągać wnioski na temat prawdziwego błędu genowego. Bootstrapping wymaga pobrania wielu próbek z wymianą ze szkolenia / testu / val, skutecznie wykonując wiele (powiedzmy około 1000) 10-1 (lub cokolwiek) testów CV. Następnie bierzesz próbny rozkład średnich dla każdego testu CV jako oszacowanie rozkładu próbkowania średniej dla populacji błędów CV i na tej podstawie możesz oszacować parametry dystrybucji, tj. Średnią, medianę, std min maks Q1 Q3 itd. To trochę pracy i moim zdaniem jest to naprawdę wymagane tylko wtedy, gdy twoja aplikacja jest wystarczająco ważna / ryzykowna, aby uzasadnić dodatkową pracę. tzn. być może w środowisku marketingowym, w którym firma jest po prostu szczęśliwa, że ​​jest lepsza niż przypadkowa, a może nie jest wymagana. ALE jeśli próbujesz ocenić reakcje pacjentów na leki wysokiego ryzyka lub przewidzieć oczekiwania dotyczące dochodów w przypadku dużych inwestycji, możesz rozsądnie je przeprowadzić.


Jest to wartość szacunkowa, ale można tak powiedzieć o praktycznie każdym użyciu statystyki. Jednak gdy każda fałda ma już oszacowaną wariancję, odrzucenie tej informacji nie wydaje się poprawne. Zaktualizowałem pytanie o wyjaśnienia.
Cesar

Być może nie rozumiem. Naprawdę nie rozumiem, dlaczego męczysz się z wariancją pojedynczego pasowania?
clancy

Prowadzenie jednego 10-krotnego CV nie jest do końca tanim rozwiązaniem dla konkretnego problemu, który próbuję rozwiązać. Masz rację, mógłbym oszacować wariancję, pobierając wiele próbek z zamiennikiem jak w bootstrapie. Ale przyjęcie dużej liczby CV, nawet kilkuset, może w moim przypadku być bardzo niepraktyczne. Szukam sposobu (jeśli istnieje), aby połączyć szacunki indywidualnej wariancji krotnie, aby móc przynajmniej zmniejszyć liczbę potrzebnych próbek bootstrap. A poza tym ciekawość.
Cesar

Ah, dobrze. Być może wtedy wariancja każdego z 10-krotności średnich z ogólnej średniej krotności będzie zmienną losową wybraną z rozkładu próbkowania dla wariancji ... (co myślę, że jest to chi sq dist lub F dist)
clancy

@clancy: z 10-1 masz na myśli cv dla pomijanych n = 10 próbek? Zwróć uwagę, że iteracje typu „jeden-na zewnątrz” nie mają sensu.
cbeleites obsługuje Monikę
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.