Modelando taxas de mortalidade usando regressão de Poisson

8

Estou examinando tendências (entre 1998 e 2011) nas taxas de mortalidade entre pacientes com doença de Crohn. Cada paciente (caso) foi incluído entre 1998 e 2011. Na inclusão, cada paciente foi comparado a um controle saudável com a mesma idade e sexo. Estou analisando tendências nas taxas de mortalidade. Ao fazer isso diretamente, sem nenhum ajuste, obtenho taxas de mortalidade flutuantes ao longo do tempo, o que provavelmente se deve ao fato de os indivíduos incluídos em um determinado ano não serem comparáveis ​​aos incluídos em outro ano. Assim, pretendo ajustar as taxas de mortalidade. Espero que as taxas de mortalidade em ambos os grupos (casos e controles) diminuam com o tempo e a diferença entre casos e controles diminua sucessivamente.

Minha idéia é fazer o ajuste por meio da regressão de Poisson. Meus dados estão no nível individual. Desejo obter uma estimativa da taxa de incidência (por 1.000 pessoas / ano) para casos e controles a cada ano de 1998 a 2011. O tempo de sobrevivência seria incluído como compensação no modelo. Algo semelhante foi feito aqui .

Anexei as 200 primeiras linhas do meu conjunto de dados, que consiste em 1500 indivíduos. Aqui estão os dados . Explicação variável:

  • morto = se o paciente morreu ou não durante o acompanhamento
  • surv = tempo de sobrevivência em dias
  • grupo de grupos = faixa etária categorizada (4 grupos)
  • sexo = masculino / feminino
  • diagnóstico = 0 para controle saudável, 1 para doença de Crohn
  • idade = idade em anos
  • inclusão_ano = ano de inclusão no estudo

O que eu tentei até agora? Tentei ajustar os modelos de Poisson com a função glm () em R, usando observações individuais (log (surv) como deslocamento), mas recebi um erro ou não consegui descobrir como usar os ajustes. Também agreguei os dados em grupos e analisei as contagens de mortes em glm (); quando usei o ajuste para obter taxas de incidência, só consegui obter taxas para uma idade / grupo de grupos e sexo específicos (conforme necessário na especificação () da função ().

Eu realmente aprecio alguns conselhos estatísticos e exemplos de codificação, que podem ser feitos no conjunto de dados anexado.

Frank49
fonte
1
Recebi um erro ou não consegui descobrir como usar os ajustes. Quais erros? Eu costumava Stata para caber seus dados e eles são muito bem (que não só têm incluído um gênero nos primeiros 50 casos e sexo teve que ser retirado.)
Penguin_Knight
1
Você conseguiu obter uma taxa de incidência (por ano de 1000 pessoas) para cada ano em casos e controles? Você agregou dados em grupos ou ajustou o modelo aos dados em nível individual? Aqui está o código e os resultados (usando observações individuais):> glm (idade morta + sexo + fator (diagnóstico) + fator (inclusão_ano)), offset = log (surv), data = data1, family = "poisson") Erro em contrasts<-( *tmp*, valor = contr.funs [1 + ISOF [nn]]): contrastes só pode ser aplicado a factores de 2 ou mais níveis
Frank49
Se você precisar dos valores previstos para caso e controle separadamente em cada ano, poderá ser necessário incorporar um conjunto de diagnosis*inclusion_yeartermos de interação. Se você apenas usar o modelo atual, o número do caso diferirá apenas pelo beta de diagnosis, constante ao longo dos anos, porque não é permitido interagir. Posteriormente, o previsto será apenas substituição. Eu não sou muito exigente, então eu apenas subsiste a idade média e a porcentagem média masculina.
Penguin_Knight
Obrigado Penguin_knight pelas suas respostas, eu realmente aprecio isso! Embora eu ainda não saiba se devo agregar os dados em grupos ou ajustar o modelo por dados em nível individual?
Frank49
Estou confuso com esta configuração. Como você está lidando com a censura?
Glen_b -Reinstala Monica

Respostas:

2

Sem ver o conjunto de dados (não disponível), parece mais correto. O bom das regressões de Poisson é que elas podem fornecer taxas quando usadas conforme sugerido. Uma coisa que vale a pena ter em mente é que pode haver sobredispersão em que você deve alternar para uma regressão binomial negativa (consulte o pacote MASS).

A regressão de Poisson não se importa se os dados são agregados ou não, mas, na prática, os dados não agregados são frágeis e podem causar alguns erros inesperados. Observe que você não pode ter surv == 0nenhum dos casos. Quando testei, as estimativas são as mesmas:

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

Conforme você obtém uma taxa, é importante centralizar as variáveis ​​para que a interceptação seja interpretável, por exemplo:

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

Pode ser interpretada como a taxa básica e, em seguida, as covariáveis ​​são taxas de taxa. Se queremos a taxa básica após 10 anos:

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

Atualmente, modelei o ano de inclusão como uma variável de tendência, mas você provavelmente deve verificar não-linearidades e, às vezes, é útil fazer uma categorização dos pontos no tempo. Eu usei essa abordagem neste artigo:

D. Gordon, P. Gillgren, S. Eloranta, H. Olsson, M. Gordon, J. Hansson e KE Smedby, “Tendências temporais na incidência de melanoma cutâneo por localização anatômica detalhada e padrões de exposição à radiação ultravioleta: uma população retrospectiva com base em estudos ”, Melanoma Res., vol. 25, n. 4, pp. 348–356, agosto de 2015.

Max Gordon
fonte