R: предикат () для модели с нулевым раздувом не возвращает se.fit
Я пытаюсь вычислить доверительные интервалы для моделей с нулевым раздувом, которые были настроены с помощью функции zeroinfl()
Если я вычислю их из линейной модели или GLM, используя функцию
predict(glm, newdata, type = "response", se.fit = TRUE)
он работает нормально и возвращает значения для $fit, $se.fit, $df и $residual.scale (я не знаю, что означают два последних вывода - пояснения по этому вопросу также приветствуются).
Однако, когда я заменяю glm моделью с нулевым раздувом, я получаю только значения для $fit.
Вот пример: (я не знаю, как использовать set.seed - так что не вините меня в этом)
set.seed(123)
a <- data.frame(participant = c(1:10),
activity = c(round(abs(rnorm(10)))),
METmin = c(round(abs(rnorm(10)))),
Var4 = c(round(abs(rnorm(10)))),
Var5 = c(round(abs(rnorm(10)))))
b <- data.frame(participant = c(1:10),
activity = c(round(abs(rnorm(10)))),
METmin = c(round(abs(rnorm(10)))),
Var4 = c(round(abs(rnorm(10)))),
Var5 = c(round(abs(rnorm(10)))))
identical(a,b) #FALSE
model <- zeroinfl(METmin~activity + Var4 + Var5, data = a)
predict(model, newdata = b, type = "response", se.fit = T)
Кто-нибудь знает, что здесь не так и как я могу вычислить эти стандартные ошибки?
Огромное спасибо.
1 ответ
К сожалению, predict()
метод для zeroinfl
(а также hurdle
) объекты не имеют se.fit
аргумент на данный момент. Если вы хотите изучить это, вам придется либо использовать методы Монте-Карло (основываясь на распределении оценок коэффициентов), либо посмотреть, zeroinfl
метод в упаковке lsmeans
может быть использован для ваших целей.