Prédire GLM poisson avec décalage

9

Je sais que c'est probablement une question fondamentale ... Mais je ne semble pas trouver la réponse.

Je monte un GLM avec une famille Poisson, puis j'ai essayé de jeter un coup d'œil aux prédictions, mais le décalage semble être pris en considération:

model_glm=glm(cases~rhs(data$year,2003)+lhs(data$year,2003),
offset=(log(population)), data=data, subset=28:36, family=poisson())

predict (model_glm, type="response")

Je reçois des cas pas des tarifs ...

J'ai essayé aussi

model_glm=glm(cases~rhs(data$year,2003)+lhs(data$year,2003)+
offset(log(population)), data=data, subset=28:36, family=poisson())

avec les mêmes résultats. Cependant, lorsque je prédit à partir de GAM, en utilisant mgcv, les prédictions tiennent compte du décalage (j'obtiens des taux).

Il me manque quelque chose?

Sandra
la source
1
S'il vous plaît, ne postez pas ici et sur les listes r-help ... et si vous deviez poster sur un forum stackoverflow / stackexchange, je pense que SO serait mieux (c'est une question technique R, pas une question de statistiques ...)
Ben Bolker

Réponses:

12

Il est correct que vous obteniez des cas plutôt que des taux puisque vous prédisez des cas. Si vous souhaitez obtenir les taux, vous devez utiliser la méthode de prédiction sur un nouvel ensemble de données ayant toutes les colonnes égales aux données mais la colonne de population identique à 1, afin d'avoir log (populaton) = 0. Dans ce cas, vous obtiendrez le nombre de cas d'une unité de population, c'est-à-dire le taux.

Giorgio Spedicato
la source
1
Merci de m'avoir répondu. Je ne trouve pas étrange qu'il prédit des cas, je pensais juste qu'il me manquait quelque chose pour établir la prédiction des taux (cas / population). Étant donné que dans GAM, je n'ai pas eu besoin d'ajouter quoi que ce soit pour qu'il puisse prédire (cas / population).
Sandra