Ljung-Box-Statistik für ARIMA-Residuen in R: verwirrende Testergebnisse

14

Ich habe eine Zeitreihe, für die ich eine Prognose erstellen möchte und für die ich das saisonale Modell ARIMA (0,0,0) (0,1,0) [12] (= fit2) verwendet habe. Es unterscheidet sich von dem, was R mit auto.arima vorgeschlagen hat (R berechnete ARIMA (0,1,1) (0,1,0) [12] wäre besser, ich nannte es fit1). In den letzten 12 Monaten meiner Zeitreihe scheint mein Modell (fit2) eine bessere Anpassung zu haben (es war chronisch verzerrt, ich habe den Restmittelwert hinzugefügt und die neue Anpassung scheint enger mit der ursprünglichen Zeitreihe zusammenzusitzen Hier ist das Beispiel der letzten 12 Monate und MAPE für die letzten 12 Monate für beide Anpassungen:

fit1, fit2 und Originaldaten

Die Zeitreihe sieht folgendermaßen aus:

ursprüngliche Zeitreihe

So weit, ist es gut. Ich habe für beide Modelle eine Restanalyse durchgeführt, und hier ist die Verwirrung.

Das acf (resid (fit1)) sieht gut aus, sehr weißlich:

acf von fit1

Der Ljung-Box-Test sieht jedoch nicht gut aus, zum Beispiel für 20 Verzögerungen:

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

Ich erhalte folgende Ergebnisse:

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

Meines Erachtens ist dies die Bestätigung, dass die Residuen nicht unabhängig sind (p-Wert ist zu groß, um bei der Unabhängigkeitshypothese zu bleiben).

Für Lag 1 ist jedoch alles super:

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

gibt mir das Ergebnis:

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

Entweder verstehe ich den Test nicht oder er widerspricht leicht dem, was ich auf der ACF-Zeichnung sehe. Die Autokorrelation ist lächerlich niedrig.

Dann habe ich fit2 geprüft. Die Autokorrelationsfunktion sieht folgendermaßen aus:

acf fit2

Trotz dieser offensichtlichen Autokorrelation bei mehreren ersten Verzögerungen ergab der Ljung-Box-Test bei 20 Verzögerungen viel bessere Ergebnisse als fit1:

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

Ergebnisse in:

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

Wenn ich nur die Autokorrelation bei lag1 überprüfe, kann ich auch die Nullhypothese bestätigen!

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

Verstehe ich den Test richtig? Der p-Wert sollte vorzugsweise kleiner als 0,05 sein, um die Nullhypothese der Residuenunabhängigkeit zu bestätigen. Welche Anpassung ist für Prognosen besser geeignet, fit1 oder fit2?

Zusatzinfo: Reste von fit1 zeigen Normalverteilung, Reste von fit2 nicht.

Zima
quelle
2
Sie verstehen p-Werte nicht und interpretieren sie falsch herum.
Scortchi - wieder einzusetzen Monica
Ja, es könnte die Frage des Verstehens sein. Könnten Sie bitte erweitern? Was genau bedeutet zum Beispiel, wenn der p-Wert größer als 0,5 ist? Ich habe die Definition des p-Wertes gelesen (Wahrscheinlichkeit, eine Statistik zu erhalten, die mindestens so extrem ist wie die Teststatistik, wenn man davon ausgeht, dass Nullhypothesen gelten). Wie ist das beim Ljung-Box-Test? Bedeutet "mindestens so extrem" "größer als das Quadrat X"? Ich wäre dankbar für das Beispiel mit meinen Daten, da es für mich schwierig war, Signifikanztests zu verstehen.
Zima
5
Die Ljung-Box-Teststatistik ( X-squared) wird größer, wenn die Stichprobenautokorrelationen der Residuen größer werden (siehe ihre Definition), und ihr p-Wert ist die Wahrscheinlichkeit, einen Wert zu erhalten, der so groß oder größer als der unter der Null beobachtete Wert ist Hypothese, dass die wahren Innovationen unabhängig sind. Ein kleiner p-Wert spricht daher gegen Unabhängigkeit.
Scortchi
@ Scortchi, ich glaube, ich habe es verstanden. Aber das führt auch dazu, dass mein Test bei lag = 1 für fit1 fehlschlägt. Wie könnte das erklärt werden? Ich sehe keine Autokorrelation bei Lag = 1. Gibt es eine Art Extremität dieses Tests mit einer geringen Anzahl von Verzögerungen (sehr kleine Stichprobe)?
Zima
3
Die Box-Ljung ist ein Omnibus-Unabhängigkeitstest, der den von Ihnen angegebenen Werten in keiner Weise nachsteht. Die verwendeten Freiheitsgrade sind die Nr. Verzögerungen abzüglich der Nr. AR & MA-Parameter ( fitdf) Sie haben also gegen eine Chi-Quadrat-Verteilung mit null Freiheitsgraden getestet.
Scortchi

Antworten:

32

Sie haben den Test falsch interpretiert. Wenn der p-Wert größer als 0,05 ist, sind die Residuen unabhängig, damit das Modell korrekt ist. Wenn Sie mit dem folgenden Code eine Zeitreihe mit weißem Rauschen simulieren und denselben Test für diese Zeitreihe verwenden, ist der p-Wert größer als 0,05.

m = c(ar, ma)
w = arima.sim(m, 120)
w = ts(w)
plot(w)
Box.test(w, type="Ljung-Box")
Joe Ferrelly
quelle
3
Eine kurze und übersichtliche Erklärung. +1 für das Codebeispiel.
Dawny33
1
Ihre Interpretation ist ebenfalls nicht korrekt. Ein p-Wert von 0,05 bedeutet, dass Sie mit einer Wahrscheinlichkeit von 5% einen Fehler machen können, wenn Sie die Nullhypothese ablehnen, dass es in Ihrem Fall keine Autokorrelation bis zur Reihenfolge 1 gibt.
DJJ
7

Viele statistische Tests werden verwendet, um eine Nullhypothese abzulehnen. In diesem speziellen Fall versucht der Ljung-Box-Test, die Unabhängigkeit einiger Werte zu verwerfen. Was bedeutet es?

  • Wenn p-Wert <0,05 1 : Sie können die Nullhypothese unter der Annahme einer 5% igen Fehlerwahrscheinlichkeit verwerfen. Sie können also davon ausgehen, dass Ihre Werte voneinander abhängig sind.

  • Wenn p-Wert> 0,05 1 : Sie haben nicht genügend statistische Beweise, um die Nullhypothese abzulehnen. Sie können also nicht davon ausgehen, dass Ihre Werte abhängig sind. Dies kann bedeuten, dass Ihre Werte ohnehin abhängig sind, oder dass Ihre Werte unabhängig sind. Aber Sie beweisen keine bestimmte Möglichkeit, was Ihr Test tatsächlich sagte, ist, dass Sie die Abhängigkeit der Werte nicht behaupten können, und Sie können auch die Unabhängigkeit der Werte nicht behaupten.

Im Allgemeinen ist es hier wichtig zu berücksichtigen, dass Sie mit einem p-Wert <0,05 die Nullhypothese ablehnen, mit einem p-Wert> 0,05 jedoch die Nullhypothese nicht bestätigen können.

Insbesondere können Sie die Unabhängigkeit der Zeitreihenwerte nicht mit dem Ljung-Box-Test nachweisen. Sie können nur die Abhängigkeit beweisen.


α=0,05

Alejandro Jiménez Rico
quelle
α=0,05 ), können wir die Nullhypothese der Unabhängigkeit nicht verwerfen. Aber Sie schreiben: "Aber Sie beweisen keine Möglichkeit, Sie haben bewiesen, dass beide Möglichkeiten noch eine Chance sind." Kannst du es besser erklären?
Utobi
0

Gemäß den ACF-Diagrammen ist es offensichtlich, dass die Anpassung 1 besser ist, da der Korrelationskoeffizient bei Verzögerung k (k> 1) stark abfällt und nahe bei 0 liegt.

Tao
quelle
0

Wenn Sie mit ACF urteilen, ist Passung 1 angemessener. Anstatt beim Ljung-Test verwirrt zu sein, können Sie immer noch das Korrelogramm der Residuen verwenden, um die beste Anpassung zwischen fit1 und fit2 zu ermitteln

Vincent
quelle
1
Ich verstehe diese Antwort nicht.
Michael R. Chernick
Wenn wir die Ljung-Box-Statistiken besuchen, könnten wir an der Modelldiagnoseprüfung, dh der Angemessenheit des Modells, interessiert sein. Sie können das Korrelogramm Ie, ACF und PACF des Datenrests aufzeichnen und dann die Grenzen der Serie überprüfen, wenn es sich um weißes Rauschen handelt. Es ist nicht erforderlich, den Ljung-Box-Test zu verwenden
Vincent