Régression fallacieuse 3045443 31377524 2008-07-07T14:56:41Z Mnémosyne 112761 cat {{Voir homonymes|Régression}} {{Ébauche|statistiques}} La régression fallacieuse désigne une situation dans laquelle l'utilisation de [[séries temporelles]] non [[Stationnarité d'une série temporelle|stationnaires]] dans une [[régression linéaire]] fait apparaître des résultats erronés, trop optimistes, qui font croire à une relation enter les variables alors que ce n'est pas le cas. ==Historique== [[Clive W. J. Granger|Granger]] et Newbold <ref>Granger, C.W.J., Newbold, P. (1974): "Spurious Regressions in Econometrics", Journal of Econometrics, 2, 111-120</ref> 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 <math> R^2</math> 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''. ==Explication== On souhaite faire une régression linéaire entre deux séries temporelles: <math> Y_t= aX_t + \epsilon_t \qquad</math> avec <math> \epsilon_t </math> un [[bruit blanc]]. Si <math> Y_t</math>et <math> X_t</math> sont deux variables [[Stationnarité d'une série temporelle#Ordre d'intégration d'une série temporelle |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 (statistique)|estimateur]] des [[Régression linéaire multiple|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 Ω<sub>''â''</sub> = σ<sub>ε</sub>²·(''X''&thinsp;{{'}}''X'')<sup>-1</sup>. Cependant, la variance d'un 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ême 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. ==Solution== 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) ==Exemple== Une simulation avec le [[R (logiciel)|logiciel libre de statistiques R]] permet d'illustrer le phénomène: {{boîte déroulante début|titre=Régression de deux bruits blancs générés aléatoirement}} {| border="0" align="center" valign="top" cellpadding="2px" style="width:100%; border: 1px solid #999; background-color:#FFFFFF;" |- bgcolor="#E0E0FF" ! scope=col width="50%" | Résultat affiché ! scope=col width="50%" | Code R |- | Call: lm(formula = x ~ y) Residuals {| border='0' |Min ||1Q ||Median ||3Q ||Max |- | -2.776e+00 || -6.140e-01 || -1.208e-03 || 6.279e-01 || 3.205e+00 |} Coefficients {| border='0' | ||Estimate ||Std. Error ||t value || <nowiki>Pr(>|t|)</nowiki> |------ | (Intercept) || 0.03447376 || 0.04348857 || 0.79270862 || 0.42832508 |------ | y || -0.04997771 || 0.04306249 || -1.16058589 || 0.24636639 |} 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 | <pre> 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 </pre> |} {{boîte déroulante fin}} Dans cet exemple où l'on régresse deux bruits blancs, la relation est rejetée: R{{exp|2}}=0.0027, et la probabilité que y=0 est 24%. {{boîte déroulante début|titre= Régression de deux marches aléatoires générées aléatoirement }} {| border="0" align="center" valign="top" cellpadding="2px" style="width:100%; border: 1px solid #999; background-color:#FFFFFF;" |- bgcolor="#E0E0FF" ! scope=col width="50%" | Résultat affiché ! scope=col width="50%" | Code R |- | Call: lm(formula = x2 ~ y2) Residuals {| border='0' |Min ||1Q ||Median ||3Q ||Max |- | -1.357e+01 || -6.564e+00 || -1.047e+00 || 6.846e+00 || 1.631e+01 |} Coefficients {| border='0' | ||Estimate ||Std. Error ||t value || <nowiki>Pr(>|t|)</nowiki> |------ | (Intercept) || -1.591223e+01 || 7.543316e-01 || -2.109447e+01 || 4.727110e-71 |------ | y2 || -5.255336e-01 || 3.562320e-02 || -1.475257e+01 || 3.990599e-41 |} 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 | <pre> 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 </pre> |} {{boîte déroulante fin}} On remarque ici par contre que la régression de [[marche aléatoire|marches aléatoires]], qui sont des processus intégrés d'ordre 1, laisse penser à une relation significative: le coefficient R{{exp|2}}=0.304, et la probabilité que y vaille zéro est inférieure à 0.0000001%, 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. {{boîte déroulante début|titre= Régression des différences de deux marches aléatoires générées aléatoirement }} {| border="0" align="center" valign="top" cellpadding="2px" style="width:100%; border: 1px solid #999; background-color:#FFFFFF;" |- bgcolor="#E0E0FF" ! scope=col width="50%" | Résultat affiché ! scope=col width="50%" | Code R |- | Call: lm(formula = x3 ~ y3) Residuals {| border='0' |Min ||1Q ||Median ||3Q ||Max |- | -3.503e+00 || -6.791e-01 || -9.397e-03 || 6.483e-01 || 3.133e+00 |} Coefficients {| border='0' | ||Estimate ||Std. Error ||t value || <nowiki>Pr(>|t|)</nowiki> |------ | (Intercept) || 0.009479887 || 0.046269837 || 0.204882665 || 0.837747679 |------ | y3 || 0.091363533 || 0.048239919 || 1.893940415 || 0.058813318 |} 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 | <pre> 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(x2~y2)) #Régression linéaire </pre> |} {{boîte déroulante fin}} On remarque finalement que 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 R {{exp|2}} vaut 0.00717, ce qui conduit à la conclusion qu'il n'y a pas de relation entre ces variables. ==Références== <references /> {{Périodique | auteur = Philips P.C.B | titre = Understanding Spurious Regression in econometrics | journal = Journal of econometrics | vol = 33 | date = 1986 | pages = 311-340 }} Hamilton (1994), Time Series Analysis, Princeton University Press ==Voir aussi== [[séries temporelles]] [[Catégorie:Estimation (statistique)]] {{portail|statistiques}}