Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Les posteurs les plus actifs de la semaine
Aucun utilisateur


Multicolinéarité et variables omises

2 participants

Aller en bas

variables - Multicolinéarité et variables omises Empty Multicolinéarité et variables omises

Message par niaboc Jeu 9 Juin 2016 - 13:54

Bonjour,

la multicolinéarité peut nuire à la précision d'estimation... Mais si on supprime des variables, on peut se retrouver avec des biais de variables omises??

Comment peut-on faire dans ce cas?


Niaboc
niaboc
niaboc

Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008

Revenir en haut Aller en bas

variables - Multicolinéarité et variables omises Empty Re: Multicolinéarité et variables omises

Message par droopy Jeu 9 Juin 2016 - 14:00

Bonjour,

Qu'entends-tu par des biais de variable omise ? Et de quel type d'analyse, modèle parles-tu ?

cdlt
droopy
droopy

Nombre de messages : 1156
Date d'inscription : 04/09/2009

Revenir en haut Aller en bas

variables - Multicolinéarité et variables omises Empty Re: Multicolinéarité et variables omises

Message par niaboc Jeu 9 Juin 2016 - 14:12

Dans le cadre d'une régression linéaire multiple.

Par exemple, dans un cas simple avec seulement 2 variables X et Z dont on sait qu'elles ont toutes les deux un impact sur Y:

Y=a+bX+cZ+e

X et Z sont très corrélées, du coup on décide d'en retirer une.
On estime donc :
Y=a+bX+e

mais on rentre dans le cas d'une variable omise "classique"??
https://en.wikipedia.org/wiki/Omitted-variable_bias

Niaboc
niaboc
niaboc

Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008

Revenir en haut Aller en bas

variables - Multicolinéarité et variables omises Empty Re: Multicolinéarité et variables omises

Message par niaboc Jeu 9 Juin 2016 - 14:36

Mais en même temps j'ai du mal avec cette notion de biais de variable omise.
Je comprend que l'estimation ne correspond plus directement à l'effet "réel" mais la prédiction final est tout de même la bonne.

Et le nouveau coefficient prend bien en compte l'effet de la variable omise justement, dans une certaine proportion liée à la colinéarité des deux variables j'imagine.
Mais pourrait-on considérer que, si nous travaillons sur un échantillon vraiment représentatif de la population, le coefficient du modèle avec variable omise est en quelque sorte sans biais, car la prédiction finale n'est pas biaisée? Seule l'interprétation direct du coefficient de la variable non omise peut-être faussé. Mais tant qu'on rejoue le modèle sur un échantillon similaire, il n'y a pas de problème d'estimation biaisée ?

Niaboc
niaboc
niaboc

Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008

Revenir en haut Aller en bas

variables - Multicolinéarité et variables omises Empty Re: Multicolinéarité et variables omises

Message par droopy Jeu 9 Juin 2016 - 15:04

