Jaka jest reguła .632+ podczas ładowania?

107

Tutaj @gung odnosi się do reguły .632+. Szybkie wyszukiwanie w Google nie daje łatwej do zrozumienia odpowiedzi na pytanie, co oznacza ta reguła i do jakiego celu jest używana. Czy ktoś mógłby wyjaśnić zasadę .632+?

russellpierce
źródło

Odpowiedzi:

115

Przejdę do estymatora 0.632, ale będzie to nieco długi rozwój:

Załóżmy, że chcemy przewidzieć z za pomocą funkcji , gdzie może zależeć od niektórych parametrów, które są szacowane przy użyciu danych , np.X f f ( Y , X )YXff(Y,X)f(X)=Xβ

Naiwnym oszacowaniem błędu prognozowania jest gdzie jest pewną funkcją straty, np. Kwadratową utratą błędu. Jest to często nazywane błędem treningowym. Efron i in. nazywa to pozornym poziomem błędu lub wskaźnikiem ponownego podstawienia. Nie jest to zbyt dobre, ponieważ wykorzystujemy nasze dane do dopasowania . Powoduje to, że jest tendencyjny w dół. Chcesz wiedzieć, jak dobrze twój model radzi sobie z przewidywaniem nowych wartości.

err¯=1Ni=1NL(yi,f(xi))
L(xi,yi)ferr¯f

Często używamy walidacji krzyżowej jako prostego sposobu oszacowania oczekiwanego błędu prognozowania poza próbą (jak dobrze nasz model radzi sobie z danymi, których nie ma w naszym zestawie szkoleniowym?).

Err=E[L(Y,f(X))]

Popularnym sposobem na to jest przeprowadzanie krzyżowej weryfikacji -fold. Podziel swoje dane na grup (np. 10). Dla każdej grupy dopasuj swój model do pozostałych grup i przetestuj go na tej grupie. Nasz zweryfikowany krzyżowo błąd prognozy dla dodatkowych próbek to tylko średnia gdzie jest jakąś funkcją indeksu, która wskazuje partycję, do której przydzielona jest obserwacja a to przewidywana wartość przy użyciu danych spoza zestawu .KKkK1k

ErrCV=1Ni=1NL(yi,fκ(i)(xi))
κifκ(i)(xi)xiκ(i)

Estymator około obiektywne dla prawdziwego błąd przewidywania, gdy i ma większą zmienność i jest bardziej kosztowne obliczeniowo na większej . Zatem po raz kolejny widzimy kompromis między odchyleniem a wariancją.K=NK

Zamiast weryfikacji krzyżowej moglibyśmy użyć ładowania początkowego, aby oszacować błąd przewidywania dodatkowej próby. Ponowne próbkowanie Bootstrap można wykorzystać do oszacowania rozkładu próbkowania dowolnej statystyki. Jeśli nasze dane treningowe to , możemy pomyśleć o pobraniu próbek bootstrap (z wymianą) z tego zestawu gdzie każdy jest zbiorem próbek. Teraz możemy użyć naszych próbek ładowania początkowego, aby oszacować błąd przewidywania dodatkowej próby: gdzie to przewidywana wartość w z modelu dopasowanego doX=(x1,,xN)BZ1,,ZBZiN

