Question:
Ampleur des coefficients standardisés (bêta) dans la régression linéaire multiple
Magnus Metz
2014-10-16 01:00:30 UTC
view on stackexchange narkive permalink

Étant au courant de cet article, je suis curieux de savoir quelle est la taille des coefficients standardisés. J'ai eu une discussion avec mon professeur à ce sujet et elle soutenait que les coefficients standardisés (bêta) dans les régressions linéaires multiples ne peuvent pas devenir supérieurs à | 1 |. J'ai également entendu dire que les prédicteurs avec des coefficients standardisés supérieurs à 1 ne devraient pas être inclus / apparaître dans la régression linéaire multiple. Quand j'ai récemment estimé une régression linéaire multiple dans R en utilisant lm (), j'ai estimé les coefficients standardisés avec la fonction lm.beta () à partir du package 'lm.beta'. Dans les résultats, j'ai pu observer un coefficient standardisé supérieur à un. Pour le moment, je ne suis pas sûr de la vérité.

Les coefficients normalisés peuvent-ils devenir supérieurs à | 1 |? Si oui, qu'est-ce que cela signifie et devraient-ils être exclus du modèle? Si oui, pourquoi ?

Je serais très reconnaissant si quelqu'un pouvait clarifier ce problème pour moi.

Je ne comprends pas pourquoi cela a été signalé pour fermeture.C'est une très bonne question.
Deux réponses:
Jeremy Miles
2014-10-16 01:31:23 UTC
view on stackexchange narkive permalink

Il n'est jamais facile de dire à votre professeur qu'il a tort.

Les coefficients standardisés peuvent être supérieurs à 1,00, comme l'explique cet article et comme il est facile de le démontrer. Leur exclusion dépend de la raison pour laquelle elles se sont produites - mais probablement pas.

Ils sont un signe que vous avez une colinéarité assez sérieuse. Un cas où ils se produisent souvent est lorsque vous avez des effets non linéaires, comme lorsque $ x $ et $ x ^ 2 $ sont inclus en tant que prédicteurs dans un modèle.

Voici une démonstration rapide:

  données (voitures) voitures $ speed2 <- voitures $ speed ^ 2cars $ speed3 <- voitures $ speed ^ 3fit1 <- lm (dist ~ speed, data = cars) fit2 <- lm (dist ~ speed + cars $ speed2, data = cars) fit3 <- lm (dist ~ speed + cars $ speed2 + speed3, data = cars) summary (fit1) summary (fit2) ) summary (fit3) lm.beta (fit1) lm.beta (fit2) lm.beta (fit3)  

Dernier bit de sortie:

  > lm.beta (fit3) speed speed2 speed3 1.395526 -2.212406 1.681041 

Ou si vous préférez, vous pouvez d'abord standardiser les variables:

  zcars <- as. data.frame (rapply (cars, scale, how = "list")) fit3 <- lm (dist ~ speed + speed2 + speed2 + speed3, data = zcars) summary (fit3) Appel: lm (formule = dist ~ speed + speed2 + speed3, data = zcars) Résiduels: Min 1Q Médiane 3Q Max -1,03496 -0,37258 -0,08659 0,27456 1,73426 Coefficients: Estimation Std. Valeur d'erreur t Pr (> | t |) (Interception) 7.440e-16 8.344e-02 0.000 1.000 vitesse 1.396e + 00 1.396e + 00 1.000 0.323 vitesse2 -2.212e + 00 3.163e + 00 -0.699 0.488 vitesse3 1.681e +00 1,853e + 00 0,907 0,369 Erreur standard résiduelle: 0,59 sur 46 degrés de liberté R-carré multiple: 0,6732, R carré ajusté: 0,6519 Statistique F: 31,58 sur 3 et 46 DF, valeur p: 3,074e-11  

Vous n'avez pas besoin de le faire avec lm (), vous pouvez le faire avec l'algèbre matricielle si vous préférez:

  Rxx <- cor (voitures) [c (1, 3, 4), c (1, 3, 4)] Rxy <- cor (voitures) [2, c (1, 3, 4) ] B <- (ginv (Rxx))% *% RxyB [, 1] [1,] 1.395526 [2,] -2.212406 [3,] 1.681041  
