Ostatnio dowiedziałem się o stosowaniu technik ładowania początkowego do obliczania standardowych błędów i przedziałów ufności dla estymatorów. Nauczyłem się, że jeśli dane są IID, możesz traktować dane przykładowe jako populację i wykonywać próbkowanie z wymianą, co pozwoli ci uzyskać wiele symulacji statystyki testowej.
W przypadku szeregów czasowych wyraźnie nie możesz tego zrobić, ponieważ prawdopodobnie istnieje autokorelacja. Mam szereg czasowy i chciałbym obliczyć średnią danych przed ustaloną datą i po niej. Czy istnieje właściwy sposób, aby to zrobić przy użyciu zmodyfikowanej wersji ładowania początkowego?
time-series
bootstrap
statnub
źródło
źródło
Odpowiedzi:
Jak wskazuje @cardinal, warianty „bootstrap blokowego” są naturalnym podejściem. Tutaj, w zależności od metody, wybierasz odcinki szeregu czasowego, pokrywające się lub nie i o stałej długości lub losowe, co może zagwarantować stacjonarność próbek ( Politis i Romano, 1991 ), a następnie zszywasz je z powrotem, aby utworzyć ponownie próbkowane szeregi czasowe na podstawie których obliczasz swoją statystykę. Możesz także spróbować zbudować modele zależności czasowych, prowadząc do metod Markowa, sit autoregresyjnych i innych. Ale blokowanie ładowania jest prawdopodobnie najłatwiejszą z tych metod do wdrożenia.
Gonçalves i Politis (2011) to bardzo krótki przegląd z referencjami. Leczeniem długości książki jest Lahiri (2010) .
źródło
tsboot
wboot
pakiecie w języku R.Metodę ponownego próbkowania wprowadzoną w Efron (1979) zaprojektowano dla danych tej samej zmiennej, ale z łatwością można ją rozszerzyć na dane z wielu zmiennych. Jak omówiono w. Jeśli jest próbką wektorów, w celu zachowania struktury kowariancji danych w próbce. Nie jest od razu oczywiste, czy można ponownie próbkować szeregi czasowe . Szereg czasowy jest zasadniczo próbką wielkości 1 z procesu stochastycznego. Ponowne próbkowanie próbki jest próbką oryginalną, więc nie uczy się niczego przez ponowne próbkowanie. Dlatego ponowne próbkowanie szeregu czasowego wymaga nowych pomysłów.x1, ⋅ ⋅ ⋅ , xn x1, x2), ⋅ ⋅ ⋅ , xn
Ponowne próbkowanie oparte na modelu można łatwo dostosować do szeregów czasowych. Próbki uzyskuje się przez symulację modelu szeregów czasowych. Na przykład, jeśli modelem jest ARIMA (p, d, q), wówczas próbki modelu ARIMA (p, q) z MLE (z serii różnicowej) autoregresyjnych i ruchomych średnich współczynników oraz wariancji hałasu. Próbki są sekwencjami częściowej sumy symulowanego procesu ARIMA (p, q).
Ponowne próbkowanie szeregów czasowych bez użycia modelu odbywa się poprzez ponowne próbkowanie bloków, zwane również blokowym bootstrapem, które można zaimplementować za pomocą funkcji tsboot w pakiecie rozruchowym R. Chodzi o to, aby podzielić serię na mniej więcej równe bloki kolejnych obserwacji, ponownie próbkować blok z zastępstwem, a następnie wkleić bloki razem. Na przykład, jeśli szereg czasowy ma długość 200 i jeden wykorzystuje 10 bloków o długości 20, wówczas bloki są pierwszymi 20 obserwacjami, następnymi 20 i tak dalej. Możliwym ponownym próbkowaniem jest czwarty blok (obserwacja 61 do 80), następnie ostatni blok (obserwacja 181 do 200), następnie drugi blok (obserwacja 21 do 40), następnie ponownie czwarty blok i tak dalej, aż będzie 10 bloków w ponownej próbce.
źródło