Errboot=1Bb=1B1Ni=1NL(yi,fb(xi))
fb(xi)xib zestaw danych ładowania początkowego. Niestety nie jest to szczególnie dobry estymator, ponieważ próbki bootstrap użyte do wytworzenia mogły zawierać . estymator ładowania początkowego oferuje ulepszenie poprzez naśladowanie weryfikacji krzyżowej i jest zdefiniowany jako: gdzie to zestaw wskaźników dla próbek bootstrap, które nie zawierają obserwacji orazto liczba takich próbek. fb(xi)xi
Errboot(1)=1Ni=1N1|Ci|bCiL(yi,fb(xi))
i | C - i | E r r b o o t ( 1 ) 0,632 N E r r .632 = 0,368 ¯ e r r + 0,632 E r r b o o t ( 1 ) ¯ e r r = 1Cii|Ci|Errboot(1)rozwiązuje problem nadmiernego dopasowania, ale nadal jest tendencyjny (ten jest tendencyjny w górę). Błąd ten wynika z nierozróżnialnych obserwacji w próbkach paska startowego, które wynikają z próbkowania z wymianą. Średnia liczba odrębnych obserwacji w każdej próbce wynosi około (w tej odpowiedzi wyjaśniono, dlaczego średnio każda próbka ładowania początkowego zawiera około dwóch trzecich obserwacji? ). Aby rozwiązać problem błędu, Efron i Tibshirani zaproponowali estymator 0,632: gdzie0.632N
Err.632=0.368err¯+0.632Errboot(1)
err¯=1Ni=1NL(yi,f(xi))
jest naiwnym oszacowaniem błędu prognozowania, często nazywanego błędem treningowym. Chodzi o uśrednienie szacunków tendencyjnych w dół i ocen tendencyjnych w górę.

Jeśli jednak mamy wysoce przewidywaną funkcję przewidywania (tj. Overline ), to nawet estymator .632 będzie tendencyjny w dół. Estymator .632+ został zaprojektowany tak, aby był mniej tendencyjnym kompromisem między i . with gdzie to poziom błędu braku informacji, oszacowany na podstawie oceny modelu prognozowania dla wszystkich możliwych kombinacji kieruje na i predyktory .err¯=0err¯Errboot(1)

Err.632+=(1w)err¯+wErrboot(1)
w=0.63210.368RandR=Errboot(1)err¯γerr¯
γyixi

γ=1N2i=1Nj=1NL(yi,f(xj))
.

Tutaj mierzy względną częstość przeładowania. Jeśli nie ma przeregulowania (R = 0, gdy ) jest to równe estymatorze .632.RErrboot(1)=err¯

bdeonovic
źródło
2
To dobre pytania, @rpierce, ale odsuwają się nieco od głównego tematu tego wątku. Byłoby lepiej, jeśli chodzi o organizację CV, mieć je w nowym wątku, aby łatwiej było później znaleźć i wykorzystać te informacje.
gung
1
Pytanie 1: stats.stackexchange.com/questions/96764/…
russellpierce
1
@rpierce Przepraszam, jeśli trochę utrudniłem udzielenie odpowiedzi na moje pytanie. porównuje dopasowanie twojego modelu z danymi użytymi do jego dopasowania. Tak więc dla kwadratowej utraty błędów, która byłaby po prostuerr¯=1Ni=1NL(yi,f(xi))1ni=1n(yiy^i)2
bdeonovic
1
@rpierce, tak! Byłem trochę ogólny, ponieważ odzyskiwałem dużo tego materiału z notatek z zajęć.
bdeonovic
53

Więcej informacji znajdziesz w części 3 tego 1 artykułu. Podsumowując, jeśli nazywasz próbą liczb z losowanych i zastępowanych, zawiera średnio około unikalne elementy.Sn{1:n}S(1e1)n0.63212056n

Rozumowanie jest następujące. Wypełniamy próbkując razy (losowo i zamiennie) z . Rozważ konkretny indeks . S={s1,,sn}i=1,,n{1:n}m{1:n}

Następnie:

P(si=m)=1/n

i

P(sim)=11/n

i to prawda (intuicyjnie, ponieważ próbujemy z zamianą, prawdopodobieństwo nie zależy od )1ini

a zatem

P(mS)=1P(mS)=1P(i=1nsim)=1i=1nP(sim)=1(11/n)n1e1

Możesz również przeprowadzić tę małą symulację, aby sprawdzić empirycznie jakość aproksymacji (która zależy od ):n

n <- 100
fx01 <- function(ll,n){
    a1 <- sample(1:n, n, replace=TRUE)
    length(unique(a1))/n
}
b1 <- c(lapply(1:1000,fx01,n=100), recursive=TRUE)
mean(b1)

