Comment est-il possible que Poisson GLM accepte des nombres non entiers?


17

Je suis vraiment stupéfait par le fait que le GLM de Poisson accepte les nombres non entiers! Regardez:

Données (contenu de data.txt):

1   2001    0.25  1
1   2002    0.5   1
1   2003    1     1
2   2001    0.25  1
2   2002    0.5   1
2   2003    1     1

Script R:

t        <- read.table("data.txt")
names(t) <- c('site', 'year', 'count', 'weight')
tm       <- glm(count ~ 0 + as.factor(site) + as.factor(year), data = t, 
                family = "quasipoisson")  # also works with family="poisson"
years    <- 2001:2003
plot(years, exp(c(0, tail(coef(tm), length(years)-1))), type = "l")

L'indice d'année qui en résulte est comme "prévu", c'est- 1-2-4à- dire en années 2001-2003.

Mais comment est-il possible que Poisson GLM prenne des nombres non entiers? La distribution de Poisson a toujours été entière uniquement!


2
Pourriez-vous clarifier ce que vous voulez savoir exactement? Comment l'algorithme d'ajustement traite-t-il les non-entiers? Ou pourquoi R ne vérifie pas si la réponse est un entier? Ou si quelque chose ne va pas dans le résultat lorsque des non-entiers sont fournis?
Momo

@Momo, oui, toutes ces questions sont intéressantes!
Curieux

2
Veuillez modifier votre question pour refléter cela. Vous êtes plus susceptible d'obtenir une bonne réponse de cette façon.
Momo

8
Ce n'est pas vraiment important, car c'est également vrai family="poisson", mais notez que votre exemple n'est pas un GLM de Poisson, car vous utilisez la quasipoissonfamille, qui ne dépend que de la relation entre la moyenne et la variance de toute façon, donc dans ce Dans ce cas, il ne devrait pas y avoir de surprise à prendre des nombres non entiers.
Aaron - Reinstate Monica

1
Voici quelques références sur les raisons pour lesquelles cela pourrait avoir un sens.
Dimitriy V. Masterov

Réponses:


17

Bien sûr, vous avez raison de dire que la distribution de Poisson n'est techniquement définie que pour les entiers. Cependant, la modélisation statistique est l’art des bonnes approximations (" tous les modèles sont faux "), et il y a des moments où il est logique de traiter les données non entières comme si elles étaient [approximativement] Poisson.

Par exemple, si vous envoyez deux observateurs pour enregistrer les mêmes données de comptage, il peut arriver que les deux observateurs ne soient pas toujours d'accord sur le comptage - l'un pourrait dire que quelque chose s'est produit 3 fois tandis que l'autre a dit qu'il s'est produit 4 fois. Il est donc agréable d'avoir la possibilité d'utiliser 3,5 lors de l'ajustement de vos coefficients de Poisson, au lieu d'avoir à choisir entre 3 et 4.

Calculalement, la factorielle dans le Poisson pourrait rendre difficile le travail avec des non-entiers, mais une généralisation continue de la factorielle existe. De plus, effectuer une estimation du maximum de vraisemblance pour le Poisson n'implique même pas la fonction factorielle, une fois que vous avez simplifié l'expression .


15

yx

EYi=expβTxi
VarYi=EYi
β
inxi(yiexpβTxi)=0
Bien sûr, la cohérence n'implique pas la validité des tests ou des intervalles de confiance; la probabilité n'a pas été spécifiée.

Cela fait suite à l'approche de la méthode des moments que nous avons apprise à l'école, et conduit à celle des équations d'estimation généralisées .

@ Aaron a souligné que vous utilisez en fait un ajustement quasi-Poisson dans votre code. Cela signifie que la variance est proportionnelle à la moyenne

VarYi=ϕEYi

ϕ

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.