Badanie autokorelacji: Ljung-Box kontra Breusch-Godfrey

35

Przyzwyczaiłem się do częstego używania testu Ljunga-Boxa do testowania autokorelacji w surowych danych lub resztkach modelu. Prawie zapomniałem, że istnieje inny test autokorelacji, mianowicie test Breusch-Godfrey.

Pytanie: jakie są główne różnice i podobieństwa w testach Ljunga-Boxa i Breuscha-Godfreya i kiedy należy je preferować?

(Referencje są mile widziane. Jakoś nie udało mi się znaleźć żadnych porównań między dwoma testami, chociaż zajrzałem do kilku podręczników i szukałem materiałów online. Mogłem znaleźć opisy każdego testu osobno , ale interesuje mnie to porównanie tych dwóch).

Richard Hardy
źródło

Odpowiedzi:

36

W społeczności Econometrics istnieją mocne głosy przeciwko ważności statystyki Ljung-Boxa do testowania autokorelacji na podstawie reszt z modelu autoregresyjnego (tj. Z opóźnionymi zmiennymi zależnymi w macierzy regresora), patrz szczególnie Maddala (2001) „Wprowadzenie do ekonometrii (wydanie 3d), rozdz. 6.7 i 13. 5 str . 528. Maddala dosłownie ubolewa nad powszechnym stosowaniem tego testu i zamiast tego uważa za stosowny test„ Langrange Multiplier ”Breuscha i Godfreya.Q

Argument Maddali przeciwko testowi Ljunga-Boxa jest taki sam, jak argument podniesiony przeciwko innemu wszechobecnemu testowi autokorelacji, testowi „Durbin-Watson”: z opóźnionymi zmiennymi zależnymi w macierzy regresora test jest tendencyjny na korzyść utrzymania hipotezy zerowej „brak autokorelacji” (wyniki Monte-Carlo uzyskane w odpowiedzi na @javlacalle odnoszą się do tego faktu). Maddala wspomina także o niskiej mocy testu, patrz na przykład Davies, N., i Newbold, P. (1979). Niektóre badania mocy testu Portmanteau specyfikacji modelu szeregów czasowych. Biometrika, 66 (1), 153-155 .

Hayashi (2000) , rozdz. 2.10 „Testowanie korelacji szeregowej” przedstawia ujednoliconą analizę teoretyczną i, jak sądzę, wyjaśnia sprawę. Hayashi zaczyna od zera:aby statystykiLjung-Boxabyły asymptotycznie rozłożone jako chi-kwadrat, musi być tak, że proces(cokolwiekreprezentuje), którego przykładowe autokorelacje wprowadzamy do statystyki jest, zgodnie z hipotezą zerową braku autokorelacji, sekwencją różnic martingale, tzn. że spełnia{ z t } zQ{zt}z

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

a także wykazuje „własną” warunkową homoskedastyczność

mi(zt2)zt-1,zt-2),...)=σ2)>0

W tych warunkach Ljung-Box -statistic (który jest wariantem skorygowanym dla skończonych próbek oryginalnej wersji Box-Pierce -statistic), ma asymptotycznie rozkład chi-kwadrat, a jego zastosowanie ma asymptotyczne uzasadnienie. QQQ

Załóżmy teraz, że określiliśmy model autoregresyjny (który być może obejmuje również niezależne regresory oprócz opóźnionych zmiennych zależnych), powiedzmy

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

gdzie jest wielomianem w operatorze opóźnienia, a my chcemy przetestować korelację szeregową za pomocą reszt oszacowania. Więc tutaj . z TU tϕ(L.)ztu^t

Hayashi pokazuje, że aby statystyka Ljunga-Boxa oparta na próbkach autokorelacji reszt, miała asymptotyczny rozkład chi-kwadrat pod hipotezą zerową braku autokorelacji, musi być tak, że wszystkie regresory są „ściśle egzogeniczne „ do terminu błędu w następującym znaczeniu:Q

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

„Dla wszystkich ” jest tutaj kluczowym wymogiem, który odzwierciedla ścisłą egzogeniczność. I to nie obowiązuje, gdy w macierzy regresora istnieją opóźnione zmienne zależne. Łatwo to zauważyć: ustaw a następnies = t - 1t,ss=t-1

mi[ytut-1]=mi[(xtβ+ϕ(L.)yt+ut)ut-1]=

mi[xtβut-1]+mi[ϕ(L.)ytut-1]+mi[utut-1]0

nawet jeśli są niezależne od warunku błędu, a nawet jeśli warunek błędu nie ma autokorelacji : termin nie jest równy zero. E [ ϕ ( L ) y tu t - 1 ]Xmi[ϕ(L.)ytut-1]

Dowodzi to jednak , że statystyka Ljunga-Boxa nie jest poprawna w modelu autoregresyjnym, ponieważ nie można powiedzieć, że ma asymptotyczny rozkład chi-kwadrat poniżej wartości zerowej.Q

Załóżmy teraz, że spełniony jest warunek słabszy niż ścisła egzogeniczność, a mianowicie

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

