Test d'autocorrélation: Ljung-Box contre Breusch-Godfrey

35

Je suis habitué à voir le test de Ljung-Box utilisé assez fréquemment pour tester l'autocorrélation dans les données brutes ou dans les résidus de modèle. J'avais presque oublié qu'il existe un autre test d'autocorrélation, à savoir le test de Breusch-Godfrey.

Question: quelles sont les principales différences et similitudes des tests de Ljung-Box et de Breusch-Godfrey, et quand faut-il privilégier l'un ou l'autre?

(Les références sont les bienvenues. Je n'ai pas réussi à trouver de comparaison entre les deux tests, même si j'ai consulté quelques manuels et cherché du matériel en ligne. J'ai pu trouver les descriptions de chaque test séparément , mais ce qui m'intéresse, c'est la comparaison des deux.)

Richard Hardy
la source

Réponses:

36

La communauté des économétriciens a de fortes voix contre la validité de la statistique de Ljung-Box pour le test d'autocorrélation basé sur les résidus d'un modèle autorégressif (c'est-à-dire avec des variables dépendantes décalées dans la matrice de régression), voir notamment Maddala (2001). "Introduction to Econometrics (3ème édition), ch. 6.7 et 13. 5 p . 528. Maddala déplore littéralement l'utilisation répandue de ce test et considère plutôt comme approprié le test" Langrange Multiplier "de Breusch et Godfrey.Q

L'argument de Maddala contre le test de Ljung-Box est le même que celui avancé contre un autre test d'autocorrélation omniprésent, le test de "Durbin-Watson": avec des variables dépendantes décalées dans la matrice des régresseurs, le test est biaisé en faveur du maintien de l'hypothèse nulle de "non-autocorrélation" (les résultats de Monte-Carlo obtenus à @javlacalle répondent à cela). Maddala mentionne également la faible puissance du test, voir par exemple Davies, N., & Newbold, P. (1979). Quelques études de puissance d’un test sur portemanteau de la spécification d’un modèle de série chronologique. Biometrika, 66 (1), 153-155 .

Hayashi (2000) , ch. 2.10 "Testing for serial correlation" , présente une analyse théorique unifiée et, je crois, clarifie la question. Hayashi commence à partir de zéro: pour que lastatistiqueLjung-Box-statistic soit distribuée asymptotiquement sous la forme d’un chi-carré, il faut que le processus { z t } (quel que soit z ), dont les autocorrélations d'échantillon que nous introduisons dans la statistique est , sous l'hypothèse nulle d'absence d'autocorrélation, une séquence de différence de martingale, c'est-à-dire qu'elle satisfaitQ{zt}z

E(zt|zt-1,zt-2,...)=0

et aussi il expose "propre" homoskédasticité conditionnelle

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

Dans ces conditions, la statistique de Ljung-Box (qui est une variante corrigée du nombre d'échantillons finis de la statistique de Box-Pierce Q d' origine) a une distribution asymptotique, et son utilisation est justifiée de manière asymptotique. QQ

Supposons maintenant que nous avons spécifié un modèle autorégressif (qui inclut peut-être aussi des régresseurs indépendants en plus des variables dépendantes décalées), par exemple

yt=Xtβ+φ(L)yt+voust

est un polynôme dans l'opérateur de décalage et nous voulons tester la corrélation en série en utilisant les résidus de l'estimation. Donc , ici z tu t . φ(L)ztvous^t

Hayashi montre que pour que la statistique Ljung-Box basée sur les autocorrélations des résidus dans l'échantillon ait une distribution asymptotique du khi-deux sous l'hypothèse nulle d'absence d'autocorrélation, il faut que tous les régresseurs soient "strictement exogènes". " au terme d'erreur dans le sens suivant:Q

E(Xtvouss)=0,E(ytvouss)=0t,s

Le "pour tous les " est la condition cruciale ici, celle qui reflète l'exogénéité stricte. Et cela ne tient pas lorsqu'il existe des variables dépendantes retardées dans la matrice du régresseur. Cela se voit facilement: définissez s = t - 1 puist,ss=t-1

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

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

même si les s » sont indépendants du terme d'erreur, et même si le terme d'erreur n'a pas d' autocorrélation- : le terme E [ φ ( L ) y tu t - 1 ] est non nulle. XE[ϕ(L)ytut1]

Mais cela prouve que la statistique de Ljung-Box n’est pas valable dans un modèle autorégressif, car on ne peut pas dire qu’elle ait une distribution asymptotique du Khi-deux sous le zéro.Q

Supposons maintenant qu'une condition plus faible qu'une exogénéité stricte est satisfaite, à savoir que

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

La force de cette condition réside "entre" l'exogénéité stricte et l'orthogonalité. En vertu du caractère nul ou sans autocorrélation du terme d'erreur, cette condition est satisfaite "automatiquement" par un modèle autorégressif, en ce qui concerne les variables dépendantes en retard (pour les , elle doit bien entendu être supposée séparément).X

Ensuite, il existe une autre statistique basée sur les autocorrélations d'échantillon résiduel ( pas celle de Ljung-Box), qui présente une distribution asymptotique du Khi deux sous le zéro. Cette autre statistique peut être calculée, à titre de commodité, en utilisant la voie de la « régression auxiliaire »: régression des résidus sur la matrice complète régresseur et sur les résidus passés (jusqu'à le retard que nous avons utilisé dans le cahier des charges), obtenir le R 2 non centré de cette régression auxiliaire et le multiplier par la taille de l'échantillon.{vous^t} R2

Cette statistique est utilisée dans ce que nous appelons le "test de Breusch-Godfrey pour la corrélation en série" .

Il semble donc que, lorsque les régresseurs incluent des variables dépendantes décalées (et donc dans tous les cas de modèles autorégressifs également), le test de Ljung-Box devrait être abandonné au profit du test de Breusch-Godfrey LM. , non pas parce que "les performances sont pires", mais parce qu’elles ne possèdent pas de justification asymptotique. Un résultat assez impressionnant, à en juger par la présence omniprésente et l’application de l’ancien.

MISE À JOUR: Répondant aux doutes soulevés dans les commentaires quant à savoir si tout ce qui précède s'applique également aux modèles de séries chronologiques "pures" (c'est-à-dire sans les régénérateurs " "), j'ai posté un examen détaillé du modèle AR (1), dans https://stats.stackexchange.com/a/205262/28746 .X

Alecos Papadopoulos
la source
Très impressionnant, Alecos! Grande explication! Merci beaucoup! (J'espère que beaucoup de gens liront éventuellement votre réponse et en bénéficieront dans leur travail ou leurs études.)
Richard Hardy
+1 très intéressant. Mon hypothèse initiale était que, dans un modèle RA, la distribution du test de glycémie puisse être faussée, mais comme vous l'avez expliqué et suggéré l'exercice de simulation, c'est le test LB qui est le plus sérieusement affecté.
javlacalle
Le problème avec votre réponse est qu’il est basé sur l’hypothèse que nous traitons avec le modèle ARMAX, c’est-à-dire avec les régresseurs . pas des séries chronologiques pures telles que AR. Xt
Aksakal
1
@Aksakal, En outre, une partie du problème réside peut-être dans le fait que l'accent est mis de côté. Nous devrions séparer les questions de (1) lequel des tests est le meilleur de (2) quel test fonctionne sous quelles hypothèses, et surtout, (3) quel test fonctionne pour quel modèle (en raison de différentes hypothèses de modèle). Ce dernier est peut-être la question la plus utile pour les praticiens. Par exemple, je n'utiliserais pas LB pour les résidus d'un modèle ARMA à cause de ce qu'Alecos a montré. Pensez-vous que LB peut toujours être utilisé pour les résidus des modèles ARMA (qui est maintenant également la question centrale dans l'autre fil)?
Richard Hardy
1
@Alexis Et c'est un commentaire presque trop flatteur pour être vrai. Merci.
Alecos Papadopoulos
12

Conjecture

Je ne connais aucune étude comparant ces tests. Je soupçonnais que le test de Ljung-Box était plus approprié dans le contexte de modèles de séries chronologiques tels que les modèles ARIMA, où les variables explicatives sont des décalages des variables dépendantes. Le test de Breusch-Godfrey pourrait être plus approprié pour un modèle de régression général où les hypothèses classiques sont remplies (en particulier les régresseurs exogènes).

Ma conjecture est que la distribution du test de Breusch-Godfrey (qui repose sur les résidus d'une régression ajustée par les moindres carrés ordinaires) peut être affectée par le fait que les variables explicatives ne sont pas exogènes.

J'ai fait un petit exercice de simulation pour vérifier cela et les résultats suggèrent le contraire: le test de Breusch-Godfrey donne de meilleurs résultats que le test de Ljung-Box lorsqu'il teste l'autocorrélation dans les résidus d'un modèle autorégressif. Des détails et le code R permettant de reproduire ou de modifier l'exercice sont donnés ci-dessous.


Petit exercice de simulation

Une application typique du test de Ljung-Box consiste à tester la corrélation en série dans les résidus d'un modèle ARIMA ajusté. Ici, je génère des données à partir d’un modèle AR (3) et adapte un modèle AR (3).

Les résidus répondent à l'hypothèse nulle d'absence de corrélation automatique. Nous nous attendons donc à des valeurs de p uniformément distribuées. L’hypothèse nulle doit être rejetée dans un pourcentage de cas proche du seuil de signification choisi, par exemple 5%.

Test de 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])

Valeurs p du test de Ljung-Box

Les résultats montrent que l'hypothèse nulle est rejetée dans de très rares cas. Pour un niveau de 5%, le taux de rejets est nettement inférieur à 5%. La distribution des valeurs p montre un biais en faveur du non-rejet de la valeur nulle.

Modifier En principe, fitdf=3il convient de définir dans tous les cas. Cela expliquera les degrés de liberté perdus après l’ajustement du modèle AR (3) pour récupérer les résidus. Cependant, pour les décalages d'ordre inférieur à 4, cela donnera un degré de liberté négatif ou nul, rendant le test inapplicable. Selon la documentation ?stats::Box.test: Ces tests sont parfois appliqués aux résidus d'un ajustement ARMA (p, q), auquel cas les références suggèrent une meilleure approximation de la distribution de l'hypothèse nulle est obtenue par réglage fitdf = p+q, à condition bien sûr que lag > fitdf.

Test de 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])

