Testen auf Autokorrelation: Ljung-Box gegen Breusch-Godfrey

35

Ich bin es gewohnt, dass der Ljung-Box-Test häufig zum Testen der Autokorrelation in Rohdaten oder in Modellresten verwendet wird. Ich hatte fast vergessen, dass es einen anderen Test für die Autokorrelation gibt, nämlich den Breusch-Godfrey-Test.

Frage: Was sind die Hauptunterschiede und Gemeinsamkeiten der Ljung-Box- und Breusch-Godfrey-Tests und wann sollte man den anderen vorziehen?

(Referenzen sind willkommen. Irgendwie konnte ich keine Vergleiche der beiden Tests finden, obwohl ich einige Lehrbücher durchgesehen und online nach Material gesucht habe. Ich konnte die Beschreibungen der einzelnen Tests separat finden , aber was mich interessiert, ist der Vergleich der beiden.)

Richard Hardy
quelle

Antworten:

36

In der Ökonometrie gibt es einige starke Stimmen gegen die Validität der Ljung-Box- Statistik zum Testen der Autokorrelation auf der Grundlage der Residuen eines autoregressiven Modells (dh mit verzögerten abhängigen Variablen in der Regressormatrix), siehe insbesondere Maddala (2001). "Introduction to Econometrics (3d edition), Ch. 6.7 und 13.5, S. 528. Maddala beklagt wörtlich die weit verbreitete Verwendung dieses Tests und betrachtet stattdessen den" Langrange Multiplier "-Test von Breusch und Godfrey als angemessen.Q

Maddalas Argument gegen den Ljung-Box-Test ist dasselbe wie das Argument gegen einen anderen allgegenwärtigen Autokorrelationstest, den "Durbin-Watson" -Test: Bei verzögerten abhängigen Variablen in der Regressormatrix wird der Test zugunsten der Beibehaltung der Nullhypothese von voreingenommen "Keine Autokorrelation" (die in @javlacalle erhaltenen Monte-Carlo-Ergebnisse weisen auf diese Tatsache hin). Maddala erwähnt auch die geringe Leistung des Tests, siehe zum Beispiel Davies, N. & Newbold, P. (1979). Einige Power-Studien eines Portmanteau-Tests zur Spezifikation von Zeitreihenmodellen. Biometrika, 66 (1), 153 & ndash; 155 .

Hayashi (2000) , ch. 2.10 "Testen auf serielle Korrelation" stellt eine einheitliche theoretische Analyse dar und ich glaube, sie klärt die Angelegenheit. Hayashi geht von Null aus: Damit die Ljung-BoxStatistik asymptotisch als Chi-Quadrat verteilt ist, muss der Prozess(was auch immerdarstellt), dessen Autokorrelationen wir in die Statistikist unter der Nullhypothese, dass keine Autokorrelation vorliegt, eine Martingal-Differenz-Sequenz, dh, dass sie erfüllt{ z t } zQ{zt}z

E(ztzt1,zt2,...)=0

und es zeigt auch "eigene" bedingte Homoskedastizität

E(zt2zt1,zt2,...)=σ2>0

Unter diesen Bedingungen weist die Ljung-Box- Statistik (die eine für endliche Stichproben korrigierte Variante der ursprünglichen Box-Pierce- Statistik ist) eine asymptotische Chi-Quadrat-Verteilung auf, und ihre Verwendung ist asymptotisch gerechtfertigt. QQQ

Angenommen, wir haben ein autoregressives Modell angegeben (das möglicherweise neben verzögerten abhängigen Variablen auch unabhängige Regressoren enthält)

yt=xtβ+ϕ(L)yt+ut

Dabei ist ein Polynom im Verzögerungsoperator, und wir möchten die serielle Korrelation anhand der Residuen der Schätzung testen. Also hier . z tu tϕ(L)ztu^t

Hayashi zeigt, dass , um eine asymptotische Chi-Quadrat-Verteilung unter der Nullhypothese ohne Autokorrelation für die auf den Stichprobenautokorrelationen der Residuen basierende Ljung-Box- Statistik zu haben , alle Regressoren "streng exogen" sein müssen " auf den Fehlerbegriff im folgenden Sinne:Q