Si tu sais qu'elles ont toutes deux une influence sur y alors pas de raisons d'en omettre une. Au contraire tu peux avoir des résultats tout a fait foireux si tu ne les prends pas en compte. Par exemple :
Code:
tab <- structure(list(x1 = c(18.7634194170317, 22.9527746022189, 17.1405636502761,
18.9768573994196, 19.1594332256065, 20.0736127867925, 18.4413368012416,
20.1127081217941, 22.1331605743373, 20.8199205332939, 18.1995244801297,
20.0410701599891, 16.2385295491288, 20.369231618635, 22.3527453967012,
19.6464678580013, 17.5843922922864, 20.889562645787, 21.1709171225364,
19.1458469750259, 21.8011421536442, 21.9095196931772, 18.0405647467949,
24.6415679435839, 20.6981470326914, 19.6564393044969, 24.0427150878261,
17.5032115678386, 21.8523758815519, 24.4349817993398, 19.8339764924162,
19.1299947711843, 20.3511253141339, 20.4340124420911, 21.0862818651176,
21.963820683325, 24.5127549507995, 19.4902889811769, 17.2841969606857,
20.3106248957531, 18.9811788078269, 22.0230902290648, 16.3234530790854,
22.3734936951509, 23.2261887896002, 23.5821981688359, 20.4551399233871,
22.3105058211759, 20.7788786879438, 20.5230951405157, 21.7539277851763,
24.5497398140612, 21.1489272663633, 23.4163692731179, 19.2441101735654,
19.9324989418094, 21.7710249044242, 21.3575370482858, 20.0275063736598,
16.9595747847718, 18.0065768024926, 24.5663936292479, 18.6468367357049,
20.531752171362, 17.3905198338312, 16.4939485896439, 18.9270000254588,
20.6968216364903, 24.1244455508846, 24.3212683577433, 23.4283198107033,
19.5618871058168, 16.6952715783586, 18.7161996197796, 21.1745724825187,
22.5293588661564, 20.9504273448755, 20.5371604581694, 21.5753917786692,
18.5825879853343, 19.7939684888208, 24.4620521466933, 17.6456644104877,
19.2025107199617, 21.2953236351973, 19.6399567374739, 23.4851068632869,
20.3598696254985, 21.9766740237183, 23.9094060576501, 18.8395076011157,
20.4487296440816, 22.7542985253023, 18.0415319260324, 17.7808588100616,
21.4774578134798, 22.0213959951854, 24.1190626069416, 20.260977519247,
21.1590785399402), x2 = c(18.9748426666873, 24.6640141044279,
19.4874731235331, 20.5129308976212, 16.7852395865591, 20.306549446826,
18.4297443983359, 22.2175999697281, 24.4826476376228, 22.4405031517791,
18.5606267528366, 22.110665496498, 16.5021202677508, 19.8146306455934,
22.0112170098344, 18.8903297337534, 19.3274795953182, 19.035339566377,
22.0164931462067, 14.9149945693146, 23.9013596106343, 24.5297322843523,
19.9764419460578, 22.3176096941889, 23.4568252864271, 17.859456991448,
23.7630093425491, 17.3848993089358, 21.3041541917844, 26.1147746544201,
23.296555546429, 19.5116157308273, 21.6161679194901, 19.8940952820236,
19.9328275640787, 23.4098373163097, 27.2183157355778, 20.3602072144523,
17.4938769105285, 21.816662134618, 19.2034094095434, 20.3294700333158,
16.1635860564235, 21.2781551997742, 22.3651219853557, 23.2686512969715,
19.9700061044956, 22.9744144166141, 24.5024964565069, 22.1425439723286,
21.1838606739577, 25.188349040669, 24.1557055984294, 24.7455391003915,
18.6117417475904, 21.2233993753799, 20.2100604896567, 23.1182137503369,
20.7896974274203, 13.4962766516469, 16.5901566736665, 24.1131324565739,
18.9321739518428, 18.9573835359929, 21.6099606340645, 18.8181282201871,
22.6319977955854, 21.1155469617127, 24.3008979059005, 28.6254397090308,
27.5403659835179, 22.3729565312041, 15.6122014545977, 20.0232968251933,
23.2525736843111, 21.4848797278033, 17.5231518690744, 18.0978394368002,
26.6567476469292, 17.782073348998, 17.2926333921001, 22.4897958536184,
17.0851004378337, 22.0540664900007, 23.5826955853517, 21.8985150590767,
21.8989166648149, 22.5660618293125, 21.8087169517291, 23.1637823118099,
17.1693821907503, 19.6491811885404, 23.9972576615096, 18.4793266429208,
16.7004748611424, 19.8739437159888, 21.3441235941274, 24.6411692373211,
19.7233168446439, 24.1140574728707), y = c(11.3969347103948,
6.66196222533559, 4.03509059638497, 7.8804210757943, 15.33435693528,
7.93556964906026, 7.2794044124763, 3.13000127141704, 5.31065304951936,
6.5851676538999, 7.31539389166069, 4.74453554803485, 7.74607784543257,
13.1550046400358, 11.1183364532742, 12.0987050854269, 2.63256172532755,
14.5900081484421, 8.06150819447334, 23.2830004176572, 8.60899876666119,
4.43947105194767, 1.8552790887303, 20.7763949579021, 5.84916517392871,
17.3958567315951, 16.928672884444, 7.97679147313989, 12.3592713193082,
7.85192969945913, 2.10215868209868, 7.23900117682056, 5.40445474964316,
10.2193257317648, 13.8980816695971, 6.97823605374517, 4.6429930523825,
9.83487254200313, 8.25250483964546, 6.90422642725305, 10.603944829024,
15.6621175823333, 9.8814271457181, 12.0607371379701, 13.6580949912073,
15.5577690902971, 10.4889231557438, 11.7870419118559, -1.92241290781535,
6.96413804256533, 12.8900447932924, 7.60401079005106, -0.29338089230645,
6.88530148804234, 12.0960566061727, 8.63903383554489, 15.8193178927065,
4.96504234505986, 11.3265117914151, 15.8868299609236, 8.45493534802967,
11.7719717989341, 10.2603223592928, 12.1610403319887, -2.76729154663389,
2.36246652096135, 2.88201216595356, 10.4009022189385, 13.2866668463413,
0.758507969483964, -0.137998567624863, 0.130092644283333, 11.5504222317186,
6.64308425819337, 6.08243458718416, 15.2684487356318, 20.4544560103446,
21.0994924130562, -2.49932252242187, 11.5936191898851, 14.8042663810524,
17.0926683611621, 9.69041910093246, 0.463585838111646, 3.909630935773,
4.05161587203146, 15.2345373808864, 5.2786623943328, 7.91888247464952,
14.3999676458834, 9.6526580681125, 14.2155438723346, 7.49747469222195,
7.54259066313542, 10.6707508836583, 16.347530210414, 12.4672962137184,
9.43861816637971, 13.1149912591407, 0.824573241481502)), .Names = c("x1",
"x2", "y"), row.names = c(NA, -100L), class = "data.frame")
J'ai généré ces données de cette manière :
Code:
x1 <- rnorm(100, 20, 2)
x2 <- x1+rnorm(100, 0, 2)
y <- 3*x1-2.5*x2 + rnorm(100, 0, 2
Si tu ne prends en compte que x1 :
Code:
summary(lm(y ~x1, data =tab))

Call:
lm(formula = y ~ x1, data = tab)

Residuals:
    Min      1Q  Median      3Q    Max
-12.088  -3.546  0.529  3.366  14.795

Coefficients:
            Estimate Std. Error t value Pr(>|t|) 
(Intercept)  -0.1871    5.1320  -0.036  0.9710 
x1            0.4531    0.2478  1.829  0.0705 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 5.344 on 98 degrees of freedom
Multiple R-squared:  0.033,    Adjusted R-squared:  0.02313
F-statistic: 3.345 on 1 and 98 DF,  p-value: 0.07047
Si tu ne prends en compte que x2 :
Code:
summary(lm(y ~x2, data =tab))

Call:
lm(formula = y ~ x2, data = tab)

Residuals:
    Min      1Q  Median      3Q      Max
-11.4555  -3.4111  -0.2278  3.1509  12.6915

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)  27.1133    3.5504  7.637 1.50e-11 ***
x2          -0.8526    0.1669  -5.108 1.61e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 4.83 on 98 degrees of freedom
Multiple R-squared:  0.2102,    Adjusted R-squared:  0.2022
F-statistic: 26.09 on 1 and 98 DF,  p-value: 1.607e-06
Si tu prends en compte x1 et x2 :
Code:
summary(lm(y ~ x1 + x2, data =tab))

