Zastanawiam się, czy ktoś zna jakieś ogólne zasady dotyczące liczby próbek bootstrap, których należy użyć, na podstawie cech danych (liczba obserwacji itp.) I / lub uwzględnionych zmiennych?
Zastanawiam się, czy ktoś zna jakieś ogólne zasady dotyczące liczby próbek bootstrap, których należy użyć, na podstawie cech danych (liczba obserwacji itp.) I / lub uwzględnionych zmiennych?
Odpowiedzi:
Z mojego doświadczenia wynika, że statystycy nie biorą poważnie symulacji ani bootstrapów, chyba że liczba iteracji przekroczy 1000. Błąd MC to duży problem, który jest nieco niedoceniany. Na przykład, ten papier używany Niter=50
do wykazania lasso jako narzędzie selekcji cech. Moja teza zajęłaby o wiele mniej czasu, gdyby 50 iteracji uznano za dopuszczalne! Zalecam, aby zawsze sprawdzać histogram próbek bootstrap . Ich dystrybucja powinna wydawać się dość regularna. Nie sądzę, by wystarczała jakaś zwykła reguła numeryczna i byłoby przesadą wykonać, powiedzmy, podwójny bootstrap, aby ocenić błąd MC.
Załóżmy, że szacujesz średnią ze stosunku dwóch niezależnych standardowych normalnych zmiennych losowych, niektórzy statystycy mogą zalecić ładowanie go, ponieważ całka jest trudna do obliczenia. Jeśli masz u podstaw podstawową teorię prawdopodobieństwa, rozpoznasz, że stosunek ten tworzy losową zmienną Cauchy'ego z nieistniejącą średnią. Każdy inny rozkład leptokurtyczny wymagałby kilku dodatkowych iteracji ładowania początkowego w porównaniu z bardziej regularnym odpowiednikiem gęstości Gaussa. W takim przypadku 1000, 100000 lub 10000000 próbek ładowania początkowego byłoby niewystarczające do oszacowania tego, co nie istnieje. Histogram tych bootstrapów nadal wyglądałby nieregularnie i źle.
W tej historii jest jeszcze kilka zmarszczek. W szczególności bootstrap jest naprawdę uzasadniony tylko wtedy, gdy istnieją momenty modelu prawdopodobieństwa generowania danych. Dzieje się tak, ponieważ używasz funkcji rozkładu empirycznego jako słomianego człowieka dla rzeczywistego modelu prawdopodobieństwa i zakładając, że mają one tę samą średnią, odchylenie standardowe, skośność, 99 percentyl itp.
Krótko mówiąc, oszacowanie statystyki początkowej i jej błędu standardowego jest uzasadnione tylko wtedy, gdy histogram próbek ładowanych początkowo wydaje się regularny ponad uzasadnioną wątpliwość i gdy uzasadnienie początkowe jest uzasadnione.
edytować:
Jeśli poważnie myślisz o posiadaniu wystarczającej liczby próbek, powinieneś zrobić procedurę bootstrap, z nadzieją, że masz wystarczającą liczbę próbek kilka razy i zobaczyć, ile szacuje bootstrap. Jeśli powtarzane szacunki nie różnią się znacznie (gdzie „dużo” zależy od konkretnej sytuacji), najprawdopodobniej nic ci nie jest. Oczywiście można oszacować, o ile powtarzają się szacunki, obliczając próbkę SD lub podobną.
Jeśli chcesz mieć odniesienie i ogólną zasadę Wilcox (2010) pisze: „599 jest zalecane do ogólnego użytku”. Ale należy to traktować jedynie jako wskazówkę lub być może minimalną liczbę próbek, które należy wziąć pod uwagę. Jeśli chcesz być po bezpiecznej stronie, nie ma powodu (jeśli jest to wykonalne obliczeniowo), dlaczego nie powinieneś generować więcej próbek o rząd wielkości.
Osobiście notuję 10 000 próbek przy szacowaniu „dla siebie” i 100 000 próbek przy szacowaniu czegoś przekazywanego innym (ale jest to szybkie, ponieważ pracuję z małymi zestawami danych).
Wilcox, RR (2010). Podstawy nowoczesnych metod statystycznych: znaczna poprawa siły i dokładności. Skoczek.
Istnieją sytuacje, w których można powiedzieć wcześniej lub po kilku iteracjach, że ogromna liczba iteracji ładowania początkowego nie pomoże w końcu.
Mamy nadzieję, że masz wcześniej pomysł rzędu wielkości precyzji, która jest wymagana do sensownej interpretacji wyników. Jeśli tego nie zrobisz, nadszedł czas, aby dowiedzieć się nieco więcej o problemie związanym z analizą danych. W każdym razie po kilku iteracjach możesz być w stanie oszacować, ile jeszcze iteracji jest potrzebnych.
Oczywiście, jeśli masz bardzo niewiele przypadków (powiedzmy, że komisja etyczna zezwoliła na 5 szczurów), nie musisz myśleć o dziesiątkach tysięcy iteracji. Może lepiej byłoby spojrzeć na wszystkie możliwe losowania. A może lepiej byłoby zatrzymać i pomyśleć, jak pewne wnioski mogą (nie) być oparte na 5 szczurach.
Pomyśl o całkowitej niepewności wyników. W mojej dziedzinie część niepewności, którą można zmierzyć i zmniejszyć za pomocą ładowania początkowego, może stanowić jedynie niewielką część całkowitej niepewności (np. Z powodu ograniczeń w projektowaniu eksperymentów ważne źródła zmienności często nie są objęte eksperymentem - powiedzmy , zaczynamy od eksperymentów na liniach komórkowych, chociaż ostatecznym celem będą oczywiście pacjenci). W tej sytuacji nie ma sensu przeprowadzać zbyt wielu iteracji - i tak nie pomoże to w końcowym wyniku, a ponadto może wzbudzić fałszywe poczucie pewności.
Powiązany (choć nie dokładnie taki sam) problem występuje podczas sprawdzania poprawności modeli poza pasowaniem lub krzyżowania: masz dwa źródła niepewności: skończoną (aw moim przypadku zwykle bardzo małą liczbę niezależnych przypadków) i (w) stabilność modeli bootstrapped. W zależności od konfiguracji sprawdzania poprawności ponownego próbkowania może być tylko jeden z nich przyczyniający się do oszacowania ponownego próbkowania. W takim przypadku możesz użyć oszacowania drugiego źródła wariancji, aby ocenić, jaką pewność powinieneś osiągnąć przy ponownym próbkowaniu i kiedy przestanie ono pomagać w końcowym wyniku.
Wreszcie, chociaż do tej pory myślałem o tym, jak wykonać mniej iteracji, oto praktyczna uwaga na korzyść robienia więcej :
W praktyce moja praca nie jest wykonywana po uruchomieniu bootstrapu. Dane wyjściowe bootstrapu muszą zostać zagregowane w statystyki podsumowujące i / lub liczby. Wyniki należy interpretować w formie pisemnej lub raportu, który należy napisać. Wiele z nich można już wykonać przy wstępnych wynikach kilku iteracji bootstrapu (jeśli wyniki są jasne, pokazują już po kilku iteracjach, jeśli są graniczne, pozostaną graniczne). Dlatego często konfiguruję ładowanie w sposób, który pozwala mi wyciągać wstępne wyniki, dzięki czemu mogę kontynuować pracę podczas obliczania komputera. W ten sposób nie przeszkadza mi to bardzo, jeśli ładowanie trwa kilka dni.
TLDR. 10 000 wydaje się dobrą regułą, np. Wartości p z tej dużej lub większej próbki bootstrap będą w granicach 0,01 „prawdziwej wartości p” dla metody przez około 95% czasu.
Rozważam tylko poniższe podejście do percentylowego ładowania początkowego, które jest najczęściej stosowaną metodą (o ile mi wiadomo), ale co prawda ma też słabości i nie powinno być stosowane z małymi próbkami .
Lekkie załamanie. Przydatne może być obliczenie niepewności związanej z wynikami z bootstrapu, aby uzyskać poczucie niepewności wynikającej z użycia bootstrapu. Zauważ, że nie usuwa to możliwych słabości bootstrapu (np. Patrz link powyżej), ale pomaga ocenić, czy w konkretnej aplikacji jest wystarczająco dużo próbek bootstrapu. Zasadniczo błąd związany z rozmiarem próbki ładowania początkowego n
spada do zera, gdy n
idzie do nieskończoności, a pytanie brzmi: jak duży powinien n
być błąd związany z rozmiarem małej próbki ładowania początkowego?
Niepewność bootstrap w wartości p. Niedokładność oszacowanej wartości p, powiedzmy, że pv_est jest wartością p oszacowaną na podstawie bootstrapu, wynosi około 2 x sqrt(pv_est * (1 - pv_est) / N)
, gdzie N
jest liczba próbek bootstrapu. Jest to ważne, jeśli pv_est * N
i (1 - pv_est) * N
są jednocześnie >= 10
. Jeśli jeden z nich jest mniejszy niż 10, to jest mniej precyzyjny, ale z grubsza w tym samym sąsiedztwie, co szacunek.
Błąd ładowania początkowego w przedziale ufności. Jeśli używasz 95% przedziału ufności, to spójrz na zmienność kwantyli rozkładu ładowania początkowego w pobliżu 2,5% i 97,5%, sprawdzając percentyle na (dla 2,5 percentyla) 2.5 +/- 2 * 100 * sqrt(0.025 * 0.975 / n)
. Ta formuła komunikuje niepewność dolnej granicy 95% przedziału ufności w oparciu o liczbę pobranych próbek bootstrap. Podobną eksplorację należy przeprowadzić w górnej części. Jeśli ta ocena jest nieco zmienna, pamiętaj, aby wziąć więcej próbek bootstrap!
Zaczynam od odpowiedzi na coś podniesionego w innej odpowiedzi: dlaczego tak dziwna liczba jak „ ” (liczba próbek bootstrap)?
Odnosi się to również do testów Monte Carlo (których ładowanie jest równoważne, gdy podstawowa statystyka jest kluczowa ) i wynika z tego: jeśli test ma być dokładny , to jeśli jest pożądanym poziomem istotności, a jest liczba próbek, musi zachowywać się następujący stosunek:B
Rozważmy teraz typowe poziomy istotności iα 2 = 0,05
Mamy
To „minus jeden” prowadzi do proponowanych liczb, takich jak „ ”, w celu zapewnienia dokładnego testu.
Wziąłem następujące informacje od Davidson, R. i MacKinnon, JG (2000). Testy bootstrap: ile bootstrap ?. Recenzje ekonometryczne, 19 (1), 55-68. (roboczą wersję papierową można bezpłatnie pobrać).
Jeśli chodzi o ogólną zasadę, autorzy badają przypadek wartości p ładowania początkowego i sugerują, że dla testów na minimalna liczba próbek wynosi około 400 (czyli ), podczas gdy dla testu na poziomie jest to 1500 tak ( ).399 0,01 1499
Proponują również procedurę wstępnego badania w celu oznaczenia endogennie. Po przeprowadzeniu symulacji ich procedury stwierdzają:
„Łatwo jest zrozumieć, dlaczego procedura wstępnego testowania działa dobrze. Gdy hipoteza zerowa jest prawdziwa, B może być bezpiecznie mały, ponieważ w ogóle nie martwimy się o moc. Podobnie, gdy zerowa wartość jest fałszywa, a moc testowa jest wyjątkowo wysoka, B nie musi być duży, ponieważ utrata mocy nie jest poważnym problemem. Jednak, gdy zero jest fałszywe, a moc testowa jest umiarkowanie wysoka, B musi być duże, aby uniknąć utraty mocy. Procedura wstępnego testowania ma tendencję do B mały, gdy może być bezpiecznie mały i duży, gdy musi być duży. ”
Na końcu artykułu porównują go również z inną procedurą, która została zaproponowana w celu określenia i stwierdzają, że ich wyniki są lepsze.
Większość aplikacji ładujących, które widziałem, zgłosiło około 2000 do 100 000 iteracji. We współczesnej praktyce z odpowiednim oprogramowaniem istotnymi problemami z bootstrap są problemy statystyczne, bardziej niż czas i moc obliczeniowa. Początkującym użytkownikom programu Excel można było wykonać tylko kilkaset zadań, zanim będzie wymagało użycia zaawansowanego programowania Visual Basic. Jednak R jest znacznie prostszy w użyciu i sprawia, że generowanie tysięcy wartości bootstrapped jest łatwe i proste.