Этот ответ состоит из двух частей: первая - прямой ответ на вопрос, а вторая - комментарий к модели, которую вы предлагаете.
Первая часть относится к использованию Numbers
в качестве смещения наряду с наличием его на правой части уравнения. Эффект от этого будет просто вычитать 1 из оцененного коэффициента Numbers
, тем самым обращая вспять эффект смещения, и иначе не изменит результаты. Следующий пример, с удалением нескольких строк несущественного вывода, демонстрирует это:
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
Обратите внимание, что все одинаково, за исключением коэффициента чисел и нулевого отклонения (и t-статистики, потому что она по-прежнему проверяется на 0 вместо -1).
Вторая часть относится к модели, которую вы строите. Поскольку инциденты записываются не как количество инцидентов в день, а в том, были ли какие- либо инциденты в день, вероятность соблюдения 1 в деньT является 1 - ( 1 - рT)NT, где NT количество пациентов в день T и пT вероятность инцидента на пациента в день T, Обычная функция связи, logit, будет параметризовать это какжурнал( 1 - ( 1 - рT)NT) / NTжурнал( 1 - рT), Это указывает на то, что связь между вероятностью наблюдения 1 в деньT и NTне может быть хорошо смоделирован линейной функцией на шкале логита. (Это может иметь место в любом случае, так как можно ожидать некоторый грубый «порог», ниже которого качество обслуживания пациентов в порядке, но выше которого качество ухода за пациентами быстро падает.) Изменение определения вероятностей с целью сдвигаNT в знаменателе вместо числителя по-прежнему оставляет вас с этой неловкой экспоненты внутри журнала.
Можно также подозревать, что вероятность для каждого пациента варьируется от пациента к пациенту, что приведет к более сложной иерархической модели, но я не буду вдаваться в подробности.
В любом случае, учитывая этот и ограниченный диапазон числа пациентов, которых вы наблюдаете, вместо того, чтобы использовать модель, которая является линейной по шкале логита, было бы лучше быть непараметрическим в отношении отношений и сгруппировать число пациентов в три или четыре группы, например 10-11, 12-13, 14-15 и 16-17, создают фиктивные переменные для этих групп, а затем запускают логистическую регрессию с фиктивными переменными справа. Это позволит лучше улавливать нелинейные отношения, такие как «система перегружена примерно у 16 пациентов, и инциденты начинают значительно увеличиваться». Если бы у вас был гораздо более широкий круг пациентов, я бы предложил обобщенную аддитивную модель, например, «gam» из пакета «mgcv».