Pytanie:
R: Rozszerzony test Dickeya Fullera (ADF)
kodi1911
2015-08-22 19:19:16 UTC
view on stackexchange narkive permalink

Mam problem z wartościami p Dickeya-Fullera i statystyką testową dla jednostkowego testu głównego w R. Próbowałem użyć funkcji:

  urca :: ur.df () fUnitRoots :: adfTest () tseries :: adf.test ()  

Wszystkie z nich pokazały różne wyniki dla tych samych ustawień testowych (opóźnienie, typ) w porównaniu z danymi wyjściowymi gretl.

Na przykład:

  set.seed (1) x <- rnorm (50, 0, 3) schwert.param <- trunc (12 * (length (na.omit ( x)) / 100) ^ (1/4)) adfTest (x = na.omit (x), lags = schwert.param, type = "nc", title = NULL, description = NULL) # Title: # Augmented Dickey -Pełniejszy test # # Wyniki testu: # PARAMETR: # Kolejność opóźnień: 10 # STATYSTYKA: # Dickey-Fuller: -2,4362 # WARTOŚĆ P: 0,01749 

I dla tego samego wektora x w gretl Otrzymałem:

  > Statystyka testowa: tau_nc (1) = -4.03652 > Asymptotic p-value = 5.57e-005  

Oba ustawienia testowe były bez stała i trend, opóźnienia = 10. Dlaczego więc otrzymuję różne wyniki dla tych samych danych Wejście. Wiem, test Dickeya-Fullera wykorzystuje metodę Monte Carlo do uzyskania wartości p dla statystyki testowej, ale czy powinny się one tak bardzo różnić, czy też robię coś źle z tą funkcją w R?