E(xtus)=0,E(ytus)=0t,s

Das "für alle " ist hier die entscheidende Voraussetzung, die strikte Exogenität widerspiegelt. Und es gilt nicht, wenn verzögerte abhängige Variablen in der Regressormatrix vorhanden sind. Dies ist leicht zu erkennen: setze und danns = t - 1t,ss=t1

E[ytut1]=E[(xtβ+ϕ(L)yt+ut)ut1]=

E[xtβut1]+E[ϕ(L)ytut1]+E[utut1]0

selbst wenn die unabhängig vom Fehlerterm sind und selbst wenn der Fehlerterm keine Autokorrelation aufweist : Der Term ist nicht Null. E [ ϕ ( L ) y tu t - 1 ]XE[ϕ(L)ytut1]

Dies beweist jedoch, dass die Ljung-Box Statistik in einem autoregressiven Modell nicht gültig ist, da nicht gesagt werden kann, dass es eine asymptotische Chi-Quadrat-Verteilung unter der Null gibt.Q

Nehmen wir nun an, dass eine schwächere Bedingung als die strikte Exogenität erfüllt ist, nämlich die

E(utxt,xt1,...,ϕ(L)yt,ut1,ut2,...)=0

Die Stärke dieses Zustands liegt "zwischen" strenger Exogenität und Orthogonalität. Unter der Null keine Autokorrelation des Fehlerterm, dieser Zustand wird „automatisch“ erfüllt von einem autoregressiven Modell, in Bezug auf die verzögerten abhängigen Variablen (für die ‚s muss separat natürlich angenommen werden).X

Dann gibt es eine andere Statistik, die auf den Autokorrelationen der verbleibenden Stichprobe basiert ( nicht die Ljung-Box- Statistik ), die eine asymptotische Chi-Quadrat-Verteilung unter der Null aufweist. Diese andere Statistik kann zur Vereinfachung mithilfe der "Hilfsregression" berechnet werden: Regression der Residuen für die vollständige Regressormatrix und für vergangene Residuen (bis zu der Verzögerung, die wir in der Spezifikation verwendet haben ), erhalten Sie das nicht zentrierte aus dieser auxilliären Regression und multiplizieren Sie es mit dem Stichprobenumfang.R 2{u^t} R2

Diese Statistik wird im sogenannten "Breusch-Godfrey-Test für serielle Korrelation" verwendet .

In diesem Fall sollte der Ljung-Box-Test zugunsten des Breusch-Godfrey-LM-Tests aufgegeben werden , wenn die Regressoren verzögerte abhängige Variablen enthalten (und dies in allen Fällen auch bei autoregressiven Modellen) . , nicht weil "es schlechter abschneidet", sondern weil es keine asymptotische Rechtfertigung besitzt. Ein beeindruckendes Ergebnis, vor allem, wenn man die allgegenwärtige Präsenz und Anwendung des ersteren betrachtet.

UPDATE: In Reaktion auf die in den Kommentaren geäußerten Zweifel, ob alle oben genannten Punkte auch für "reine" Zeitreihenmodelle gelten oder nicht (dh ohne " " -Regressoren), habe ich eine detaillierte Prüfung für das AR (1) -Modell veröffentlicht. in https://stats.stackexchange.com/a/205262/28746 .x