1. Bradley Efron i Robert Tibshirani (1997). Ulepszenia walidacji krzyżowej: metoda Bootstrap .632+ . Journal of the American Statistics Association , t. 92, nr 438, s. 548--560.

użytkownik603
źródło
3
tutaj jest dokument dla ciebie w referencji - stat.washington.edu/courses/stat527/s14/readings/…
1
(+1) Bardzo dobrze. Chciałbym, aby notacja była nieco bardziej standardowa. Dane: . Zmienne losowe IID z . Wynik: . (x1,,xn)S1,,SnP(Si=k)=1nI{1,,n}(k)P(i=1n{Si=k})=1P(i=1n{Sik})=1i=1nP{Sik}=1(11/n)n11/e63.21%
Zen,
4
@rpierce: Racja. „Oczywistym” bitem, którego odpowiedź obecnie nie wspomina, jest to, że . 1e10.63212056
Ilmari Karonen
1
Ta odpowiedź jest również świetna, w rzeczywistości zaakceptowana odpowiedź plus ta odpowiedź faktycznie zapewnia pełną odpowiedź na moje pytanie - ale między nimi czuję, że odpowiedź Benjamina jest bliższa temu, czego szukałem w odpowiedzi. Biorąc to pod uwagę - naprawdę chciałbym, aby można było zaakceptować oba.
russellpierce
1
@rpierce: Cytując Celine Dion: „ Opowieść stara jak czas / piosenka stara jak rym / Piękna i bestia”. : P
Nick Stauner
8

Z mojego doświadczenia, opartego głównie na symulacjach, warianty bootstrapu 0,632 i 0,632+ były potrzebne tylko z powodu poważnych problemów spowodowanych użyciem niewłaściwej reguły punktacji dokładności, a mianowicie odsetka „sklasyfikowanego” poprawnie. Gdy używasz prawidłowych (np. Wynik oparty na dewiacji lub wynik Briera) lub półprawidłowych (np. -index = AUROC) reguł, standardowy bootstrap optymizmu Efron-Gong działa dobrze.c

Frank Harrell
źródło
3
Nie sądzę, że rozumiem większość rzeczy, które tu powiedziałeś, Frank. Czy byłbyś skłonny to wyjaśnić? Wygląda na to, że masz coś wyjątkowego i ważnego do wniesienia.
russellpierce
Cieszę się, że możesz rozwinąć, jeśli możesz zadać konkretne pytanie.
Frank Harrell
1
Te reguły punktacji ... oceniały jakość wyniku bootstrap? Czy możesz podać link opisujący prawidłową regułę punktacji „sklasyfikowanej”, mam problem z wyobrażeniem sobie, jaka to może być bestia. Spośród najlepszych wyników dla „optymizmu Efron-Gong” w Google zdecydowana większość wydaje się być twoimi postami… czym to się różni od tego, że mówię „bootstrap” bez kwalifikacji? Który artykuł Effron i Gong powinienem szukać? Wydaje się, że jest ich kilka.
russellpierce
3
Zobacz oryginalny artykuł o 0,632, który używa i określa prawidłowo sklasyfikowany odsetek (Efron i Tibshirani JASA 92: 548; 1997). Bootstrap optymizmu jest wariantem bootstrapu służącym do szacowania uprzedzeń. Jest to opisane w Gong: JASA 85:20; 1990.
Frank Harrell
2

Te odpowiedzi są bardzo przydatne. Nie mogłem znaleźć sposobu na zademonstrowanie tego za pomocą matematyki, więc napisałem trochę kodu w języku Python, który działa całkiem dobrze:

    from numpy import mean
    from numpy.random import choice

    N = 3000

    variables = range(N)

    num_loop = 1000
    # Proportion of remaining variables
    p_var = []

    for i in range(num_loop):
        set_var = set(choice(variables, N))
        p=len(set_var)/float(N)
        if i%50==0:
            print "value for ", i, " iteration ", "p = ",p
        p_var.append(p)

    print "Estimator of the proportion of remaining variables, ", mean(p_var)
Anil Narassiguin
źródło