Путаница в том, как R вычисляет стандартную ошибку

Недавно я хочу запустить стандартную ошибку теста Fama-Macbeth, когда мы вычисляем стандартную ошибку, нам нужно стандартное отклонение. SD этого теста: \ frac {1} {n ^ 2} \ sum (x_i- \ bar x) ^ 2. На мой взгляд, знаменатель равен n для нормального вычисления sd. Итак, мой вопрос: могут ли программы, такие как R и Eviews, при запуске линейной регрессии также давать стандартную ошибку коэффициентов по sd, которая вычисляется по знаменателю \ frac {1} {n ^ 2}?

Спасибо всем.


person zabbak    schedule 10.09.2016    source источник
comment
У меня проблемы с пониманием того, что вы спрашиваете, но я думаю, вы хотите знать, использует ли sd n или n-1 в знаменателе. Вы можете прочитать о том, как функции работают с ?, поэтому ?sd должен быть очень полезным.   -  person lmo    schedule 10.09.2016


Ответы (1)


Формулу вычисления стандартной ошибки коэффициентов линейной регрессии можно найти во вводных учебниках или, например, Как рассчитываются стандартные ошибки коэффициентов в регрессии?.

Дисперсия коэффициентов определяется выражением

введите описание изображения здесь

где сигма-шляпа-квадрат - это сумма квадратов остатков, разделенная на степени свободы, определяемая как nk-1, где n - количество наблюдений, k - это количество ковариат, при условии, что модель имеет точку пересечения.

Мы можем проверить это эмпирически. Использование встроенного набора данных mtcars

fit <- lm(mpg ~ wt, mtcars)

мы видим, что

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
person Weihuang Wong    schedule 10.09.2016