Category Archives: ACT6420

Régression, variables explicatives et géométrie

La régression (comme tout calcul d’espérance conditionnelle) est un problème de projections

Un théorème intéressant est le théorème dit de Frisch-Waugh, permettant de comprendre la différence fondamentale entre un modèle de régression multiple, et les modèles de régression simple. On reviendra sur ce point en cours en évoquant rapidement le paradoxe de Simpson. La formulation est la suivante: on veut régresser https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW15.gif sur https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW16.gif et https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW17.gif, deux ensembles (a priori disjoints) de variables explicatives,

https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW02.gif

Les équations normales (associées au problème de minimisation de la somme des carrés des erreurs) sont

https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW11.gif

de telle sorte qu’à l’optimum on peut relier les estimateurs des deux jeux de paramètres par

https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW12.gif

La première partie correspond à la régression de https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW15.gif sur https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW13.gif, mais il reste un second terme dès lors que https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW16.gif et https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW17.gif ne sont pas orthogonales. Notons https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW04.gifla matrice de projection (orthogonale) sur https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW16.gif

https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW06.gif

Alors on peut écrire

https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW03.gif

En posant

https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW07.gif et https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW08.gif,

on retrouve un modèle linéaire classique (à condition de travailler sur la projection des variables sur le sous-espace engendré par https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW16.gif , i.e. en transformant les variables),

https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW10.gif

Pour aller plus loin sur la géométrie des moindres carrées, et sur le théorème de Frisch-Waugh, je peux renvoyer à des notes de cours, et à quelques transparents

Le graphique ci-dessous correspond au cas où les variables explicatives sont orthogonales, et dans ce cas, la régression multiple est équivalente à deux régressions simples

https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW1.gif

Le graphique ci-dessous au cas non orthogonal,

https://f-origin.hypotheses.org/wp-content/blogs.dir/253/files/2016/05/FW2.gif

Le code qui permet de vérifier ces histoires de projections successives est relativement simple. Tout d’abord on importe les données, et on regarde le modèle global,

> chicago=read.table(
+ "http://freakonometrics.free.fr/chicago.txt",
+ header=TRUE,sep=";")
> Y=chicago$Fire
> X1=chicago$X_1
> X2=chicago$X_2
> X3=chicago$X_3
> base=data.frame(Y,X1,X2,X3)
> tail(base)
Y    X1 X2     X3
42  4.8 0.152 19 13.323
43 10.4 0.408 25 12.960
44 15.6 0.578 28 11.260
45  7.0 0.114  3 10.080
46  7.1 0.492 23 11.428
47  4.9 0.466 27 13.731
> regression=lm(Y~X1+X2+X3)
> summary(regression)

Call:
lm(formula = Y ~ X1 + X2 + X3)

Residuals:
Min     1Q Median     3Q    Max
-9.737 -4.565 -1.479  3.751 16.079

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 22.07525    6.19447   3.564 0.000910 ***
X1          -0.62764    5.28130  -0.119 0.905953
X2           0.22378    0.06161   3.632 0.000744 ***
X3          -1.55059    0.38195  -4.060 0.000204 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 6.527 on 43 degrees of freedom
Multiple R-squared: 0.4417,	Adjusted R-squared: 0.4027
F-statistic: 11.34 on 3 and 43 DF,  p-value: 1.314e-05

> n=length(Y)
> X=matrix(c(rep(1,n),X1,X2,X3),n,4)
> X[1:5,]
[,1]  [,2] [,3]   [,4]
[1,]    1 0.604   29 11.744
[2,]    1 0.765   44  9.323
[3,]    1 0.735   36  9.948
[4,]    1 0.669   37 10.656
[5,]    1 0.814   53  9.730

Ensuite, on va projeter seulement sur les deux premières variables (et la constante)

> FWX1=X[,1:3]
> regression12=lm(Y~X1+X2)
> solve(t(FWX1)%*%FWX1)%*%t(FWX1)%*%Y
[,1]
[1,]  0.08069764
[2,] 11.56913900
[3,]  0.15108490
> summary(regression12)$coefficients
Estimate Std. Error    t value   Pr(>|t|)
(Intercept)  0.08069764 3.49182154 0.02311047 0.98166664
X1          11.56913900 5.05014782 2.29085156 0.02681947
X2           0.15108490 0.06854408 2.20420043 0.03278652
>
>
> FWX2=X[,4]
> H1=FWX1%*%solve(t(FWX1)%*%FWX1)%*%t(FWX1)
> M1=diag(rep(1,n))-H1
> FWX2s=M1%*%FWX2
> FWYs =M1%*%Y
> (beta2=solve(t(FWX2s)%*%FWX2s)%*%t(FWX2s)%*%FWYs)
[,1]
[1,] -1.550594
> summary(regression)$coefficients[4]
[1] -1.550594
>
> (beta1=solve(t(FWX1)%*%FWX1)%*%t(FWX1)%*%Y-
+        solve(t(FWX1)%*%FWX1)%*%t(FWX1)%*%FWX2%*%beta2)
[,1]
[1,] 22.0752495
[2,] -0.6276442
[3,]  0.2237765
> summary(regression)$coefficients[1:3]
[1] 22.0752495 -0.6276442  0.2237765