Call:
lm(formula = y ~ x1 + x2, data = tab)

Residuals:
    Min      1Q  Median      3Q    Max
-4.3956 -1.1507  0.0261  1.0904  4.1747

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept) -0.40613    1.69527  -0.24    0.811   
x1          3.20904    0.12720  25.23  <2e-16 ***
x2          -2.68395    0.09483  -28.30  <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.765 on 97 degrees of freedom
Multiple R-squared:  0.8956,    Adjusted R-squared:  0.8934
F-statistic: 415.9 on 2 and 97 DF,  p-value: < 2.2e-16
Ici les effets de x1 et x2 sur y sont antagonistes donc quand tu ne prends pas en compte la deuxième variable tu arrives à des estimations de paramètres et des R² assez bidons.

La difficulté c'est qu'ici on a construit la relation au départ donc on sait ce vers quoi on devrait tendre alors que dans la réalité ce n'est pas le cas.

cdlt
droopy
droopy

Nombre de messages : 1156
Date d'inscription : 04/09/2009

Revenir en haut Aller en bas

variables - Multicolinéarité et variables omises Empty Re: Multicolinéarité et variables omises

Message par niaboc Jeu 9 Juin 2016 - 16:50

droopy a écrit:
Ici les effets de x1 et x2 sur y sont antagonistes donc quand tu ne prends pas en compte la deuxième variable tu arrives à des estimations de paramètres et des R² assez bidons.
La difficulté c'est qu'ici on a construit la relation au départ donc on sait ce vers quoi on devrait tendre alors que dans la réalité ce n'est pas le cas.
cdlt