Alecos Papadopoulos
quelle
Sehr beeindruckend, Alecos! Tolle Erklärung! Ich danke dir sehr! (Ich hoffe, dass viel mehr Menschen Ihre Antwort irgendwann lesen und in ihrer Arbeit oder im Studium davon profitieren.)
Richard Hardy
+1 Sehr interessant. Meine anfängliche Vermutung war, dass in einem AR-Modell die Verteilung des BG-Tests verzerrt sein könnte, aber wie Sie erklärt und in der Simulationsübung vorgeschlagen haben, ist es der LB-Test, der schwerwiegender betroffen ist.
Javlacalle
Das Problem mit Ihrer Antwort ist, dass es auf der Annahme basiert, dass es sich um ein ARMAX-ähnliches Modell handelt, dh um Regressoren . keine reinen Zeitreihen wie AR. xt
Aksakal
1
@Aksakal, Ein Teil des Problems könnte auch sein, dass der Fokus hier und da etwas springt. Wir sollten die Punkte (1), welcher der Tests besser ist, von (2), welcher Test unter welchen Annahmen funktioniert, und (3), welcher Test für welches Modell funktioniert (aufgrund unterschiedlicher Modellannahmen), trennen. Letzteres ist vielleicht die nützlichste Frage für Praktiker. Zum Beispiel würde ich LB nicht für Residuen eines ARMA-Modells verwenden, weil Alecos dies gezeigt hat. Argumentieren Sie, dass LB immer noch für Residuen von ARMA-Modellen verwendet werden kann (was jetzt auch die zentrale Frage im anderen Thread ist)?
Richard Hardy
1
@ Alexis Und das ist ein Kommentar, der fast zu schmeichelhaft ist, um wahr zu sein. Vielen Dank.
Alecos Papadopoulos
12

Vermutung

Ich kenne keine Studie, die diese Tests vergleicht. Ich hatte den Verdacht, dass der Ljung-Box-Test im Kontext von Zeitreihenmodellen wie ARIMA-Modellen besser geeignet ist, bei denen die erklärenden Variablen Verzögerungen der abhängigen Variablen sind. Der Breusch-Godfrey-Test könnte besser für ein allgemeines Regressionsmodell geeignet sein, bei dem die klassischen Annahmen erfüllt sind (insbesondere exogene Regressoren).

Meine Vermutung ist, dass die Verteilung des Breusch-Godfrey-Tests (der sich auf die Residuen einer Regression stützt, die durch gewöhnliche kleinste Quadrate angepasst wurde) durch die Tatsache beeinflusst werden kann, dass erklärende Variablen nicht exogen sind.

Ich habe eine kleine Simulationsübung durchgeführt, um dies zu überprüfen, und die Ergebnisse legen das Gegenteil nahe: Der Breusch-Godfrey-Test ist besser als der Ljung-Box-Test, wenn die Residuen eines autoregressiven Modells auf Autokorrelation getestet werden. Details und R-Code zum Reproduzieren oder Ändern der Übung sind unten angegeben.


Kleine Simulationsübung

Eine typische Anwendung des Ljung-Box-Tests besteht darin, die serielle Korrelation der Residuen eines angepassten ARIMA-Modells zu testen. Hier generiere ich Daten aus einem AR (3) -Modell und passe ein AR (3) -Modell an.

Die Residuen erfüllen die Nullhypothese, dass keine Autokorrelation vorliegt, daher würden wir gleichmäßig verteilte p-Werte erwarten. Die Nullhypothese sollte in einem Prozentsatz von Fällen abgelehnt werden, die nahe an einem gewählten Signifikanzniveau liegen, z. B. 5%.

Ljung-Box Test:

## Ljung-Box test
n <- 200 # number of observations
niter <- 5000 # number of iterations
LB.pvals <- matrix(nrow=niter, ncol=4)
set.seed(123)
for (i in seq_len(niter))
{
  # Generate data from an AR(3) model and store the residuals
  x <- arima.sim(n, model=list(ar=c(0.6, -0.5, 0.4)))
  resid <- residuals(arima(x, order=c(3,0,0)))
  # Store p-value of the Ljung-Box for different lag orders
  LB.pvals[i,1] <- Box.test(resid, lag=1, type="Ljung-Box")$p.value
  LB.pvals[i,2] <- Box.test(resid, lag=2, type="Ljung-Box")$p.value
  LB.pvals[i,3] <- Box.test(resid, lag=3, type="Ljung-Box")$p.value
  LB.pvals[i,4] <- Box.test(resid, lag=4, type="Ljung-Box", fitdf=3)$p.value
}
sum(LB.pvals[,1] < 0.05)/niter
# [1] 0
sum(LB.pvals[,2] < 0.05)/niter
# [1] 0
sum(LB.pvals[,3] < 0.05)/niter
# [1] 0
sum(LB.pvals[,4] < 0.05)/niter
# [1] 0.0644
par(mfrow=c(2,2))
hist(LB.pvals[,1]); hist(LB.pvals[,2]); hist(LB.pvals[,3]); hist(LB.pvals[,4])