On retrouve bien l’estimateur du dernier paramètre à l’aide du théorème de Frisch-Waugh, puis en utilisant les équations normales, on en déduit les trois premiers.

Normalité des estimateurs dans une régression

Cette semaine en cours, on a évoqué la normalité des estimateurs dans une régression linéaire. En supposant la normalité des résidus, on a vu en cours que http://freakonometrics.blog.free.fr/public/perso5/ols-002.gif était un estimateur Gaussien. En particulier, chacun des estimateurs est alors Gaussien, au sens où http://freakonometrics.blog.free.fr/public/perso5/ols--0003.gif, ce qui peut se visualiser sur le graphique suivant (la constante est en abscisse, et la pente en ord-dol="cve"ait sjoer p-de ;airy-fMed>, te 95%nal,

Regress-2_m300.jp6" />

e. fétcas, es vad>, t> ntewp-ordsiqu>, mapetrnteê entun esonnl="sius, a pd" plué es vad>, un des résiré plmat un estimatcas, us ;aià lRun estimaters ens uus ;aiStnclnt. De lêterpet su lRun estimate;ait la pen;ait ds tpen;aine régress/a> http://freakonometrics.blog.free.fr/public/perso5/ol-oooFW04.gif

Regress-la normasi3_m300.jp6" />

féturs qde en sim letux ruividemers Gauss>féturs qd l̵m on pela coruéaias ner plit sjoer p-de ;airy-fMed>, (s nn lRun ner plst d, mans uag-ellip;airy-fMed>,On ficiens ua">fntu&heltaphiqu pc lRun nt lr plpdatpenne ris net dal &re tels nlipsretroendcve"aiterpn pab utalité 95%ion (comri cualits dans see pe/a>t<).Regress-01_m300.jp6" />

M, mapet smee pede comprendcp>Cetf">is ne lRag-ellip;airy-fMed>,entun estimatnte epaptidemedu thaphi.

Pose visualist us ;aif">entun estimat/> "urauientuun dn: csemaiduvistip;a le ulculires {liplnt ilnéaaleQsiqu lRs, s lRt laaleLe lalen s, rs est alo;aitéaPouu em-anda;a lce poires f">entut tecn ulorlesve"aa prsnl=" , i.;aifétip;u ag-bootstbal,

Sius, a regar>, ce qliplaacissté-imnapéo-olé-imdus, la nemièit p &reTout dRut tecn ulores, pet s tessiqut tecn ulores, a Adjuens uds tpen;aine régressers.

Lesu a{ mauLes tecn ulors lo;ait la coecnnturmet t la pen ensemcie Cofojeativemers Gaussmaidte)es hent<(COEF) [es
srqent<(s length<=500ta2v M1=es hent<(COEF) 2[es srqent<(s length<=500ta2v M1=pet sue la{ mau

Sius, a regar semconntet us disjoedte)

s, on retrouveence>fntu&heltaphiqpet suaiau-imnea lce poires (ns uce>nntus cérmulati liavigLeaa ptipte le, deu7;estimats). masius, ="secauit peMen>

M1=
lmdame">dent< s dsrcs/es inkes ient<";"e M1=";"s plohent<(e,pt typl",lwd=2ta2s polythoent<(e,s posjoient<(COEF,cex=.5nte)u lRu&helou s ucoïnc7;aint p(me tote fét)dcve"ace telsbcone du thaphiidem. C, ce qlnacinte la alisssiqu lRon-hypo-ip;a la normalité dcérésinte epn p-ê entte On ist..,

lpublise trs/rshapepolylse trs/rshapes-eigalite td"> s, se troc/st se tshaperg/f se tshtrap ts-eigalpolythos2polysrc se ttfojonise/a>
Wgth R="tu puixptimelyleasylso ienw/>,paleLs (nmast> s,aleBt-cadjutem / s,usts, es  s e, http-alree.les< webs="s. Hére=" f yoa vxptry- due s s, es ies iclp>Une en le s 2.0-20/1tag"> 2.0ent

Af">haPouppl chn s, pus, ">SthR-skaaleItu puwp-sisemlso ecaushaperg/fties tfojonisrprmua lla cg c="c3 aso 2" mua ">SthR-skaalso prmua . Shaperg/fiicsn bipfgustus,s pariuc.egeoLe gryn>d1.exlrehaPlent<).

http://freakonometrics.blog.free.fr/public/pe4/prmua-tekto002.gif

go$sfsewe esn vxptry- dueushaperees Une tfojonisrprmua
&gprmua l= 2"adShapePoly("prmua .shptxt",
n
Chos7;ar Ma c2"aldte)c

GgLep>Unapeu.deérc uschn s,=" tu puwp-sisemlso ecauUne foulowinpt">t<){ll+ K=NAll+ a">(kewp 1:17){ll- s
c<=posjo.in.polytho(/a>pt">t<] /a>, pt">t<[2[ell- PP[PP$PID==k,s c<("X")],PP[PP$PID==k,s c<("Y")],ll- es el tecked=FALSTta2+" f(c4 &0){K=k};"+ };"+ s on uroles<(K)};"4 >
c3 aUnep>Uo pro- due s (assmua atfojonisrprmua ontnteasilyle>

TholipLe cowaPl(nma alp>Une paper wri"oenimgth s SthR-skaa">M">Mee les<="c3 asnapewg/l bip0