Cette réponse se décompose en deux parties, la première une réponse directe à la question et la seconde un commentaire sur le modèle que vous proposez.
La première partie se rapporte à l'utilisation de Numbers
comme décalage en plus de l'avoir sur le côté droit de l'équation. L'effet de cette opération sera simplement de soustraire 1 du coefficient estimé de Numbers
, inversant ainsi l'effet du décalage, et ne changera pas autrement les résultats. L'exemple suivant, avec quelques lignes de sortie non pertinentes supprimées, le démontre:
library(MASS)
Numbers <- rpois(100,12)
p <- 1 / (1 + exp(0.25*Numbers))
y <- rbinom(100, Numbers, p)
Incident <- pmin(y, 1)
> summary(glm(Incident~Numbers, family="binomial"))
Deviance Residuals:
Min 1Q Median 3Q Max
-1.3121 -1.0246 -0.8731 1.2512 1.7465
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.99299 0.80624 1.232 0.2181
Numbers -0.11364 0.06585 -1.726 0.0844 . <= COEFFICIENT WITH NO OFFSET TERM
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 135.37 on 99 degrees of freedom
Residual deviance: 132.24 on 98 degrees of freedom
AIC: 136.24
> summary(glm(Incident~Numbers, offset=Numbers, family="binomial"))
Deviance Residuals:
Min 1Q Median 3Q Max
-1.3121 -1.0246 -0.8731 1.2512 1.7465
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.99299 0.80624 1.232 0.218
Numbers -1.11364 0.06585 -16.911 <2e-16 *** <= COEFFICIENT WITH OFFSET TERM
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 342.48 on 99 degrees of freedom
Residual deviance: 132.24 on 98 degrees of freedom
AIC: 136.24
Notez que tout est le même sauf le coefficient de nombres et la déviance nulle (et la statistique t, car il teste toujours contre 0 au lieu de -1.)
La deuxième partie concerne le modèle que vous construisez. Étant donné que les incidents ne sont pas enregistrés comme le nombre d'incidents dans une journée, mais eu des incidents dans une journée, la probabilité d'observer un 1 le jourt est 1 - ( 1 - pt)Nt, où Nt est le nombre de patients le jour t et pt est la probabilité par patient d'un incident le jour t. La fonction de lien habituelle, le logit, paramètrerait ceci commeJournal( 1 - ( 1 - pt)Nt) / NtJournal( 1 - pt). Cela indique que la relation entre la probabilité d’observer un 1 le jourt et Ntpeut ne pas être bien modélisé par une fonction linéaire sur l'échelle logit. (Cela peut être le cas de toute façon, car on pourrait s'attendre à un "seuil" approximatif en dessous duquel la qualité des soins aux patients est OK mais au-dessus duquel la qualité des soins aux patients chute rapidement.) Inverser la définition des probabilités afin de déplacer laNt dans le dénominateur au lieu du numérateur vous laisse toujours cette exponentielle maladroite à l'intérieur du journal.
On pourrait également soupçonner que la probabilité par patient varie d'un patient à l'autre, ce qui conduirait à un modèle hiérarchique plus complexe, mais je n'entrerai pas dans les détails ici.
Dans tous les cas, étant donné cela et la plage limitée du nombre de patients que vous observez, plutôt que d'utiliser un modèle linéaire sur l'échelle logit, il pourrait être préférable de ne pas être paramétrique sur la relation et de grouper le nombre de patients en trois ou quatre groupes, par exemple, 10-11, 12-13, 14-15 et 16-17, construisent des variables muettes pour ces groupes, puis exécutent la régression logistique avec les variables muettes sur le côté droit. Cela permettra de mieux saisir les relations non linéaires telles que "le système est surchargé autour de 16 patients et les incidents commencent à augmenter de manière significative." Si vous aviez un éventail de patients beaucoup plus large, je suggérerais un modèle additif généralisé, par exemple, «gam» du package «mgcv».