Les estimations de paramètres ne me semblent pas bidons tant que tu ne connaîs par le modèle réel... ils sont différents du vrai modèle, ok, mais ils sont bons sur leur propre jeu de données à 1 seule variable explicative.

Et c'est ta deuxième remarque qui me fait pas mal réfléchir et rejoint ce que j'ai essayé d'expliquer avant : tant que l'on ne peut pas connaître le modèle réel, les estimations que l'on possède sont sans biais (au sein de leur propre données de construction). Et comme dans la vraie vie on ne connaît pas le modèle réel, nous avons toujours des estimations biaisées... sauf si l'on rejoue les mêmes estimations sur des jeux de données identiques, alors les prédictions ne seront pas déconnantes et seront sans biais?
Par contre si l'on avait un jeu de données différents (où X1 et X2 ne seraient pas corrélées avec la même intensité par exemple) on pourrait effectivement parler d'estimations biaisées sur chacun des modèles simples pour ce nouveau jeu de données car les coefficients donneront des prédictions biaisées.

C'est comme ça que je ressens la chose, mais je ne suis pas vraiment pas sûr de la logique de mes réflexions

Niaboc
niaboc
niaboc

Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008

Revenir en haut Aller en bas

variables - Multicolinéarité et variables omises Empty Re: Multicolinéarité et variables omises

Message par droopy Ven 10 Juin 2016 - 7:42

Les estimations sont bidons dans le sens, ou quand tu les prends seuls tu as non seulement des estimations qui sont loin des valeurs réelles, que même les IC des paramètres ne contiennent pas les valeurs réelles et que le R² tend à te dire que ta variable n'a pas d'effet ce qui n'est pas le cas.

Voilà un pdf qui devrait t'aider à y voir plus clair :
http://wanko.free.fr/COURS/COURS%20de%20STAT/STAT/Regr_mult1.pdf

cdlt
droopy
droopy

Nombre de messages : 1156
Date d'inscription : 04/09/2009

Revenir en haut Aller en bas

variables - Multicolinéarité et variables omises Empty Re: Multicolinéarité et variables omises

Message par niaboc Ven 10 Juin 2016 - 11:04

Je t'embête encore un peu pour être certain de bien comprendre :-) :

En même temps, le vrai coefficient n'aurait aucun sens dans les modèles à une seule variable... alors que le coefficient "biaisé" en a? L'interprétation directe du coefficient serait erronée, mais ça reste la meilleure estimation possible sous l'hypothèse que la relation entre x1 et x2 soit toujours la même.


Pourrait-on parler d'effet direct et/ou indirect de la variable : dans le modèle avec x1 et x2, il y a deux variables exogènes, nous avons donc les effets directs. Dans le modèle avec x2 seulement, nous avons l'effet de x2, qui est un mix entre l'effet direct de x2 et l'effet indirect de x1 de part la corrélation qu'elle a sur x2.


Et un dernier point, si on se met dans le cas où j'ai qu'une seule variable explicative à disposition : x2 (pour reprendre ton exemple) quand on trace les résidus du modèle à une variable ( y=f(x2) ) , on ne voit pas, du moins graphiquement, de relations entre les résidus et x2 (et le coefficient de corrélation vaut 0).
Est-ce par construction? Forcément on observe une relation entre les résidus ( y-f(x2) ) et x1 mais pourquoi ne réapparait-elle pas sur x2?
N'est-il pas possible de détecter une exogénéité graphiquement, ou via un indicateur dans ce cas (et de tester cette exogénéité)?

Niaboc
niaboc
niaboc

Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008

Revenir en haut Aller en bas

variables - Multicolinéarité et variables omises Empty Re: Multicolinéarité et variables omises

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum