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 может быть использован для ваших целей.

Другие вопросы по тегам