11 votos

El ajuste de una distribución de Poisson GLM en R - problemas con las tasas de frente cuenta

Actualmente estoy trabajando en un proyecto que involucra a GLMs (y eventualmente de GAMs) de algunos de los datos de recuento a lo largo del tiempo. Normalmente, me gustaría hacer esto en SAS, pero estoy tratando de mover a R, y que tiene...problemas.

Cuando yo entraba en un GLM para datos de conteo utilizando la siguiente:

cdi_model <- glm(counts ~ exposure + covariate + month, data=test, family = poisson)

Obtengo:

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.9825  -0.7903  -0.1187   0.5717   1.7649  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)  1.97563    0.20117   9.821  < 2e-16 ***
exposure     0.94528    0.30808   3.068  0.00215 ** 
covariate   -0.01317    0.28044  -0.047  0.96254    
months      -0.03203    0.01303  -2.458  0.01398 *  
---
Signif. codes:  0 ‘***' 0.001 ‘**' 0.01 ‘*' 0.05 ‘.' 0.1 ‘ ' 1 

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 40.219  on 29  degrees of freedom
Residual deviance: 29.297  on 26  degrees of freedom
AIC: 137.7

Number of Fisher Scoring iterations: 5

Ignorar por un momento de la actuación, o falta de ella del modelo de sí mismo - sobre todo jugando con la sintaxis y la como en este momento.

Sin embargo, cuando trato de ajuste de la tasa de datos (cuenta/persona-día) y el uso de un desplazamiento así: cdi_model <- glm(count_rate ~ exposure + covariate + months + offset(log(pd)), data=test, family = poisson)

Puedo obtener 50+ advertencias, todos los "1: En dpois(y, mu, log = TRUE) : no-entero x = 0.002082", etc. Que es más de uno de cada observación (sólo hay 30 en el conjunto de datos).

Además, el ajuste del modelo parece ir a la olla. La salida de la siguiente manera:

 Deviance Residuals: 
       Min          1Q      Median          3Q         Max  
-0.0273656  -0.0122169   0.0002396   0.0072269   0.0258643  

Coefficients:
             Estimate Std. Error z value Pr(>|z|)
(Intercept) -15.40110   15.12772  -1.018    0.309
exposure      0.84848   22.18012   0.038    0.969
covariate    -0.02751   21.31262  -0.001    0.999
months       -0.01889    0.95977  -0.020    0.984

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 0.0068690  on 29  degrees of freedom
Residual deviance: 0.0054338  on 26  degrees of freedom
AIC: Inf

Number of Fisher Scoring iterations: 9

A pesar de esto, si me parcela de la predicción de la tasa de contra los datos reales, el ajuste no se ve mucho peor, y el efecto real de la estimación no parece cambiar mucho.

Alguien tiene una idea de lo que está pasando - o si todo va bien y yo estoy perdiendo algo, debido a su inexperiencia?

15voto

James Sutherland Puntos 2033

Cuando se agrega el desplazamiento no es necesario (y no debe) calcular la tasa de e incluyen la exposición.

No sé si esta es la causa de los errores, pero si la exposición al caso es la persona días pd, entonces la variable dependiente debe ser counts y el offset debe ser log(pd), como este:

cdi_model <- glm(counts ~ covariate + months + offset(log(pd)), 
                 data=test, family = poisson)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X