Ta odpowiedź składa się z dwóch części: pierwsza jest bezpośrednią odpowiedzią na pytanie, a druga komentarzem do proponowanego modelu.
Pierwsza część dotyczy zastosowania Numbers
jako przesunięcia wraz z umieszczeniem go na prawicy równania. Efektem tego będzie po prostu odjęcie 1 od szacowanego współczynnika Numbers
, a tym samym odwrócenie efektu przesunięcia, i w inny sposób nie zmieni wyników. Poniższy przykład, po usunięciu kilku wierszy nieistotnych danych wyjściowych, pokazuje:
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
Zauważ, że wszystko jest takie samo, z wyjątkiem współczynnika Liczb i dewiacji zerowej (oraz statystyki t, ponieważ wciąż testuje się na 0 zamiast na -1.)
t1−(1−pt)NtNttpttlog(1−(1−pt)Nt)/Ntlog(1−pt)tNtNt
Można również podejrzewać, że prawdopodobieństwo na pacjenta różni się w zależności od pacjenta, co doprowadziłoby do bardziej złożonego, zhierarchizowanego modelu, ale nie będę się tutaj zajmował.
W każdym razie, biorąc pod uwagę ten i ograniczony zakres liczby obserwowanych pacjentów, zamiast stosować model liniowy w skali logitów, może być lepiej nieparametryczne co do związku i pogrupować liczbę pacjentów na trzy lub cztery grupy, na przykład 10-11, 12-13, 14-15 i 16-17, konstruuj zmienne fikcyjne dla tych grup, a następnie uruchom regresję logistyczną ze zmiennymi fikcyjnymi po prawej stronie. Pozwoli to lepiej uchwycić relacje nieliniowe, takie jak „system jest przeciążony około 16 pacjentów, a incydenty zaczynają znacznie narastać”. Jeśli miałbyś znacznie szerszy zakres pacjentów, sugerowałbym uogólniony model addytywny, np. „Gam” z pakietu „mgcv”.