2016-09-10 12 views
0

Je voulais récemment lancer une erreur standard du test de Fama-Macbeth, quand nous calculons l'erreur standard, nous avons besoin d'une déviation standard. Ce test sd est \ frac {1} {n^2} \ sum (x_i- \ bar x)^2. Dans mon esprit, le dénominateur est n pour un calcul normal de sd. Donc ma question est, si un programme, tel que R et Eviews, quand ils exécutent une régression linéaire, ils donnent aussi l'erreur standard des coefficients par sd qui est calculée par le dénominateur \ frac {1} {n^2}?Confusion sur la façon dont R calcule l'erreur-type

Merci pour tout le monde.

+0

Je vais avoir du mal à comprendre ce que vous demandez, mais je pense que vous voulez savoir si 'sd' utilise' n' ou 'n-1' dans le dénominateur. Vous pouvez lire comment fonctionnent les fonctions avec '?', Donc '? Sd' devrait être très utile. – lmo

Répondre

1

La formule pour calculer l'erreur standard de coefficients dans une régression linéaire peut être trouvée dans des manuels d'introduction ou par ex. How are the standard errors of coefficients calculated in a regression?.

La variance des coefficients est donnée par

enter image description here

où carré sigma-chapeau est la somme des carrés des résidus divisé par les degrés de liberté, donnée par nk-1, où n est le nombre d'observations, k est le nombre de covariables, et en supposant que le modèle a une interception.

Nous pouvons vérifier cela empiriquement. En utilisant le haut-mtcars jeu de données

fit <- lm(mpg ~ wt, mtcars) 

nous pouvons voir que

vcv <- (sum(fit$residuals^2)/(nrow(mtcars) - 2)) * 
    solve(t(model.matrix(fit)) %*% model.matrix(fit)) 
all.equal(summary(fit)$coefficients[, "Std. Error"], 
      sqrt(diag(vcv))) 
# [1] TRUE