Ljung-Box Test p-Werte

Die Ergebnisse zeigen, dass die Nullhypothese in sehr seltenen Fällen verworfen wird. Bei einer Quote von 5% liegt die Ablehnungsquote weit unter 5%. Die Verteilung der p-Werte zeigt eine Tendenz zur Nicht-Zurückweisung der Null.

Bearbeiten Grundsätzlich fitdf=3sollte in jedem Fall eingestellt werden. Dies berücksichtigt die Freiheitsgrade, die verloren gehen, nachdem das AR (3) -Modell angepasst wurde, um die Residuen zu erhalten. Bei Verzögerungen kleiner als 4 führt dies jedoch zu negativen Freiheitsgraden oder null Freiheitsgraden, so dass der Test nicht mehr anwendbar ist. Entsprechend der Dokumentation ?stats::Box.test: Diese Tests werden manchmal auf die Residuen einer ARMA (p, q) -Anpassung angewendet. In diesem Fall legen die Referenzen eine bessere Annäherung an die Nullhypothesenverteilung durch Setzen nahe fitdf = p+q, vorausgesetzt natürlich, dass lag > fitdf.

Breusch-Godfrey-Test:

## Breusch-Godfrey test
require("lmtest")
n <- 200 # number of observations
niter <- 5000 # number of iterations
BG.pvals <- matrix(nrow=niter, ncol=4)
set.seed(123)
for (i in seq_len(niter))
{
  # Generate data from an AR(3) model and store the residuals
  x <- arima.sim(n, model=list(ar=c(0.6, -0.5, 0.4)))
  # create explanatory variables, lags of the dependent variable
  Mlags <- cbind(
    filter(x, c(0,1), method= "conv", sides=1),
    filter(x, c(0,0,1), method= "conv", sides=1),
    filter(x, c(0,0,0,1), method= "conv", sides=1))
  colnames(Mlags) <- paste("lag", seq_len(ncol(Mlags)))
  # store p-value of the Breusch-Godfrey test
  BG.pvals[i,1] <- bgtest(x ~ 1+Mlags, order=1, type="F", fill=NA)$p.value
  BG.pvals[i,2] <- bgtest(x ~ 1+Mlags, order=2, type="F", fill=NA)$p.value
  BG.pvals[i,3] <- bgtest(x ~ 1+Mlags, order=3, type="F", fill=NA)$p.value
  BG.pvals[i,4] <- bgtest(x ~ 1+Mlags, order=4, type="F", fill=NA)$p.value
}
sum(BG.pvals[,1] < 0.05)/niter
# [1] 0.0476
sum(BG.pvals[,2] < 0.05)/niter
# [1] 0.0438
sum(BG.pvals[,3] < 0.05)/niter
# [1] 0.047
sum(BG.pvals[,4] < 0.05)/niter
# [1] 0.0468
par(mfrow=c(2,2))
hist(BG.pvals[,1]); hist(BG.pvals[,2]); hist(BG.pvals[,3]); hist(BG.pvals[,4])

Breusch-Godfrey-Test p-Werte

Sinnvoller sehen die Ergebnisse für den Breusch-Godfrey-Test aus. Die p-Werte sind gleichmäßig verteilt und die Ablehnungsraten liegen näher am Signifikanzniveau (wie unter der Nullhypothese zu erwarten).

