2014-12-27 2 views
2

Я создаю несколько регрессий пуассонов, каждая модель с разными результатами. В этом конкретном результате, который не отличается от других (все двоичные, 0 или 1), я получаю эту странную ошибку, которую я никогда раньше не видел.Странная ошибка в GLM

mix_1<- glm(count~ offset(log(time)) + age + gender, data=x[x$diagnosis=="match",], family=poisson) 

В модели glm нет ничего плохого, я работаю по назначению. Я получаю сообщение об ошибке при попытке сделать cbind и индексировать коэффициенты.

mix_2 <- cbind(exp(coef(mix_1)), exp(confint(mix_1))) 

Это ошибка, я получаю:

Waiting for profiling to be done... 
    Error in glm.fit(x = Xi, y = Y, weights = W, etastart = LP, offset = o, : 
     NA/NaN/Inf in 'x' 
    warning 
Warning messages: 
1: glm.fit: fitted rates numerically 0 occurred 

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

Вся помощь очень ценится!

ответ

1

Я только что испытал ту же проблему. Там обсуждается MASS и проблемы с glm.fit в блоге Эндрю Гельмана here, который может быть хотя бы слегка связан.

Проблема, кажется, связана с функцией confint(). Из инструкции confint:

Существует методы заглушки для классов «GLM» и «НЛС» , которые ссылаются на тех, в пакете MASS, которые основаны на профиле вероятностей.

...

confint(glm.D93) # needs MASS to be present on the system

confint.default(glm.D93) # based on asymptotic normality

Я считаю, что если я использую функцию confint.default() проблема уходит. Мне жаль, что у меня не было больше ответа.