Statystyka Ljung-Box dla reszt ARIMA w R: mylące wyniki testu

15

Mam szereg czasowy, który próbuję przewidzieć, dla którego wykorzystałem model sezonowy ARIMA (0,0,0) (0,1,0) [12] (= fit2). Różni się od tego, co R zasugerował z auto.arima (R obliczone ARIMA (0,1,1) (0,1,0) [12] byłoby lepsze dopasowanie, nazwałem to fit1). Jednak w ciągu ostatnich 12 miesięcy mojego szeregu czasowego mój model (fit2) wydaje się lepiej dopasowany po skorygowaniu (był chronicznie tendencyjny, dodałem resztkową średnią i nowe dopasowanie wydaje się bardziej pasować do pierwotnego szeregu czasowego Oto przykład z ostatnich 12 miesięcy i MAPE z 12 ostatnich miesięcy dla obu pasowań:

fit1, fit2 i oryginalne dane

Szereg czasowy wygląda następująco:

oryginalne szeregi czasowe

Jak na razie dobrze. Przeprowadziłem analizę resztkową dla obu modeli i oto zamieszanie.

Acf (resid (fit1)) wygląda świetnie, bardzo biało-szumowy

acf of fit1

Jednak test Ljung-Box nie wygląda dobrze na przykład na 20 opóźnień:

    Box.test(resid(fit1),type="Ljung",lag=20,fitdf=1)

Otrzymuję następujące wyniki:

    X-squared = 26.8511, df = 19, p-value = 0.1082

Według mnie jest to potwierdzenie, że reszty nie są niezależne (wartość p jest zbyt duża, aby pozostać przy hipotezie niezależności).

Jednak w przypadku opóźnienia 1 wszystko jest świetne:

    Box.test(resid(fit1),type="Ljung",lag=1,fitdf=1)

daje mi wynik:

    X-squared = 0.3512, df = 0, p-value < 2.2e-16

Albo nie rozumiem testu, albo jest to trochę sprzeczne z tym, co widzę na wykresie acf. Autokorelacja jest śmiesznie niska.

Potem sprawdziłem fit2. Funkcja autokorelacji wygląda następująco:

acf fit2

Pomimo tak oczywistej autokorelacji przy kilku pierwszych opóźnieniach test Ljunga-Boxa dał mi znacznie lepsze wyniki przy 20 opóźnieniach niż fit1:

    Box.test(resid(fit2),type="Ljung",lag=20,fitdf=0)

prowadzi do :

    X-squared = 147.4062, df = 20, p-value < 2.2e-16

podczas gdy samo sprawdzanie autokorelacji w lag1 daje mi również potwierdzenie hipotezy zerowej!

    Box.test(resid(arima2.fit),type="Ljung",lag=1,fitdf=0)
    X-squared = 30.8958, df = 1, p-value = 2.723e-08 

Czy rozumiem poprawnie test? Wartość p powinna być korzystnie mniejsza niż 0,05, aby potwierdzić zerową hipotezę niezależności reszt. Którego dopasowania lepiej użyć do prognozowania, dopasowania1 lub dopasowania2?

Informacje dodatkowe: pozostałości fit1 wykazują rozkład normalny, a fit2 nie.

zima
źródło
2
Nie rozumiesz wartości p i interpretujesz je w niewłaściwy sposób.
Scortchi - Przywróć Monikę
Tak, może to być kwestia zrozumienia. Czy możesz rozwinąć? Na przykład, co dokładnie oznacza, jeśli wartość p jest większa niż 0,5? Przeczytałem definicję wartości p (prawdopodobieństwo uzyskania statystyk co najmniej tak ekstremalnych, jak statystyka testowa, biorąc pod uwagę, że istnieją hipotezy zerowe). Jak to się ma do testu Ljung-Box? Czy „przynajmniej tak ekstremalne” oznacza „większe niż X do kwadratu”? Byłbym wdzięczny za przykład z moimi danymi, ponieważ testowanie istotności stanowiło dla mnie wyzwanie.
zima
6
Statystyka testu Ljunga-Boxa ( X-squared) rośnie, gdy próbki autokorelacji reszt stają się większe (patrz jej definicja), a jej wartość p jest prawdopodobieństwem uzyskania wartości tak dużej lub większej niż wartość obserwowana pod wartością zerową hipoteza, że ​​prawdziwe innowacje są niezależne. Dlatego niewielka wartość p świadczy przeciwko niezależności.
Scortchi - Przywróć Monikę
@Scortchi, myślę, że to rozumiem. Ale to również sprawia, że ​​mój test przy opóźnieniu = 1 dla fit1 nie powiódł się. Jak można to wyjaśnić? Nie widzę żadnej autokorelacji przy opóźnieniu = 1. Czy istnieje jakaś skrajność tego testu z małą liczbą opóźnień (bardzo mała próbka)?
zima
3
Box-Ljung jest wszechstronnym testem niezależności przy wszystkich opóźnieniach do określonego przez użytkownika. Zastosowane stopnie swobody to nie. opóźnienia minus nie. Parametry AR i MA ( fitdf), więc testowałeś względem rozkładu chi-kwadrat z zerowymi stopniami swobody.
Scortchi - Przywróć Monikę

Odpowiedzi:

34

Źle zinterpretowałeś test. Jeśli wartość p jest większa niż 0,05, to reszty są niezależne, co chcemy, aby model był poprawny. Jeśli symulujesz szereg czasowy szumu białego za pomocą poniższego kodu i zastosujesz dla niego ten sam test, wówczas wartość p będzie większa niż 0,05.

m = c(ar, ma)
w = arima.sim(m, 120)
w = ts(w)
plot(w)
Box.test(w, type="Ljung-Box")
Joe Ferrelly
źródło
3
Krótkie i zgrabne wyjaśnienie. +1 dla przykładu kodu.
Dawny33,
1
Twoja interpretacja również nie jest poprawna. Wartość p 0,05 oznacza, że ​​masz 5% szansy na popełnienie błędu, jeśli odrzucisz hipotezę zerową braku autokorelacji aż do rzędu 1 w twoim przypadku.
DJJ
8

Wiele testów statystycznych służy do odrzucenia niektórych hipotez zerowych. W tym konkretnym przypadku test Ljunga-Boxa próbuje odrzucić niezależność niektórych wartości. Co to znaczy?

  • Jeśli wartość p <0,05 1 : Możesz odrzucić hipotezę zerową, zakładając 5% szans na popełnienie błędu. Możesz więc założyć, że twoje wartości wykazują wzajemną zależność.

  • Jeśli wartość p> 0,05 1 : Nie masz wystarczających dowodów statystycznych, aby odrzucić hipotezę zerową. Nie możesz więc założyć, że twoje wartości są zależne. Może to oznaczać, że twoje wartości i tak są zależne lub może to oznaczać, że twoje wartości są niezależne. Ale nie udowadniasz żadnej konkretnej możliwości, to, co faktycznie powiedział twój test, polega na tym, że nie możesz potwierdzić zależności między wartościami, ani też nie możesz stwierdzić niezależności wartości.

Ogólnie rzecz biorąc, ważne jest, aby pamiętać, że wartość p <0,05 pozwala odrzucić hipotezę zerową, ale wartość p> 0,05 nie pozwala potwierdzić hipotezy zerowej.

W szczególności nie można udowodnić niezależności wartości szeregów czasowych za pomocą testu Ljunga-Boxa. Możesz tylko udowodnić zależność.


α=0,05

Alejandro Jiménez Rico
źródło
α=0,05
0

Według wykresów ACF oczywiste jest, że dopasowanie 1 jest lepsze, ponieważ współczynnik korelacji przy opóźnieniu k (k> 1) gwałtownie spada i zbliża się do 0.

Tao
źródło
0

Jeśli oceniasz ACF, dopasowanie 1 jest bardziej odpowiednie. Zamiast mylić się w teście Ljunga, nadal możesz użyć korelogramu reszt, aby ustalić najlepsze dopasowanie między fit1 a fit2

Vincent
źródło
1
Nie rozumiem tej odpowiedzi.
Michael R. Chernick
Gdy odwiedzamy statystyki skrzynki Ljunga, możemy być zainteresowani sprawdzeniem diagnostycznym modelu, tj. Adekwatnością modelu ..... Jeśli korzystanie z tego jest dla ciebie mylące, istnieją inne sposoby sprawdzenia adekwatności modelu, które podałem powyżej. Możesz wykreślić korelogram Ie, ACF i PACF pozostałych danych, a następnie sprawdzić granice serii, jeśli jest to biały szum ...... Nie trzeba używać testu skrzynkowego Ljunga
Vincent