загрузочные стандартные ошибки линейной регрессии в R - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть объект lm, и я хотел бы загрузить только его стандартные ошибки. На практике я хочу использовать только часть образца (с заменой) при каждой репликации и получить распределение стандартных ошибок. Затем, если возможно, я хотел бы отобразить сводку исходной линейной регрессии, но с загруженными стандартными ошибками и соответствующими p-значениями (другими словами, те же бета-коэффициенты, но разные стандартные ошибки).

Отредактировано: В заключение я хочу «изменить» мой объект lm, имея те же бета-коэффициенты исходного объекта lm, которые я запускал на исходных данных, но имея загруженные стандартные ошибки (и связанные t-stats и p- значения), полученные путем вычисления этой регрессии lm несколько раз на разных подвыборках (с заменой).

Так что мой объект lm выглядит как

    Coefficients:
                                 Estimate Std. Error t value Pr(>|t|)    
(Intercept)                      3.812793   0.095282  40.016  < 2e-16 ***
x                                -0.904729   0.284243  -3.183  0.00147 ** 
z                                0.599258   0.009593  62.466  < 2e-16 ***
x*z                              0.091511   0.029704   3.081  0.00208 ** 

но связанные стандартные ошибки неверны, и я хотел бы оценить их, повторяя эту линейную регрессию 1000 раз (репликации) на другой подвыборке (с заменой).

Есть ли способ сделать это? кто-нибудь может мне помочь?

Спасибо за ваше время. Marco

1 Ответ

0 голосов
/ 07 ноября 2018

То, что вы просите, можно сделать, следуя строке кода ниже.
Поскольку вы не опубликовали ни примерный набор данных, ни подходящую модель, я буду использовать встроенный набор данных mtcars - простую формулу с двумя непрерывными предикторами.

library(boot)

boot_function <- function(data, indices, formula){
  d <- data[indices, ]
  obj <- lm(formula, d)
  coefs <- summary(obj)$coefficients
  coefs[, "Std. Error"]
}

set.seed(8527)

fmla <- as.formula("mpg ~ hp * cyl")
seboot <- boot(mtcars, boot_function, R = 1000, formula = fmla)

colMeans(seboot$t)
##[1] 6.511530646 0.068694001 1.000101450 0.008804784

Я считаю, что для большинства нужд можно использовать приведенный выше код с числовым ответом и предикторами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...