Modelado de tasas de mortalidad mediante regresión de Poisson

8

Estoy examinando las tendencias (entre 1998 y 2011) en las tasas de mortalidad entre pacientes con enfermedad de Crohn. Cada paciente (caso) se incluyó entre 1998 y 2011. En el momento de la inclusión, cada paciente se comparó con un control saludable con la misma edad y sexo. Estoy analizando las tendencias en las tasas de mortalidad. Al hacer esto directamente, sin ningún ajuste, obtengo tasas de mortalidad fluctuantes a lo largo del tiempo, lo que probablemente se deba al hecho de que los individuos incluidos en un año dado no serán comparables a los incluidos en otro año. Por lo tanto, mi objetivo es ajustar las tasas de mortalidad. Espero que las tasas de mortalidad en ambos grupos (casos y controles) disminuyan con el tiempo y la brecha entre casos y controles se reduzca sucesivamente.

Mi idea es hacer el ajuste por medio de la regresión de Poisson. Mis datos están a nivel individual. Deseo obtener una estimación sobre la tasa de incidencia (por 1000 personas-año) para casos y controles cada año desde 1998 hasta 2011. El tiempo de supervivencia se incluiría como compensación en el modelo. Algo similar se ha hecho aquí .

He adjuntado las 200 primeras filas de mi conjunto de datos, que consta de 1500 personas. Aquí están los datos . Explicación variable:

  • muerto = si el paciente falleció o no durante el seguimiento
  • surv = tiempo de supervivencia en días
  • grupo de edad = grupo de edad categorizado (4 grupos)
  • género = masculino / femenino
  • diagnóstico = 0 para control saludable, 1 para enfermedad de Crohn
  • edad = edad en años
  • inclusión_año = año de inclusión en el estudio

¿Qué probé hasta ahora? Intenté ajustar los modelos de Poisson con la función glm () en R, utilizando observaciones individuales (log (surv) como desplazamiento), pero recibí un error o no pude averiguar cómo usar los ajustes. También agregué los datos en grupos y luego analicé los recuentos de muertes en glm (); cuando utilicé el ajuste para obtener tasas de incidencia, solo pude obtener tasas para una edad / grupo de edad y sexo específicos (según sea necesario especificar en la función de predicción ()).

Realmente agradecería algunos consejos estadísticos y ejemplos de codificación, que se pueden hacer en el conjunto de datos adjunto.

Frank49
fuente
1
Recibí un error o no pude averiguar cómo usar los ajustes ¿Qué errores? Solía Stata para adaptarse a sus datos y que están bien (que no sea sólo ha incluido un género en los primeros 50 casos y tuvo que ser sacado de género.)
Penguin_Knight
1
¿Pudiste obtener una tasa de incidencia (por 1000 años-persona) por cada año en casos y controles? ¿Agregó datos en grupos o ajustó el modelo con datos de nivel individual? Aquí está el código y los resultados (usando observaciones individuales):> glm (muerto ~ edad + género + factor (diagnóstico) + factor (inclusión_año), offset = log (surv), data = data1, family = "poisson") Error in contrasts<-( *tmp*, value = contr.funs [1 + isOF [nn]]): los contrastes se pueden aplicar solo a factores con 2 o más niveles
Frank49
Si necesita los valores pronosticados para el caso y el control por separado en cada año, es posible que deba incorporar un conjunto de diagnosis*inclusion_yeartérminos de interacción. Si solo usa el modelo actual, el número de casos solo diferirá por la beta de diagnosis, constante a lo largo de los años porque no está permitido interactuar. Luego, las predicciones serán solo una sustitución. No soy demasiado quisquilloso, así que solo subo la edad promedio y el porcentaje masculino promedio.
Penguin_Knight
Gracias Penguin_knight por tus respuestas, ¡realmente lo aprecio! ¿Aunque todavía no sé si debo agregar los datos en grupos o ajustar el modelo por datos de nivel individual?
Frank49
Estoy confundido por esta configuración. ¿Cómo lidias con la censura?
Glen_b -Reinstate Monica

Respuestas:

2

Sin ver el conjunto de datos (no disponible), parece mayormente correcto. Lo bueno de las regresiones de Poisson es que pueden proporcionar tasas cuando se usan como se sugiere. Una cosa que vale la pena tener en cuenta es que puede haber una dispersión excesiva en la que debe cambiar a una regresión binomial negativa (consulte el paquete MASS).

A la regresión de Poisson no le importa si los datos están agregados o no, pero en la práctica los datos no agregados son frágiles y pueden causar algunos errores inesperados. Tenga en cuenta que no puede tener surv == 0para ninguno de los casos. Cuando probé las estimaciones son las mismas:

set.seed(1)
n <- 1500
data <- 
  data.frame(
    dead = sample(0:1, n, replace = TRUE, prob = c(.9, .1)),
    surv = ceiling(exp(runif(100))*365),
    gender = sample(c("Male", "Female"), n, replace = TRUE),
    diagnosis = sample(0:1, n, replace = TRUE),
    age = sample(60:80, n, replace = TRUE),
    inclusion_year = sample(1998:2011, n, replace = TRUE)
  )

library(dplyr)
model <- 
  data %>% 
  group_by(gender, 
           diagnosis,
           age,
           inclusion_year) %>% 
  summarise(Deaths = sum(dead),
            Person_time = sum(surv)) %>%
  glm(Deaths ~ gender + diagnosis + I(age - 70) + I(inclusion_year - 1998) + offset(log(Person_time/10^3/365.25)), 
      data = . , family = poisson)

alt_model <- glm(dead ~ gender + diagnosis + I(age - 70) + I(inclusion_year - 1998) + offset(log(surv/10^3/365.25)), 
    data = data , family = poisson)
sum(coef(alt_model) - coef(model))
# > 1.779132e-14
sum(abs(confint(alt_model) - confint(model)))
# > 6.013114e-11

A medida que obtiene una tasa, es importante centrar las variables para que la intersección sea interpretable, por ejemplo:

> exp(coef(model)["(Intercept)"])
(Intercept) 
    51.3771

Se puede interpretar como la tasa base y luego las covariables son razones de tasa. Si queremos la tasa base después de 10 años:

> exp(coef(model)["(Intercept)"] + coef(model)["I(inclusion_year - 1998)"]*10)
(Intercept) 
     47.427 

Actualmente he modelado el año de inclusión como una variable de tendencia, pero probablemente debería verificar las no linealidades y, a veces, es útil hacer una categorización de los puntos de tiempo. Usé este enfoque en este artículo:

D. Gordon, P. Gillgren, S. Eloranta, H. Olsson, M. Gordon, J. Hansson y KE Smedby, "Tendencias temporales en la incidencia de melanoma cutáneo por ubicación anatómica detallada y patrones de exposición a la radiación ultravioleta: una población retrospectiva basado en el estudio, "Melanoma Res., vol. 25, no. 4, págs. 348–356, agosto de 2015.

Max Gordon
fuente