Disons quil existe une relation « vraie » entre $ y $ et $ x $ tel que $ y = ax + b + \ epsilon $, où $ a $ et $ b $ sont des constantes et $ \ epsilon $ est un bruit normal iid. Lorsque je génère aléatoirement des données à partir de ce code R: x <- 1:100; y <- ax + b + rnorm(length(x))
et ensuite adapter un modèle comme y ~ x
, jobtiens évidemment des estimations raisonnablement bonnes pour $ a $ et $ b $.
Si je change de rôle des variables comme dans (x ~ y)
, cependant, puis réécrivez le résultat pour $ y $ pour être une fonction de $ x $, la pente résultante est toujours plus raide (soit plus négative, soit plus positive) que celle estimée par la régression y ~ x
. Jessaie de comprendre exactement pourquoi et japprécierais si quelquun pouvait me donner une intuition sur ce qui se passe là-bas .
Commentaires
- Que ‘ nest pas vrai en général. Peut-être que vous ‘ voyez simplement cela dans vos données. Collez ce code: y = rnorm (10); x = rnorm (10); lm (y ~ x); lm (x ~ y); dans R plusieurs fois et vous ‘ trouvera que cela va dans les deux sens.
- Cela ‘ est un peu différent de ce Je décrivais. Dans votre exemple, y nétait ‘ aucune fonction de x, donc il ny a ‘ pas vraiment de » pente » (le ‘ a ‘ dans mon exemple).
- lm (y ~ x) correspond au modèle $ y = \ beta_ {0} + \ beta_ {1} x + \ varepsilon $ par les moindres carrés (équivalent à lestimation ML lorsque les erreurs sont iid normales). Il y a une pente.
- Votre question est posée et répond (en quelque sorte) à stats.stackexchange.com/questions/13126 et stats.stackexchange.com/questions/18434 . Cependant, je pense que personne na encore fourni une explication simple et claire des relations entre (a) régression de $ Y $ vs $ X $, (b) régression de $ X $ vs $ Y $, (c) analyse de la corrélation de $ X $ et $ Y $, (d) régression des erreurs dans les variables de $ X $ et $ Y $, et (e) ajustement dune distribution normale bivariée à $ (X, Y) $. Ce serait un bon endroit pour une telle exposition :-).
- Bien sûr Macro est correcte: parce que x et y jouent des rôles équivalents dans la question, quelle pente est la plus extrême est une question de chance. Cependant, la géométrie suggère (à tort) que lorsque nous inversons x et y dans la régression, nous devrions obtenir le récipocal de la pente dorigine. Cela narrive jamais sauf lorsque x et y sont linéairement dépendants. Cette question peut être interprétée comme demandant pourquoi.
Réponse
Étant donné $ n $ points de données $ (x_i, y_i), i = 1,2, \ ldots n $, dans le plan, traçons une droite $ y = ax + b $. Si nous prédisons $ ax_i + b $ comme la valeur $ \ hat {y} _i $ de $ y_i $, alors l erreur est $ (y_i- \ hat {y} _i) = (y_i- ax_i-b) $, l erreur quadratique est $ (y_i-ax_i-b) ^ 2 $, et l erreur quadratique totale $ \ sum_ {i = 1} ^ n (y_i-ax_i-b) ^ 2 $. Nous demandons
Quel choix de $ a $ et $ b $ minimise $ S = \ displaystyle \ sum_ {i = 1} ^ n (y_i-ax_i -b) ^ 2 $?
Puisque $ (y_i-ax_i-b) $ est la distance verticale de $ (x_i, y_i) $ du ligne droite, nous demandons la ligne telle que la somme des carrés des distances verticales des points par rapport à la ligne soit la plus petite possible. Maintenant $ S $ est une fonction quadratique de $ a $ et $ b $ et atteint sa valeur minimale lorsque $ a $ et $ b $ sont tels que $$ \ begin {align *} \ frac {\ partial S} {\ partiel a} & = 2 \ sum_ {i = 1} ^ n (y_i-ax_i-b) (- x_i) & = 0 \\ \ frac {\ partial S} {\ partial b} & = 2 \ sum_ {i = 1} ^ n (y_i-ax_i-b) (- 1) & = 0 \ end {align *} $$ À partir de la deuxième équation, nous obtenons $$ b = \ frac {1} {n} \ sum_ {i = 1} ^ n ( y_i – ax_i) = \ mu_y – a \ mu_x $$ où $ \ displaystyle \ mu_y = \ frac {1} {n} \ sum_ {i = 1} ^ n y_i, ~ \ mu_x = \ frac {1} {n } \ sum_ {i = 1} ^ n x_i $ sont les valeurs moyennes arithmétiques des $ y_i $ « s et des $ x_i $ » respectivement. En remplaçant dans la première équation, nous obtenons $$ a = \ frac {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_iy_i \ right) – \ mu_x \ mu_y} {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_i ^ 2 \ right) – \ mu_x ^ 2}. $$ Ainsi, la ligne qui minimise $ S $ peut être exprimée par $$ y = ax + b = \ mu_y + \ left (\ frac {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_iy_i \ right) – \ mu_x \ mu_y} {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_i ^ 2 \ right) – \ mu_x ^ 2} \ right) (x – \ mu_x), $$ et la valeur minimale de $ S $ est $$ S _ {\ min} = \ frac {\ left [\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n y_i ^ 2 \ right) – \ mu_y ^ 2 \ right] \ left [\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_i ^ 2 \ right) – \ mu_x ^ 2 \ right ] – \ left [\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_iy_i \ right) – \ mu_x \ mu_y \ right] ^ 2} {\ left (\ frac {1} { n} \ sum_ {i = 1} ^ n x_i ^ 2 \ right) – \ mu_x ^ 2}.$$
Si nous échangeons les rôles de $ x $ et $ y $, tracez une ligne $ x = \ hat {a} y + \ hat {b} $, et demandez les valeurs de $ \ hat {a} $ et $ \ hat {b} $ qui minimisent $$ T = \ sum_ {i = 1} ^ n (x_i – \ hat {a} y_i – \ hat {b}) ^ 2, $$ cest-à-dire que nous voulons que la ligne soit telle que la somme des carrés des distances horizontales des points de la ligne soit aussi petite que possible, alors nous obtenons
$$ x = \ hat {a} y + \ hat {b} = \ mu_x + \ left (\ frac {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_iy_i \ right) – \ mu_x \ mu_y} {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n y_i ^ 2 \ right) – \ mu_y ^ 2} \ right) (y – \ mu_y) $$ et la valeur minimale de $ T $ est $$ T _ {\ min} = \ frac {\ left [\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n y_i ^ 2 \ right) – \ mu_y ^ 2 \ right] \ left [\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_i ^ 2 \ right) – \ mu_x ^ 2 \ right] – \ left [\ left (\ frac { 1} {n} \ sum_ {i = 1} ^ n x_iy_i \ right) – \ mu_x \ mu_y \ right] ^ 2} {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n y_i ^ 2 \ right) – \ mu_y ^ 2}. $$
Notez que les deux lignes passent par le point $ (\ mu_x, \ mu_y) $ mais les pentes sont $$ a = \ frac { \ gauche (\ frac {1} {n} \ sum_ {i = 1} ^ n x_iy_ i \ right) – \ mu_x \ mu_y} {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_i ^ 2 \ right) – \ mu_x ^ 2}, ~~ \ hat {a } ^ {- 1} = \ frac {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n y_i ^ 2 \ right) – \ mu_y ^ 2} {\ left (\ frac {1 } {n} \ sum_ {i = 1} ^ n x_iy_i \ right) – \ mu_x \ mu_y} $$ sont différents en général. En effet, comme le souligne @whuber dans un commentaire, les pentes sont les mêmes lorsque tous les points $ (x_i, y_i) $ se trouvent sur la même droite. Pour voir cela, notez que $$ \ hat {a} ^ {- 1} – a = \ frac {S _ {\ min}} {\ left (\ frac {1} {n} \ sum_ {i = 1} ^ n x_iy_i \ right) – \ mu_x \ mu_y} = 0 \ Rightarrow S _ {\ min} = 0 \ Rightarrow y_i = ax_i + b, i = 1,2, \ ldots, n. $$
Commentaires
- Merci! abs (corrélation) < 1 explique pourquoi la pente était systématiquement plus raide dans le cas inversé.
- (+1) mais jai ajouté une réponse avec juste une illustration de ce que vous venez de dire, car jai un esprit géométrique 🙂
- Réponse de classe (+1)
Réponse
Juste pour illustrer la réponse de Dilip: sur les images suivantes,
- les points noirs sont des points de données;
- à gauche, la ligne noire est la droite de régression obtenue par
y ~ x
, qui minimise les carrés de la longueur des segments rouges; - à droite, la ligne noire est la droite de régression obtenue par
x ~ y
, qui minimise les carrés de la longueur des segments rouges.
Modifier (régression des moindres rectangles)
Sil ny a pas de manière naturelle de choisir une « réponse » et une « covariable », mais plutôt que les deux variables sont interdépendantes, vous souhaiterez peut-être conserver un rôle symétrique pour $ y $ et $ x $ ; dans ce cas, vous pouvez utiliser la « régression des moindres rectangles ».
- écrire $ Y = aX + b + \ epsilon $, comme dhabitude;
- dénoter $ \ hat y_i = a x_i + b $ et $ \ hat x_i = {1 \ over a} (y_i – b) $ les estimations de $ Y_i $ conditionnel à $ X = x_i $ et de $ X_i $ conditionnel à $ Y = y_i $;
- minimiser $ \ sum_i | x_i – \ hat x_i | \ cdot | y_i – \ hat y_i | $, ce qui conduit à $$ \ hat y = \ mathrm {signe} \ left (\ mathrm {cov} (x, y) \ right) {\ hat \ sigma_y \ over \ hat \ sigma_x} (x- \ overline x) + \ overline y. $$
Voici une illustration avec les mêmes points de données, pour chaque point, un « rectangle » est calculé comme le produit de la longueur de deux segments rouges, et la somme des rectangles est minimisé. Je ne connais pas grand-chose aux propriétés de cette régression et je ne trouve pas grand-chose avec google.
Commentaires
- Quelques notes: ( 1 ) Sauf erreur de ma part, il semble que le » régression des moindres rectangles » équivaut à la solution obtenue en prenant la première composante principale de la matrice $ \ mathbf X = (\ mathbf y, \ mathbf x) $ après centrage et remise à léchelle ont une variance dunité, puis rétrosubstituant. (suite)
- (cont.) ( 2 ) Vu de cette façon, il est facile de voir que ces » moindres rectangles la régression » équivaut à une forme de moindres carrés orthogonaux (ou totaux) et, par conséquent, ( 3 ) Un cas particulier de régression de Deming sur les vecteurs centrés et redimensionnés prenant $ \ delta = 1 $. Les moindres carrés orthogonaux peuvent être considérés comme » régression des moindres cercles « .
- @cardinal Commentaires très intéressants! (+1) Je crois que le grand axe (minimisant les distances perpendiculaires entre reg.ligne et tous les points, à la PCA) ou régression sur grand axe réduit , ou régression de type II comme illustré dans le paquetage lmodel2 R de P Legendre, est également pertinent ici car ces techniques sont utilisées quand il est difficile de ‘ dire quel rôle (réponse ou prédicteur) joue chaque variable ou quand nous voulons tenir compte des erreurs de mesure.
- @chl: (+1) Oui, je crois que vous avez raison et la page Wikipedia sur les moindres carrés totaux énumère plusieurs autres noms pour la même procédure, que je ne connais pas tous. Il semble remonter au moins à R. Frisch, Analyse statistique de confluence au moyen de systèmes de régression complets , Universitetets Ø konomiske Instituut, 1934 où il sappelait régression diagonale .
- @cardinal Jaurais dû être plus prudent en lisant lentrée Wikipedia … Pour référence future, voici une photo tirée de Conception et analyse biostatistiques à laide de R , par M. Logan (Wiley, 2010; Fig. 8.4, p. 174), qui résume les différentes approches, un peu comme les belles illustrations dElvis ‘.
Réponse
Juste une brève note expliquant pourquoi vous voyez la pente plus petite pour une régression. Les deux pentes dépendent de trois nombres: les écarts types de $ x $ et $ y $ ($ s_ {x} $ et $ s_ {y} $), et la corrélation entre $ x $ et $ y $ ($ r $). La régression avec $ y $ comme réponse a la pente $ r \ frac {s_ {y}} {s_ {x}} $ et la régression avec $ x $ comme réponse a la pente $ r \ frac {s_ {x}} {s_ {y}} $, donc le rapport de la première pente à linverse de la seconde est égal à $ r ^ 2 \ leq 1 $.
Donc, plus la proportion de variance expliquée est grande, plus le pentes obtenues à partir de chaque cas. Notez que la proportion de variance expliquée est symétrique et égale au carré de la corrélation en régression linéaire simple.
Réponse
La droite de régression est pas (toujours) la même que la vraie relation
Vous pouvez avoir une « vraie » relation causale comme
$$ y = a + bx + \ epsilon $$
mais les lignes de régression ajustées y ~ x
ou x ~ y
ne signifient pas la même chose comme cette relation causale (même si en pratique lexpression de lune des droites de régression peut coïncider avec lexpression de la relation causale « vraie »)
Relation plus précise entre les pentes
Pour deux régressions linéaires simples commutées:
$$ Y = a_1 + b_1 X \\ X = a_2 + b_2 Y $$
vous pouvez relier les pentes comme suit:
$$ b_1 = \ rho ^ 2 \ frac {1} {b_2} \ leq \ frac {1} {b_2} $$
Les pentes sont donc pas les uns des autres inverses.
Intuition
La raison en est que
- Les lignes de régression et les corrélations font ne correspondent pas nécessairement à une relation causale.
- Les lignes de régression se rapportent plus directement à une probabilité conditionnelle ou à une meilleure prédiction.
Vous pouvez imaginer que la probabilité conditionnelle est liée à la force de la relation. Les lignes de régression reflètent cela et les pentes des lignes peuvent être à la fois peu profondes lorsque la force de la relation est faible ou toutes deux raides lorsque la force de la relation est forte. Les pentes ne sont pas simplement inverses.
Exemple
Si deux variables $ X $ et $ Y $ se relient les uns aux autres par une relation linéaire (causale) $$ Y = \ text {un peu de $ X + $ beaucoup derreur} $$ Alors vous pouvez imaginer quil ne serait pas bon dinverser entièrement cette relation au cas où vous souhaiteriez exprimer $ X $ basé sur une valeur donnée de $ Y $ .
Au lieu de
$$ X = \ text {beaucoup de $ Y + $ un peu derreur} $$
il serait préférable dutiliser également
$$ X = \ text {un peu de $ Y + $ beaucoup derreur} $$
Voir les exemples de distributions suivants avec leurs droites de régression respectives.Les distributions sont normales multivariées avec $ \ Sigma_ {11} \ Sigma_ {22} = 1 $ et $ \ Sigma_ {12 } = \ Sigma_ {21} = \ rho $
Les valeurs attendues conditionnelles (ce que vous obtiendriez dans une régression linéaire) sont
$$ \ begin {array} {} E (Y | X) & = & \ rho X \\ E (X | Y) & = & \ rho Y \ end {array} $$
et dans ce cas avec $ X, Y $ une distribution normale multivariée, alors les distributions marginales sont
$$ \ begin {array} {} Y & \ sim & N (\ rho X, 1- \ rho ^ 2) \\ X & \ sim & N (\ rho Y, 1- \ rho ^ 2) \ end {array} $$
Donc vous pouvez voir la variable Y comme étant un par t $ \ rho X $ et un bruit partiel avec une variance $ 1- \ rho ^ 2 $ . La même chose est vraie dans lautre sens.
Plus le coefficient de corrélation $ \ rho $ est grand, plus les deux lignes seront proches. Mais plus la corrélation est faible, moins la relation est forte, moins les lignes seront raides (ceci est vrai pour les deux lignes Y ~ X
et X ~ Y
)
Commentaires
- Cest une superbe explication. Simple et intuitif
Réponse
Une façon simple de voir cela est de noter que, si cest vrai model $ y = \ alpha + \ beta x + \ epsilon $ , vous exécutez deux régressions:
- $ y = a_ {y \ sim x} + b_ {y \ sim x} x $
- $ x = a_ {x \ sim y} + b_ {x \ sim y} y $
Ensuite, nous avons, en utilisant $ b_ {y \ sim x } = \ frac {cov (x, y)} {var (x)} = \ frac {cov (x, y)} {var (y)} \ frac {var (y)} {var (x)} $ :
$$ b_ {y \ sim x} = b_ {x \ sim y} \ frac {var (y)} {var ( x)} $$
Donc, si vous obtenez une pente plus raide ou non dépend simplement du ratio $ \ frac {var (y)} { var (x)} $ . Ce rapport est égal à, basé sur le modèle vrai supposé:
$$ \ frac {var (y)} {var (x)} = \ frac { \ beta ^ 2 var (x) + var (\ epsilon)} {var (x)} $$
Lien avec dautres réponses
Vous pouvez connecter ce résultat avec les réponses dautres personnes, qui ont dit que lorsque $ R ^ 2 = 1 $ , ce devrait être la réciproque. En effet, $ R ^ 2 = 1 \ Rightarrow var (\ epsilon) = 0 $ , et aussi, $ b_ {y \ sim x} = \ beta $ (pas derreur destimation), donc:
$$ R ^ 2 = 1 \ Rightarrow b_ {y \ sim x} = b_ {x \ sim y} \ frac {\ beta ^ 2 var (x) + 0} {var (x)} = b_ {x \ sim y} \ beta ^ 2 $$
Donc $ b_ {x \ sim y} = 1 / \ beta $
Réponse
Cela devient intéressant quand il y a aussi du bruit sur vos entrées (ce que nous pourrions dire est toujours le cas, aucune commande ou observation nest jamais parfaite).
I ont construit des simulations pour observer le phénomène, basées sur une simple relation linéaire $ x = y $, avec un bruit gaussien sur x et y. Jai généré les observations comme suit (code python):
x = np.linspace(0, 1, n) y = x x_o = x + np.random.normal(0, 0.2, n) y_o = y + np.random.normal(0, 0.2, n)
Voir les différents résultats (odr ici est une régression de distance orthogonale , ie identique à la régression des moindres rectangles):
Tout le code sy trouve:
https://gist.github.com/jclevesque/5273ad9077d9ea93994f6d96c20b0ddd
Réponse
La réponse courte
Le but dune régression linéaire simple est de proposer les meilleures prédictions du y
, selon les valeurs de la variable x
. Il sagit dun objectif différent de celui dessayer de trouver la meilleure prédiction de la variable x
, étant donné les valeurs de la variable y
.
La régression linéaire simple de y ~ x
vous donne le « meilleur » modèle possible pour prédire y
donné x
. Par conséquent, si vous ajustez un modèle pour x ~ y
et que vous linversez algébriquement, ce modèle pourrait à son meilleur faire aussi bien que le modèle pour y ~ x
. Mais inverser un ajustement de modèle pour x ~ y
sera généralement moins efficace pour prédire y
étant donné x
, par rapport au modèle « optimal » y ~ x
, car le modèle « inversé x ~ y
» a été créé pour remplir un objectif différent.
Illustration
Imaginez que vous disposez de lensemble de données suivant:
Lorsque vous exécutez une régression OLS de y ~ x
, vous obtenez le modèle suivant
y = 0.167 + 1.5*x
Ceci optimise les prédictions de y
en faisant les prédictions suivantes, qui ont des erreurs associées:
Les prédictions de la régression OLS sont optimales dans le sens où la somme des valeurs dans la colonne la plus à droite (cest-à-dire la somme des carrés) est aussi petite que possible.
Lorsque vous exécutez une régression OLS de x ~ y
, vous proposer un modèle différent:
x = -0.07 + 0.64*y
Ceci optimise les prédictions de x en faisant les prédictions suivantes, avec les erreurs associées.
Encore une fois, ceci est optimal dans le sens où la somme des valeurs de la colonne la plus à droite est aussi petite que possible (égale à 0.071
).
Maintenant, imaginez que vous ayez essayé dinverser simplement le premier modèle, y = 0.167 + 1.5*x
, en utilisant lalgèbre, en vous donnant le modèle x = -0.11 + 0.67*x
.
Cela vous donnerait les prédictions suivantes et les erreurs associées:
La somme des valeurs dans la colonne la plus à droite est 0.074
, ce qui est supérieur à la somme correspondante du modèle obtenu en régressant x sur y, cest-à-dire le modèle x ~ y
. En dautres termes, le « modèle inversé y ~ x
» fait un moins bon travail pour prédire x que le modèle OLS de x ~ y
.