Breusch-Godfrey teste les valeurs p

Les résultats du test de Breusch-Godfrey semblent plus raisonnables. Les valeurs de p sont uniformément distribuées et les taux de rejet sont plus proches du niveau de signification (comme prévu dans l'hypothèse nulle).

Javlacalle
la source
1
LB.pvals[i,j]j{1,2,3}j3fitdf=3j{1,2,3}
En outre, en ce qui concerne ce que vous dites dans le premier paragraphe: pourriez-vous développer un peu ce sujet? Je considère que les déclarations sont très importantes, mais les détails manquent. Je demande peut-être trop - de "digérer" les choses pour moi - mais si ce ne serait pas trop difficile pour vous, je vous en serais reconnaissant.
Richard Hardy
1
nχ2(1)χ2(n)nχ2(1)kχ2(n-k)knk
1
klag<fitdf
1
En bref, lorsque vous dites que les retards d’ordre sont inférieurs à 4, cela donnera un degré de liberté négatif ou nul, rendant le test inapplicable , je pense que vous devriez tirer une conclusion différente: ne pas utiliser le test pour ces retards. Si vous procédez en vous mettant fitdf=0en place, fitdf=3vous vous trompez peut-être.
Richard Hardy le
2

Greene (Analyse économétrique, 7ème édition, p. 963, section 20.7.2):

XetXtesXt

(Je sais que la question concerne Ljung-Box et que ce qui précède fait référence à Box-Pierce, mais le premier est un simple raffinement du dernier et par conséquent, toute comparaison entre GB et BP s'appliquerait également à une comparaison entre GB et LB.)

Comme d'autres réponses l'ont déjà expliqué de manière plus rigoureuse, Greene suggère également que l'utilisation de Ljung-Box par rapport à Godfrey-Breusch n'a rien à gagner (hormis une efficacité de calcul peut-être), mais potentiellement beaucoup à perdre (la validité du test).

Candamir
la source
0

Il semble que les tests de Box-Pierce et de Ljung-Box soient principalement des tests univariés, mais le test de Breusch-Godfrey repose sur certaines hypothèses lorsqu'il teste si une structure linéaire est laissée derrière les résidus de régression en série chronologique (processus MA ou AR).

Voici un lien vers la discussion:

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

Analyste
la source
Je pense que je ne comprends pas très bien le sens de la phrase à cause de la grammaire. Pourriez-vous reformuler?
Richard Hardy le
0

La principale différence entre les tests est la suivante:

  • Le test de Breusch-Godfrey est le test de Lagrange Multiplier dérivé de la fonction de vraisemblance (correctement spécifiée) (et donc des premiers principes).

  • Le test de Ljung-Box est basé sur les seconds moments des résidus d'un processus stationnaire (et donc d'une nature comparativement plus ad hoc).

Le test de Breusch-Godfrey est, en tant que test de Lagrange Multiplier, asymptotiquement équivalent au test uniformément le plus puissant. Quoi qu’il en soit, il n’est asymptotiquement que le plus puissant de l’hypothèse alternative des régresseurs omis (qu’ils soient ou non des variables décalées). Le point fort du test de Ljung-Box peut être son pouvoir contre un large éventail d’hypothèses alternatives.

bmbb
la source