Patrzyłem na pakiet rozruchowy w R i chociaż znalazłem kilka dobrych starterów, jak go używać, to jeszcze nie znalazłem niczego, co dokładnie opisuje to, co dzieje się „za kulisami”. Na przykład w tym przykładzie przewodnik pokazuje, jak używać standardowych współczynników regresji jako punktu wyjścia do regresji bootstrapu, ale nie wyjaśnia, co właściwie robi procedura bootstrap, aby uzyskać współczynniki regresji bootstrap. Wygląda na to, że zachodzi pewien proces iteracyjny, ale nie wydaje mi się, żeby dokładnie rozgryźć, co się dzieje.
22
Odpowiedzi:
Istnieje kilka „smaków” lub form bootstrapu (np. Nieparametryczny, parametryczny, resampling resztkowy i wiele innych). Bootstrap w tym przykładzie nazywany jest nieparametrycznym bootstrapem lub resamplingiem wielkości liter (patrz tutaj , tutaj , tutaj i tutaj dla aplikacji w regresji). Podstawową ideą jest to, że traktujesz próbkę jako populację i wielokrotnie pobierasz z niej nowe próbki z wymianą . Wszystkie oryginalne obserwacje mają jednakowe prawdopodobieństwo, że zostaną wciągnięte do nowej próbki. Następnie obliczasz i przechowujesz statystyki będące przedmiotem zainteresowania, może to być średnia, mediana lub współczynniki regresji przy użyciu nowo narysowanej próbki. Jest to powtarzanen razy. W każdej iteracji niektóre obserwacje z oryginalnej próbki są narysowane wiele razy, a niektóre obserwacje mogą w ogóle nie być narysowane. Po n iteracjach masz n zapisanych estymacji ładowania początkowego dla interesujących statystyk (np. Jeśli n = 1000 a statystyki odsetek są średnią, masz 1000 szacunkowych wartości początkowej średniej). Na koniec obliczane są statystyki podsumowujące, takie jak średnia, mediana i odchylenie standardowe n -oszacowań bootstrap.
Bootstrapping jest często używany do:
Istnieje kilka metod obliczania przedziałów ufności na podstawie próbek bootstrap ( ten dokument zawiera wyjaśnienia i wskazówki). Jedną z bardzo prostych metod obliczania przedziału ufności 95% jest po prostu obliczenie empirycznych 2,5 i 97,5 percentyla próbek bootstrapu (ten przedział nazywa się interwałem percentyla bootstrap; patrz kod poniżej). Prosta metoda interwału percentyla jest rzadko stosowana w praktyce, ponieważ istnieją lepsze metody, takie jak skorygowany i przyspieszony bootstrap (BCa). Interwały BCa dostosowują się zarówno do odchylenia, jak i skosu w rozkładzie ładowania początkowego.
Odchylenie jest po prostu oszacowane jako różnica między średnią przechowywanych próbek bootstrap i oszacowanie pierwotnego (ów).n
Powtórzmy przykład ze strony internetowej, ale wykorzystując własną pętlę zawierającą pomysły, które nakreśliłem powyżej (ciągłe rysowanie z zamiennikiem):
A oto nasza tabela podsumowań:
Kilka wyjaśnień
boot
boot
wywołania „standardowego błędu” to standardowe odchylenie szacunków bootstrappedPorównaj to z danymi wyjściowymi z
boot
:Porównaj kolumny „odchylenie” i „błąd standardowy” z kolumną „sd” naszej własnej tabeli podsumowań. Nasze przedziały ufności 95% są bardzo podobne do przedziałów ufności obliczanych przy
boot.ci
użyciu metody percentyla (choć nie wszystkie: spójrz na dolną granicę parametru o indeksie 9).źródło
Powinieneś skupić się na funkcji, która jest przekazywana
boot
jako parametr „statystyczny” i zauważyć, jak jest zbudowana.Argument „dane” otrzyma całą ramkę danych, ale argument „i” otrzyma próbkę indeksów wierszy wygenerowanych przez „boot” i pobranych z 1: NROW (dane). Jak widać z tego kodu, „i” jest następnie używane do utworzenia neopróbki, która jest przekazywana do,
zeroinl
a następnie zwracane są tylko wybrane części jego wyników.Wyobraźmy sobie, że „i” to {1,2,3,3,3,3,7,7,7,10}. Funkcja „[” zwróci tylko te wiersze z 3 kopiami wiersza 3 i 2 kopiami wiersza 7. To będzie podstawa do pojedynczego
zeroinl()
obliczenia, a następnie współczynniki zostaną zwróconeboot
w wyniku tej repliki procesu. Liczba takich replikacji jest kontrolowana przez parametr „R”.Ponieważ
statistic
w tym przypadku zwracane są tylko współczynniki regresji ,boot
funkcja zwróci te skumulowane współczynniki jako wartość „t”. Dalsze porównania mogą być wykonywane przez inne funkcje pakietu rozruchowego.źródło