Ciekawy.Nie mogę określić, dlaczego istnieją różnice, ale warto przejść do każdej funkcji, aby dokładnie zobaczyć, co się dzieje.Zrobiłem coś podobnego w odpowiedzi na [to pytanie] (http://stats.stackexchange.com/questions/131148/the-difference-between-the-three-augmented-dickey-fuller-test-none-drift-trend/131244 # 131244).Zazwyczaj kodowanie tych funkcji jest proste, więc jeśli je dostrzeżesz, odpowiedź może się wyróżniać.Mam nadzieję, że moja sugestia pomoże.
Wiem, ale nie mogę wejść do kodu w gretl, żeby zobaczyć różnice.Nawet wyjście testowe KPSS z R różni się znacznie od wyjścia testowego gretl ...
Myślałem, że Gretl jest otwarta !?W każdym razie zadzwoniłem do opiekuna, więc mam nadzieję, że udzieli odpowiedzi.
@GraemeWalsh: To open source.Ale nie wiem, jak zagłębić się w ten kod.Na szczęście znalazłem kod, który mój nauczyciel napisał za pomocą testu ADF.Wejdę i poprawię ten kod.Następnie opublikuję, że jeśli będzie podobny do wyjścia gretl.
jest statystyka t $ (\ hat \ rho-1) /s.e. (\ hat \ rho) $ i statystyka współczynników $ T (\ hat \ rho-1) $ - czy Gretl może używać tego drugiego?
wartość p jest na to za mała, chociaż ...
Dwa odpowiedzi:
Achim Zeileis
2015-08-22 23:37:24 UTC
view on stackexchange narkive permalink

Nie próbowałem powielać problemów z gretl, ale przynajmniej pakiety R, o których wspomniałeś, wydają się zgadzać, jeśli zarówno deterministyka (trend vs. stała, czyli dryf vs. brak), i opóźnienia (stałe, kryteria informacyjne, heurystyka ) są określane w ten sam sposób. Istnieją różnice w sposobie obliczania wartości p, ale w przypadku wygenerowanych danych x są one bardzo podobne.

Poniższy przegląd napisałem dla moich uczniów i pomyślałem, że może się nim tutaj podzielić, jeśli ktoś uzna go za przydatny. Osobiście najczęściej używałem tseries i CADFtest:

  • adf.test () w tseries .
    Deterministyka: tylko trend liniowy.
    Lagi: domyślnie heurystyczne, ale może zostać wybrane przez użytkownika.
    Wartość p: z tabeli wartości krytycznych.
  • CADFtest () w CADFtest .
    Deterministics: Trend domyślnie, stały (inaczej dryf) lub brak również obsługiwane.
    Lagi: domyślne wynosi 1, ale można ją wybrać za pomocą kryteriów informacyjnych lub przez użytkownika.
    Wartość p: Obliczenia na podstawie Costantini et al. (2007). Zobacz także Lupi (2009). Unit Root CADF Testing z R. Journal of Statistics Software, 32 (2), 1-19. http://www.jstatsoft.org/v32/i02/.
    Komentarze: dodatkowe regresory (i ich opóźnienia) można dodać do pomocniczej regresji.
  • ur.df () w urca .
    Determinystyka: domyślnie brak, obsługiwane również stałe i trend.
    Lagi: Domyślnie 1, ale można je wybrać poprzez kryteria informacyjne lub przez użytkownika.
    Wartość P: Brak, ale summary () zgłasza tabelę wartości krytycznych (1%, 5%, 10%).
  • adfTest () in fUnitRoots .
    Deterministics: domyślnie brak, obsługa stałych i trendów.
    Lagi: wartość domyślna to 1, ale może być wybrana przez użytkownika.
    Wartość p: z tabeli wartości krytycznych.
    Uwagi: Na podstawie adf.test () z tseries , ale rozszerzono o dodatkowe deterministics.

Dla wygenerowanych danych:

set.seed (1) x <- rnorm (50, 0, 3) 

Spójrzmy na różne wyniki testu z trendem (ponieważ jest to obsługiwane przez wszystkie funkcje) i 10 opóźnień (jak sugerowano przez twoją heurystykę powyżej). Statystyki testu są zawsze dokładnie takie same, a wartości p są zbliżone.

 tseries :: adf.test (x, k = 10) ## Rozszerzony test Dickeya-Fullera ## ## data: x # # Dickey-Fuller = -1,6757, kolejność opóźnień = 10, wartość p = 0,7044 ## hipoteza alternatywna: biblioteka stacjonarna ("CADFtest") CADFtest (x, max.lag.y = 10, type = "trend") ## ADF test ## ## dane: x ## ADF (10) = -1,6757, wartość p = 0,743 ## hipoteza alternatywna: prawdziwa delta jest mniejsza niż 0 ## przykładowe szacunki: ## delta ## -1,751283 urca :: ur. df (x, lags = 10, type = "trend") ## ################################# ############################ ## # Rozszerzony test rootowania / kointegracji jednostki testowej Dickeya-Fullera # ## ##### ################################################# ######## ## ## Wartość statystyki testowej to: -1,6757 1,3699 2,0189 fUnitRoots :: adfTest (x, lags = 10, type = "ct") ## Title: ## Augmented Dickey- Pełniejszy test ## ## Wyniki testu: ## PARAMETER: ## Kolejność opóźnień: 10 ## STATISTIC: ## Dickey-Fuller: -1.6757 ## P WARTOŚĆ: ## 0.7044 ## ## Opis: ## Sat Aug 22 20:19:18 2015 by user: zeileis 
[Tutaj] (http://stats.stackexchange.com/questions/178500/adf-test-for-unit-root-should-you-select-a-trend-if-the-trend-changes-once/) jestnieco pokrewne pytanie i odpowiedź na nie.Wydajesz się być ekspertem w tym temacie i byłbym wdzięczny, gdybyś przyjrzał się, czy odpowiedź ma sens.
kodi1911
2015-08-23 00:17:51 UTC
view on stackexchange narkive permalink

@ChristophHanck @GraemeWalsh: Ok, prawdopodobnie znalazłem, co się tutaj dzieje. Przede wszystkim zmieniłem język gretl z polskiego na angielski i stwierdziłem, że w oknie testowym ADF jest domyślnie zaznaczona opcja - " test down from maximum lag order " używając kryterium informacji Akaike. Jeśli odznaczę tę opcję, uzyskam takie same wyniki jak w R. Teraz chciałbym wiedzieć, jak używać tej opcji w R. Czy ktoś wie, jak to zrobić?

Zobacz moją odpowiedź powyżej.W tym celu zalecałbym użycie programu `CADFtest`.
@AchimZeileis Tak, dziękuję.Sprawdziłem, że "testuj w dół od maksymalnego rzędu opóźnień" i zmniejszy to wzmocnienie, jeśli kryterium informacyjne Akaike jest mniejsze od poprzedniego modelu i tak dalej ...
@kodi1911 Jednym ze sposobów byłoby uruchomienie funkcji AIC () (pakiet statystyk) na wielu obiektach modelu - modelach z, powiedzmy, 1 do n opóźnień, gdzie n to maksymalna kolejność opóźnień.Następnie wybierz model z najmniejszą AIC.Jeśli potrzebujesz pomocy przy programowaniu, daj nam znać.Tak przy okazji, dobrze, że to rozgryzłeś!


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...