La régression fallacieuse désigne une situation dans laquelle l'utilisation de séries temporelles non stationnaires dans une régression linéaire fait apparaître des résultats erronés, trop optimistes, qui font croire à une relation entre les variables alors que ce n'est pas le cas.
Granger et Newbold[1] ont montré en 1974 que de nombreuses études statistiques de séries temporelles montraient des faux résultats, parce qu'elles ne prenaient pas en compte le problème de l'auto-corrélation des données. En effet, avec une forte auto-corrélation, l'indice , ainsi que les tests sur les coefficients, ont tendance à être trop optimistes et à faire croire à une relation entre les variables qui n'est en fait que fallacieuse.
On souhaite faire une régression linéaire entre deux séries temporelles: avec un bruit blanc.
Si et sont deux variables intégrées d'ordre 1, la distribution classique de l'estimateur des coefficients n'est plus selon une loi de Student, mais selon un mouvement brownien. Utiliser cependant la distribution de Student amène justement à ces résultats trop bons.
En effet, dans le cas classique, la convergence de l'estimateur des moindres carrés est montrée à partir du fait que la matrice de variance-covariance de l'échantillon tend vers la matrice de variance-covariance de la population, d'où l'on tire que Ωâ = σε²·(X 'X)−1. Cependant, la variance d'une variable non-stationnaire intégrée d'ordre 1 n'est pas fixe, et donc l'estimateur n'est pas convergent en probabilité, dû au fait que les résidus sont eux-mêmes intégrés d'ordre 1, comme Philips (1986) l'a montré. En conséquence, les tests de Student et de Fisher sont inadéquats également.
Il existe plusieurs manières de contourner le problème. Si les variables sont intégrées d'ordre 1, la série de leurs différences sera stationnaire (par définition de l'ordre d'intégration). Il suffit alors de faire la régression sur les variables en différences pour que celle-ci devienne valide.
Il est sinon possible d'utiliser un modèle à retards distribués, soit un modèle qui intègre également les retards de la variable expliquée et de la variable explicative. (Hamilton, 1994, p 562)
Une simulation avec le logiciel libre de statistiques R permet d'illustrer le phénomène :
Résultat affiché | Code R | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Call: lm(formula = x ~ y) Residuals
Coefficients
Residual standard error: 0.972 on 498 degrees of freedom Multiple R-squared: 0.0027, Adjusted R-squared: 0.000695 F-statistic: 1.35 on 1 and 498 DF,p-value: 0.246 |
set.seed(123) #Conditionnement du compteur aléatoire pour obtenir les mêmes valeurs que l'exemple
x<-rnorm(500) #Simulation d'un bruit blanc
y<-rnorm(500) #Simulation d'un bruit blanc
summary(lm(x~y)) #Régression linéaire
|
Dans cet exemple où l'on régresse deux bruits blancs, la relation est rejetée : R2 = 0,002 7, et la probabilité que y = 0 est 24 %.
Résultat affiché | Code R | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Call: lm(formula = x2 ~ y2) Residuals
Coefficients
Residual standard error: 7.49 on 498 degrees of freedom Multiple R-squared: 0.304, Adjusted R-squared: 0.303 F-statistic: 218 on 1 and 498 DF,p-value: <2e-16 |
set.seed(123) #Conditionnement du compteur aléatoire pour obtenir les mêmes valeurs que l'exemple
x<-rnorm(500) #Simulation d'un bruit blanc
y<-rnorm(500) #Simulation d'un bruit blanc
x2<-cumsum(x) #Génération d'une marche aléatoire à partir du bruit blanc : somme cumulée
y2<-cumsum(y) #idem
summary(lm(x2~y2)) #Régression linéaire
|
On remarque ici par contre que la régression de marches aléatoires, qui sont des processus intégrés d'ordre 1, laisse penser à une relation significative : le coefficient R2 = 0,304, et la probabilité que y vaille zéro est inférieure à 0,000 000 1 %, ce qui laisserait croire qu'il y a une relation entre les variables. La statistique de Fisher, qui teste si en soi la régression a un sens, est également très fortement rejetée.
Résultat affiché | Code R | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Call: lm(formula = x3 ~ y3) Residuals
Coefficients
Residual standard error: 1.03 on 497 degrees of freedom Multiple R-squared: 0.00717, Adjusted R-squared: 0.00517 F-statistic: 3,59 on 1 and 497 DF,p-value: 0,0588 |
set.seed(123) #Conditionnement du compteur aléatoire pour obtenir les mêmes valeurs que l'exemple
x<-rnorm(500) #Simulation d'un bruit blanc
y<-rnorm(500) #Simulation d'un bruit blanc
x2<-cumsum(x) #Génération d'une marche aléatoire à partir du bruit blanc : somme cumulée
y2<-cumsum(y) #idem
x3<-diff(x2) #Série des différences de la marche aléatoire
y3<-diff(y2) #idem
summary(lm(x3~y3)) #Régression linéaire
|
Lorsque l'on régresse les différences des marches aléatoires, on n'a plus le problème d'une relation apparente : les statistiques de Fisher et de Student sont moins fortement rejetées, et surtout le coefficient R2 vaut 0,007 17, ce qui conduit à la conclusion qu'il n'y a pas de relation entre ces variables.