Siłą tego warunku jest „pomiędzy” ścisła egzogeniczność i ortogonalność. Pod zerą braku autokorelacji składnika błędu warunek ten jest „automatycznie” spełniony przez model autoregresyjny w odniesieniu do opóźnionych zmiennych zależnych (dla -ów należy oczywiście osobno założyć).X

Istnieje też inna statystyka oparta na autokorelacjach z próbką resztkową ( nie Ljung-Box), która ma asymptotyczny rozkład chi-kwadrat poniżej wartości zerowej. Tę inną statystykę można obliczyć, dla wygody, stosując trasę „regresji pomocniczej”: regresuj resztki na pełnej macierzy regresora i na przeszłych resztach (do opóźnienia, którego użyliśmy w specyfikacji ), uzyskaj niecentrowany z tej regresji pomocniczej i pomnóż go przez wielkość próbki.{u^t} R2)

Ta statystyka jest używana w tak zwanym „teście Breuscha-Godfreya dla szeregowej korelacji” .

Wydaje się zatem, że gdy regresory zawierają zmienne zależne opóźnione (i tak również we wszystkich przypadkach modeli autoregresyjnych), należy zrezygnować z testu Ljunga-Boxa na rzecz testu LM Breuscha-Godfreya. , nie dlatego, że „działa gorzej”, ale dlatego, że nie ma asymptotycznego uzasadnienia. Całkiem imponujący wynik, zwłaszcza sądząc po wszechobecnej obecności i zastosowaniu tego pierwszego.

AKTUALIZACJA: Odpowiadając na wątpliwości wyrażone w komentarzach, czy wszystkie powyższe dotyczą również „czystych” modeli szeregów czasowych, czy też nie (tj. Bez regresorów „ ”), opublikowałem szczegółowe badanie modelu AR (1), w https://stats.stackexchange.com/a/205262/28746 .x

Alecos Papadopoulos
źródło
Bardzo imponujące, Alecos! Świetne wyjaśnienie! Dziękuję bardzo! (Mam nadzieję, że o wiele więcej osób w końcu przeczyta twoją odpowiedź i skorzysta z niej w pracy lub na studiach).
Richard Hardy,
+1 Bardzo interesujące. Moje początkowe przypuszczenie było takie, że w modelu AR rozkład testu BG może ulec zniekształceniu, ale jak wyjaśniono i zasugerowano ćwiczenie symulacyjne, to test LB jest bardziej dotknięty.
javlacalle
Problem z twoją odpowiedzią polega na tym, że opiera się ona na założeniu, że mamy do czynienia z modelem podobnym do ARMAX, tj. Z regresorami . nie czyste szeregi czasowe, takie jak AR. xt
Aksakal
1
@Aksakal, część problemu może polegać na tym, że fokus nieco przeskakuje tu i tam. Powinniśmy oddzielić kwestie (1), który z testów jest lepszy od (2), który test działa zgodnie z którymi założeniami, i co ważne, (3) który test działa dla którego modelu (z powodu różnych założeń modelu). To ostatnie jest chyba najbardziej użytecznym pytaniem dla praktyków. Na przykład nie użyłbym LB dla reszt modelu ARMA z powodu tego, co pokazał Alecos. Czy argumentujesz, że LB można nadal stosować do resztek modeli ARMA (co jest teraz również głównym pytaniem w drugim wątku)?
Richard Hardy,
1
@Alexis To komentarz, który jest zbyt pochlebny, aby był prawdziwy. Dziękuję Ci.
Alecos Papadopoulos
12

Przypuszczenie

Nie znam żadnego badania porównującego te testy. Podejrzewałem, że test Ljunga-Boxa jest bardziej odpowiedni w kontekście modeli szeregów czasowych, takich jak modele ARIMA, w których zmienne wyjaśniające są opóźnieniami zmiennych zależnych. Test Breuscha-Godfreya mógłby być bardziej odpowiedni dla modelu regresji ogólnej, w którym spełnione są klasyczne założenia (w szczególności regresory egzogenne).

Moje przypuszczenie jest takie, że na rozkład testu Breusch-Godfrey (który opiera się na resztkach z regresji dopasowanej przez zwykłe najmniejsze kwadraty) może mieć wpływ fakt, że zmienne objaśniające nie są egzogeniczne.

Wykonałem małe ćwiczenie symulacyjne, aby to sprawdzić, a wyniki sugerują coś przeciwnego: test Breusch-Godfrey działa lepiej niż test Ljunga-Boxa podczas testowania autokorelacji w resztkach modelu autoregresyjnego. Szczegóły i kod R do odtworzenia lub modyfikacji ćwiczenia podano poniżej.


Małe ćwiczenie symulacyjne

Typowym zastosowaniem testu Ljung-Boxa jest testowanie korelacji szeregowej reszt z dopasowanego modelu ARIMA. Tutaj generuję dane z modelu AR (3) i dopasowuję model AR (3).

