Comment référencer les erreurs standard d'un coefficient de modèle de régression? [fermé]

8
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  10.2758     0.5185  19.817  < 2e-16 ***
rprice2      -1.8581     0.5139  -3.616 0.000696 ***

Je voudrais utiliser le Std. Erreur de rprice2 pour faire d'autres calculs. Je sais référencer l'un des objets du modèle, j'utilise le modèle de syntaxe $ object, mais quelle est la syntaxe pour référencer les erreurs std?

Aaron
la source
de quel type d'objet modèle s'agit-il? Si votre objet modèle (appelez-le mod) est un lm ou un glm, vous pouvez extraire les erreurs standard avec le résumé (mod) $ coef [, 2]
Macro
c'est un modèle lm, j'essaie de calculer la statistique t avec le code suivant, en utilisant votre commentaire: tstat <-abs (modèle coef [2,2]) ... qui semble fonctionner , mais je ne sais pas comment interpréter la sortie de tstat qui est: (Intercept) rprice2 19.99568 3.61563coef/summary(model)
Aaron
1
Notez que l'attribut coefficients (un tableau 2x4) de la summary()sortie peut être extrait à l'aide de la coef()commande. Si vous voulez simplement l'erreur standard estimée pour le coefficient de rprice2, utilisez par exemple coef(summary(mod))[2,2]. Si vous voulez la statistique t correspondante, utilisez coef(summary(mod))[2,3].
invité le

Réponses:

9

Généralement, vous voulez la vcovfonction qui fournit la matrice de covariance des paramètres complète. Pour obtenir les erreurs standard asymptotiques standard signalées par summaryvous, vous pouvez utiliser

se <- sqrt(diag(vcov(model)))

btw vous voudriez que les hors diagonales vcov(model)obtiennent des effets marginaux pour les termes d'interaction: voir Brambor et al. (2006) .

Notez également des packages tels que sandwich consacrés à la construction de différents types d'erreurs standard, par exemple ceux «robustes» à divers types de violations.

conjugateprior
la source
4

Pour extraire sans effectuer d'autres calculs, tout en utilisant la syntaxe objet $ model:

summary(model)$coefficients["rprice2","Std. Error"]
Darokun
la source
3

Pour obtenir une matrice avec les résultats de la régression linéaire:

> coef(summary(f))

Pour extraire une valeur spécifique de la matrice:

> coef(summary(f))["rprice2","Std. Error"]
[1] 0.5139 
Contango
la source
1

Si je comprends bien, vous voulez le faire dans R:

f <- lm(speed~dist, data=cars)
coef(f)
confint(f)
sd = sqrt(diag(vcov(f)))
cbind("2.5 %"=-sd*1.96+coef(f),"97.5 %"=sd*1.96+coef(f))

Donne:

> coef(f)
(Intercept)        dist 
  8.2839056   0.1655676 
> confint(f)
                2.5 %     97.5 %
(Intercept) 6.5258378 10.0419735
dist        0.1303926  0.2007426
> cbind("2.5 %"=-sd*1.96+coef(f),"97.5 %"=sd*1.96+coef(f))
                2.5 %    97.5 %
(Intercept) 6.5701120 9.9976992
dist        0.1312784 0.1998568
Max Gordon
la source
Oups, désolé, je n'ai pas repéré votre propre vcovapplication nichée au milieu du code avant d'écrire ma réponse.
conjugateprior
@ ConjugatePrior: C'est bon. Évidemment, ma réponse était un peu floue et vos commentaires sur le sujet ont ajouté plus de corps à la réponse :-)
Max Gordon