Am un set de date cu date de numărare. Fac o regresie Poisson cu glm. Acum vreau să calculez manual devianța nulă. Pentru asta am nevoie de loglike-ul modelului complet. Pentru loglike primesc NaN. Cred că este pentru că unele valori ale variabilei răspuns sunt 0 și log(0) produce NaN. Cu toate acestea, glm calculează devianța nulă. Deci trebuie să existe un truc pentru a face față celor 0 intrări din y. Ar trebui să le înlocuiesc cu valori foarte mici, cum ar fi 0,00001 sau care ar putea fi o soluție posibilă pentru a obține un rezultat dacă acesta nu este NaN
data(discoveries)
disc <- data.frame(count=as.numeric(discoveries),
year=seq(0,(length(discoveries)-1),1))
yearSqr <- disc$year^2
hush <- glm(count ~ year + yearSqr , family = "poisson", disc)
# modelFrame
test <- hush$model
# reponse variable
test$count
# formula for loglike full modell lf = sum(y * log(y) - y - log(factorial(y)))
# result is NaN
lf <- sum(test$count * log(test$count) - test$count - log(factorial(test$count)))