Reszty spełniają hipotezę zerową braku autokorelacji, dlatego spodziewalibyśmy się równomiernie rozłożonych wartości p. Hipotezę zerową należy odrzucić w odsetku przypadków zbliżonym do wybranego poziomu istotności, np. 5%.

Test Ljung-Box:

## 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])

Wartości p testu Ljunga-Boxa

Wyniki pokazują, że hipoteza zerowa jest odrzucana w bardzo rzadkich przypadkach. W przypadku poziomu 5% wskaźnik odrzuceń jest znacznie niższy niż 5%. Rozkład wartości p pokazuje tendencję do nie odrzucania wartości zerowej.

Edytuj Zasadniczo fitdf=3należy ustawić we wszystkich przypadkach. Uwzględni to stopnie swobody utracone po dopasowaniu modelu AR (3) w celu uzyskania resztek. Jednak w przypadku opóźnień rzędu mniejszych niż 4 doprowadzi to do ujemnych lub zerowych stopni swobody, uniemożliwiając zastosowanie testu. Zgodnie z dokumentacją ?stats::Box.test: testy te są czasami stosowane do reszt z dopasowania ARMA (p, q), w którym to przypadku odniesienia wskazują na lepsze przybliżenie rozkładu zerowej hipotezy poprzez ustawienie fitdf = p+q, oczywiście pod warunkiem lag > fitdf.

Test Breusch-Godfrey:

## 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])

Wartości p testu Breuscha-Godfreya

Wyniki testu Breusch-Godfrey wyglądają bardziej sensownie. Wartości p są równomiernie rozłożone, a wskaźniki odrzucenia są bliższe poziomowi istotności (zgodnie z oczekiwaniami w ramach hipotezy zerowej).

javlacalle
źródło
1
LB.pvals[i,j]jot{1,2),3)}jot3)fitdf=3jot{1,2),3)}
Ponadto, jeśli chodzi o to, co powiesz w pierwszym akapicie: czy może mógłbyś się trochę rozwinąć? Uważam tamte stwierdzenia za dość ważne, ale brakuje szczegółów. Mogę prosić o zbyt wiele - „przetrawić” dla mnie rzeczy - ale byłbym wdzięczny, gdyby nie było to dla ciebie zbyt trudne.
Richard Hardy,
1
nχ2)(1)χ2)(n)nχ2)(1)kχ2)(n-k)knk
1
klag<fitdf
1
Krótko mówiąc, gdy mówimy o opóźnieniach rzędu mniejszych niż 4, doprowadzi to do ujemnych lub zerowych stopni swobody, co sprawi , że test nie będzie miał zastosowania , myślę, że powinieneś wyciągnąć inny wniosek: nie używaj testu dla tych opóźnień. Jeśli przejdziesz przez ustawienie fitdf=0zamiast fitdf=3ciebie może być oszukiwanie siebie.
Richard Hardy
2

Greene (Analiza ekonometryczna, wydanie siódme, s. 963, sekcja 20.7.2):

Xmitxtmisxt

(Wiem, że pytanie dotyczy Ljung-Boxa, a powyższe odnosi się do Box-Pierce, ale to pierwsze jest prostym dopracowaniem drugiego, a zatem każde porównanie GB i BP dotyczyłoby również porównania GB i LB.)

Jak inne odpowiedzi wyjaśniły już w bardziej rygorystyczny sposób, Greene sugeruje również, że nie ma nic do zyskania (może poza pewną wydajnością obliczeniową) dzięki zastosowaniu Ljung-Box kontra Godfrey-Breusch, ale potencjalnie wiele do stracenia (ważność testu).

Candamir
źródło
0

Wydaje się, że testy Boxa-Pierce'a i Ljunga-Boxa są głównie testami jednowymiarowymi, ale istnieją pewne założenia za testem Breuscha-Godfreya podczas testowania, czy struktura liniowa jest pozostawiona na resztkach regresji szeregów czasowych (proces MA lub AR).

Oto link do dyskusji:

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

Analityk
źródło
Myślę, że nie do końca rozumiem znaczenie zdania z powodu gramatyki. Czy mógłbyś to zmienić?
Richard Hardy
0

Główna różnica między testami jest następująca:

  • Test Breuscha-Godfreya jest jak test mnożnika Lagrange'a wyprowadzony z (poprawnie określonej) funkcji wiarygodności (a zatem z pierwszych zasad).

  • Test Ljunga-Boxa oparty jest na drugich momentach pozostałości procesu stacjonarnego (a zatem o charakterze bardziej doraźnym).

Test Breuscha-Godfreya jest testem mnożnika Lagrange'a asymptotycznie równoważnym jednorodnie najsilniejszemu testowi. Tak czy inaczej, jest tylko asymptotycznie najsilniejszy z alternatywnej hipotezy pominiętych regresorów (niezależnie od tego, czy są to zmienne opóźnione, czy nie). Mocną stroną testu Ljunga-Boxa może być jego moc wobec szerokiego zakresu alternatywnych hipotez.

bmbb
źródło