Merci Jeremy pour ta réponse!Voir une nouvelle question ici: http://stats.stackexchange.com/questions/120892/standardized-coefficients-for-linear-models-with-numeric-and-factor-variables-in Cordialement, Magnus
Greg Snow
2014-10-16 01:29:09 UTC
view on stackexchange narkive permalink

C'est probablement une question de définitions. Un coefficient normalisé fait-il référence à la normalisation uniquement des variables prédictives? ou normaliser également la variable de réponse? J'ai vu les deux utilisés pour calculer des "coefficients standardisés". Même dans ce cas, il existe plusieurs façons de standardiser.

Si vous divisez à la fois le prédicteur et la variable de réponse par leurs écarts-types (méthode courante de normalisation) et ajustez la régression (avec un seul prédicteur / a coefficient de pente unique) alors il est mathématiquement impossible de voir un coefficient en dehors de la plage -1 à 1 (puisque la pente sera la même que la corrélation). Mais si vous ne standardisez pas la variable de réponse, il serait facile de voir un coefficient estimé en dehors de -1 à 1 en fonction de l'échelle de la variable de réponse.

Avec de multiples prédicteurs, une standardisation inhabituellement élevée Le coefficient pourrait être un signe de multi-colinéarité et c'est probablement pourquoi certaines sources suggèrent de supprimer ces variables.

Je pense que les différences entre ce que certaines sources disent être possible et ce que vous observez des autres sont dues à la différence dans les définitions.

Donc ai-je raison, si je conclus que les coefficients standardisés obtiennent des valeurs entre -1 et 1 uniquement dans les régressions linéaires simples, alors que dans les régressions linéaires multiples, les coefficients standardisés peuvent devenir supérieurs à 1, mais seulement, si la variable de réponse n'est pas standardisée mais les prédicteurssont?Je suppose également que lm.beta () ne standardise pas la variable de réponse car j'ai estimé des coefficients standardisés> 1. Quelle fonction dans R faut-il alors utiliser pour recevoir des coefficients standardisés entre -1 et 1 comme attendu de mon professeur?
@MagnusMetz,, vous pouvez standardiser les variables vous-même.La fonction `scale` dans R le fera pour vous.Avec une régression linéaire multiple et une colinéarité élevée entre les prédicteurs (même standardisés), vous pouvez toujours voir des coefficients standardisés en dehors de -1 à 1 (voir la réponse de Jeremy).Vous pouvez orthogonaliser les prédicteurs (utilisez `poly` au lieu de créer manuellement des termes polynomiaux, utilisez des résidus de` x2 ~ x1` à la place de `x2`, ...) pour surmonter les problèmes de colinéarité.
Greg, l'exactitude de cette réponse semble dépendre d'une hypothèse implicite selon laquelle tous les régresseurs (à l'exception d'une constante) sont orthogonaux.C'est la seule façon de justifier que «la pente sera la même que la corrélation».
@whuber, ma déclaration sur la pente égalant la corrélation est seulement quand il y a un seul prédicteur, et par là je voulais dire un seul terme linéaire, ou transformation, polynôme ou spline transformées d'une seule variable x serait plusieurs prédicteurs dans la mesure où les calculsaller.Une fois qu'il y a plusieurs prédicteurs, la pente normalisée ne sera pas nécessairement égale à la corrélation.Merci d'avoir vu la confusion possible et d'avoir aidé à clarifier.
@Greg Puisque vous n'avez indiqué ce point subtil qu'indirectement (en faisant référence au «» prédicteur »), je voudrais seulement suggérer qu'il serait utile de l'inclure explicitement dans votre réponse elle-même.
@whuber, est-ce que la modification que j'ai faite le clarifie suffisamment?ou suggéreriez-vous quelque chose de plus?
Ça marche pour moi.+1


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...