javlacalle
quelle
1
LB.pvals[i,j]j{1,2,3}j { 1 , 2 , 3 }j3fitdf=3j{1,2,3}
Auch in Bezug auf das, was Sie im ersten Absatz sagen: Könnten Sie das vielleicht ein wenig erweitern? Ich halte die Aussagen dort für sehr wichtig, aber die Details fehlen. Ich verlange vielleicht zu viel - um Dinge für mich zu "verdauen" - aber wenn es Ihnen nicht zu schwer fallen würde, würde ich das zu schätzen wissen.
Richard Hardy
1
Meiner Meinung nach hat dieses Problem mit Folgendem zu tun: Eine Summe von linear unabhängigen Zufallsvariablen wird als . Eine Summe von linear abhängigen Zufallsvariablen mit linearen Einschränkungen wird als . Wenn dies schlecht definiert. Ich vermute, dass so etwas passiert, wenn der Ljung-Box-Test für Modellreste eines AR ( ) -Modells verwendet wird. 2 ( 1 ) 2 ( n ) n 2 ( 1 ) k 2 ( n - k ) k n knχ2(1)χ2(n)nχ2(1)kχ2(nk)knk
Richard Hardy
1
Die Residuen sind nicht unabhängig, sondern linear begrenzt; Erstens summieren sie sich zu Null. zweitens sind ihre Autokorrelationen für die ersten Verzögerungen Null . Was ich gerade geschrieben habe, ist vielleicht nicht ganz richtig, aber die Idee ist da. Außerdem war mir bewusst, dass der Ljung-Box-Test nicht beantragt werden sollte , ich erinnere mich nur nicht an die Quelle. Vielleicht habe ich es in einem Vortrag von prof. Ruey S. Tsay, oder lesen Sie das in seinem Skript. Aber ich erinnere mich nicht wirklich ...klag<fitdf
Richard Hardy
1
Kurz gesagt, wenn Sie für Verzögerungen von weniger als 4 angeben , führt dies zu negativen Freiheitsgraden oder null Freiheitsgraden, sodass der Test nicht anwendbar ist. Ich denke, Sie sollten eine andere Schlussfolgerung ziehen: Verwenden Sie den Test nicht für diese Verzögerungen. Wenn Sie fortfahren, indem Sie fitdf=0anstelle von setzen fitdf=3, betrügen Sie möglicherweise sich.
Richard Hardy
2

Greene (Econometric Analysis, 7. Auflage, S. 963, Abschnitt 20.7.2):

Xetxtesxt

(Ich weiß, dass sich die Frage nach Ljung-Box und obigem auf Box-Pierce bezieht, aber erstere ist eine einfache Verfeinerung der letzteren, und daher würde jeder Vergleich zwischen GB und BP auch für einen Vergleich zwischen GB und LB gelten.)

Wie andere Antworten bereits ausführlicher dargelegt haben, schlägt Greene auch vor, dass die Verwendung von Ljung-Box gegenüber Godfrey-Breusch nichts zu gewinnen (außer eine gewisse Recheneffizienz), aber möglicherweise viel zu verlieren (die Gültigkeit des Tests).

Candamir
quelle
0

Es scheint, dass Box-Pierce- und Ljung-Box-Tests hauptsächlich univariate Tests sind, aber es gibt einige Annahmen hinter dem Breusch-Godfrey-Test, wenn getestet wird, ob bei Resten der Zeitreihenregression (MA- oder AR-Prozess) eine lineare Struktur zurückbleibt.

Hier ist der Link zur Diskussion:

http://www.stata.com/meeting/new-orleans13/abstracts/materials/nola13-baum.pdf

Analytiker
quelle
Ich glaube, ich verstehe die Bedeutung des Satzes aufgrund der Grammatik nicht ganz. Könnten Sie es umformulieren?
Richard Hardy
0

Der Hauptunterschied zwischen den Tests ist der folgende:

  • Der Breusch-Godfrey-Test ist als Lagrange-Multiplikator-Test aus der (korrekt spezifizierten) Wahrscheinlichkeitsfunktion (und damit aus ersten Prinzipien) abgeleitet.

  • Der Ljung-Box-Test basiert auf zweiten Momenten der Reste eines stationären Prozesses (und damit vergleichsweise ad-hocer Natur).

Der Breusch-Godfrey-Test entspricht als Lagrange-Multiplikator-Test asymptotisch dem gleichmäßig leistungsstärksten Test. Wie dem auch sei, es ist nur asymptotisch am mächtigsten für die alternative Hypothese ausgelassener Regressoren (unabhängig davon, ob sie verzögerte Variablen sind oder nicht). Die Stärke des Ljung-Box-Tests liegt möglicherweise in seiner Aussagekraft gegenüber einer Vielzahl alternativer Hypothesen.

bmbb
quelle