Modelos de efeitos aleatórios

Autor

Caio & Manoel

Data de Publicação

7 de novembro de 2024

1 Bibliotecas e letura dos dados

# libraries
library(tidyverse)
library(parameters)

set.seed(1234)

df_raw <- read_csv("../data/raw/Banco 07 11 V3.csv")

# df_raw |> glimpse()

# date adjust
df <- df_raw |>
  mutate(DT_NASC_GERAL = mdy(DT_NASC_GERAL),
         DT_SIN_PRI = mdy(DT_SIN_PRI)
         )

# df |> glimpse()


# renomear categorias das variáveis
df <- df %>%
  mutate(SEXO2 = case_when(SEXO2 == 0 ~ "Fem",
                                  SEXO2 == 1 ~ "Masc"),

         Raca3 = case_when(Raca3 == 1 ~ "Branca",
                            Raca3 == 2 ~ "Negra",
                            Raca3 == 3 ~ "Amarela",
                            Raca3 == 4 ~ "Parda",
                            Raca3 == 5 ~ "Indígena",
                            Raca3 == 9 ~ "Ignorado"),

        GidadeMae = case_when(GidadeMae == 1 ~ "11-19",
                               GidadeMae == 2 ~ "20-34",
                               GidadeMae == 3 ~ "35+"),
                               
        Gescola3 = case_when(Gescola3 == 1 ~ "0-7",
                              Gescola3 == 2 ~ "8-11",
                              Gescola3 == 3 ~ "12+",
                              Gescola3 == 4 ~ "Ignorado"),
                              
        Gpeso = case_when(Gpeso == 0 ~ "2500+",
                           Gpeso == 1 ~ "<2500"),

        Gtermo = case_when(Gtermo == 0 ~ "37+",
                            Gtermo == 1 ~ "19-31",
                            Gtermo == 2 ~ "23-36"),
        
        Irmao = case_when(Irmao == 0 ~ "Não",
                           Irmao == 1 ~ "Sim",
                           Irmao == 9 ~ "Ignorado"),
        
        PARTO = case_when(PARTO == 1 ~ "Vaginal",
                           PARTO == 2 ~ "Cesáreo",
                           PARTO == 9 ~ "Ignorado"),
        
        Trimestre = case_when(Trimestre == 1 ~ "Jan-Mar",
                              Trimestre == 2 ~ "Abr-Jun",
                              Trimestre == 3 ~ "Jul-Set",
                              Trimestre == 4 ~ "Out-Dez")) %>%
    select(rsv1, SEXO2, Raca3, GidadeMae, Gescola3, Gpeso, Gtermo, Irmao, PARTO, Trimestre, DT_NASC_GERAL, DT_SIN_PRI)

# filtrar excluindo 'ignorado'
df <- df |> 
  filter(Raca3 != "Ignorado",
         Gescola3 != "Ignorado",
         Irmao != "Ignorado",
         PARTO != "Ignorado")

# df |> glimpse()
library(survival)
library(coxme)

# Definindo o tempo para todos os pacientes, incluindo censurados
df <- df %>%
  mutate(
    # Define uma data de referência (1 ano após a data de nascimento)
    data_fim = as.Date(DT_NASC_GERAL) + 365,
    
    # Calcula o tempo até o evento ou até a data de referência
    tempo = ifelse(!is.na(DT_SIN_PRI), 
                   as.numeric(DT_SIN_PRI - DT_NASC_GERAL),    # Tempo até o evento
                   as.numeric(data_fim - DT_NASC_GERAL)),     # Tempo até a censura

    # Indicador do evento: 1 para eventos, 0 para censura
    evento = ifelse(!is.na(DT_SIN_PRI), 1, 0)
  )

# Modelo de Cox com efeito aleatório para Trimestre
modelo_cox <- coxme(Surv(tempo, evento) ~ SEXO2 + Raca3 + GidadeMae + Gescola3 + 
                    Gpeso + Gtermo + Irmao + PARTO + (1 | Trimestre), data = df)

# Resumo do modelo
summary(modelo_cox)
Mixed effects coxme model
 Formula: Surv(tempo, evento) ~ SEXO2 + Raca3 + GidadeMae + Gescola3 +      Gpeso + Gtermo + Irmao + PARTO + (1 | Trimestre) 
    Data: df 

  events, n = 6977, 1201753 (2513 observations deleted due to missingness)

Random effects:
      group  variable        sd    variance
1 Trimestre Intercept 0.0651865 0.004249279
                   Chisq    df p   AIC   BIC
Integrated loglik  999.1 15.00 0 969.1 866.3
 Penalized loglik 1008.0 16.63 0 974.7 860.8

Fixed effects:
                   coef exp(coef) se(coef)     z        p
SEXO2Masc       0.25173   1.28624  0.02426 10.38  < 2e-16
Raca3Branca    -0.08686   0.91680  0.14409 -0.60  0.54662
Raca3Indígena  -0.13805   0.87105  0.32326 -0.43  0.66933
Raca3Negra      0.03373   1.03430  0.15090  0.22  0.82315
Raca3Parda     -0.09551   0.90891  0.14510 -0.66  0.51036
GidadeMae20-34 -0.29048   0.74790  0.04219 -6.89 5.75e-12
GidadeMae35+   -0.45858   0.63218  0.05093 -9.00  < 2e-16
Gescola312+     0.06534   1.06753  0.04720  1.38  0.16621
Gescola38-11   -0.11232   0.89376  0.04094 -2.74  0.00609
Gpeso2500+     -0.37575   0.68677  0.04176 -9.00  < 2e-16
Gtermo23-36    -0.19736   0.82089  0.06105 -3.23  0.00123
Gtermo37+      -0.51657   0.59656  0.06474 -7.98 1.47e-15
IrmaoSim        0.55926   1.74938  0.02776 20.14  < 2e-16
PARTOVaginal   -0.04132   0.95952  0.02582 -1.60  0.10950
parameters(modelo_cox, ci_method="wald", exp = TRUE)
# Extraindo a variância do efeito aleatório para Trimestre
var_aleatorio <- as.numeric(VarCorr(modelo_cox)$Trimestre)
# Cálculo do ICC
var_residual <- 3.29  # Variância residual para o modelo de Cox
ICC <- var_aleatorio / (var_aleatorio + var_residual)
ICC
[1] 0.001289908

1.1 Interpretação dos Efeitos Fixos (Hazard Ratios)

  1. SEXO2 [Masc] (HR: 1.29, p < .001): Meninos têm um risco 29% maior de apresentar sintomas de VSR em comparação com meninas, sendo este efeito estatisticamente significativo.

  2. Raça (Raca3):

    • Nenhuma das categorias de raça (Branca, Indígena, Negra, Parda) apresentou significância estatística, indicando que a raça não influencia significativamente o tempo até o evento de VSR.
  3. GidadeMae (Idade da Mãe):

    • GidadeMae [20-34] (HR: 0.75, p < .001): Mães com idade entre 20 e 34 anos têm um risco 25% menor de seus filhos desenvolverem VSR, em comparação com o grupo de referência.
    • GidadeMae [35+] (HR: 0.63, p < .001): Idades de 35 anos ou mais estão associadas a uma redução de 37% no risco, indicando um efeito protetor significativo.
  4. Gescola3 (Escolaridade da Mãe):

    • Gescola3 [12+] (HR: 1.07, p = 0.166): Não apresentou significância estatística, sugerindo que 12+ anos de escolaridade materna não têm um efeito significativo no risco de VSR.
    • Gescola3 [8-11] (HR: 0.89, p = 0.006): Mães com 8-11 anos de escolaridade têm uma redução de 11% no risco, que é significativa.
  5. Gpeso [2500+] (HR: 0.69, p < .001): Bebês com peso ao nascer de 2500g ou mais têm uma redução de 31% no risco de desenvolver sintomas de VSR.

  6. Gtermo (Semanas de Gestação):

    • Gtermo [23-36] (HR: 0.82, p = 0.001) e Gtermo [37+] (HR: 0.60, p < .001): Ambos os grupos, com 23-36 semanas e 37+ semanas, apresentam riscos significativamente menores em comparação com o grupo de referência (pré-termo extremo).
  7. Irmao [Sim] (HR: 1.75, p < .001): A presença de irmãos aumenta o risco de VSR em 75%, sendo este um efeito altamente significativo.

  8. PARTO [Vaginal] (HR: 0.96, p = 0.110): Não apresentou significância estatística, indicando que o tipo de parto não tem um efeito significativo sobre o risco de VSR.

1.2 Interpretação do Efeito Aleatório para Trimestre (Sazonalidade)

  1. Variância do Efeito Aleatório para Trimestre (SD: 0.0652): Este valor mostra a variabilidade na taxa de incidência de VSR entre os trimestres. Como o desvio padrão é pequeno, isso sugere uma variação mínima entre os trimestres de nascimento.

  2. Coeficiente de Correlação Intraclasse (ICC) = 0.0013 (~0.13%):

    • O ICC indica que apenas cerca de 0.13% da variância total no tempo até o evento de VSR é explicada pela sazonalidade (trimestre de nascimento). Esse valor muito baixo sugere que o trimestre de nascimento (a sazonalidade) não tem um impacto substancial na variabilidade do tempo até o evento de VSR.

    • Interpretação: A sazonalidade (diferenças entre trimestres) explica uma fração muito pequena da variação no desfecho. Isso significa que, embora a sazonalidade seja geralmente associada à incidência do VSR, o trimestre de nascimento não é um fator importante para o tempo até o evento de VSR neste contexto.

1.3 Conclusão

  • Fatores Importantes: Sexo biológico, idade materna, peso ao nascer, semanas de gestação e presença de irmãos são fatores que têm uma influência significativa no tempo até o evento de VSR.
  • Sazonalidade: O efeito sazonal, representado pelo trimestre de nascimento, tem uma influência mínima sobre o risco de VSR. Com um ICC de apenas 0.13%, podemos concluir que a sazonalidade (nascimento em diferentes trimestres) não contribui significativamente para a variabilidade do risco de VSR no primeiro ano de vida.
# Modelo de Cox sem efeito aleatório com efeito de Trimestre
modelo_cox_fixo_b <- coxph(Surv(tempo, evento) ~ SEXO2 + Raca3 + GidadeMae + Gescola3 + 
                    Gpeso + Gtermo + Irmao + PARTO + Trimestre, data = df)

summary(modelo_cox_fixo_b)
Call:
coxph(formula = Surv(tempo, evento) ~ SEXO2 + Raca3 + GidadeMae + 
    Gescola3 + Gpeso + Gtermo + Irmao + PARTO + Trimestre, data = df)

  n= 1201753, number of events= 6977 
   (2513 observations deleted due to missingness)

                     coef exp(coef) se(coef)      z Pr(>|z|)    
SEXO2Masc         0.25179   1.28632  0.02426 10.378  < 2e-16 ***
Raca3Branca      -0.08692   0.91675  0.14409 -0.603 0.546360    
Raca3Indígena    -0.13732   0.87169  0.32327 -0.425 0.670995    
Raca3Negra        0.03386   1.03444  0.15090  0.224 0.822481    
Raca3Parda       -0.09563   0.90880  0.14510 -0.659 0.509855    
GidadeMae20-34   -0.29077   0.74769  0.04219 -6.892 5.49e-12 ***
GidadeMae35+     -0.45865   0.63213  0.05094 -9.004  < 2e-16 ***
Gescola312+       0.06557   1.06776  0.04720  1.389 0.164784    
Gescola38-11     -0.11232   0.89376  0.04095 -2.743 0.006084 ** 
Gpeso2500+       -0.37590   0.68667  0.04176 -9.001  < 2e-16 ***
Gtermo23-36      -0.19759   0.82071  0.06104 -3.237 0.001209 ** 
Gtermo37+        -0.51683   0.59641  0.06473 -7.984 1.41e-15 ***
IrmaoSim          0.55912   1.74912  0.02776 20.138  < 2e-16 ***
PARTOVaginal     -0.04131   0.95953  0.02582 -1.600 0.109624    
TrimestreJan-Mar -0.11466   0.89167  0.03148 -3.642 0.000270 ***
TrimestreJul-Set -0.15518   0.85626  0.03410 -4.551 5.34e-06 ***
TrimestreOut-Dez -0.13101   0.87721  0.03516 -3.726 0.000195 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

                 exp(coef) exp(-coef) lower .95 upper .95
SEXO2Masc           1.2863     0.7774    1.2266    1.3490
Raca3Branca         0.9167     1.0908    0.6912    1.2159
Raca3Indígena       0.8717     1.1472    0.4626    1.6426
Raca3Negra          1.0344     0.9667    0.7696    1.3904
Raca3Parda          0.9088     1.1004    0.6838    1.2077
GidadeMae20-34      0.7477     1.3375    0.6883    0.8121
GidadeMae35+        0.6321     1.5819    0.5721    0.6985
Gescola312+         1.0678     0.9365    0.9734    1.1713
Gescola38-11        0.8938     1.1189    0.8248    0.9684
Gpeso2500+          0.6867     1.4563    0.6327    0.7452
Gtermo23-36         0.8207     1.2185    0.7282    0.9250
Gtermo37+           0.5964     1.6767    0.5253    0.6771
IrmaoSim            1.7491     0.5717    1.6565    1.8469
PARTOVaginal        0.9595     1.0422    0.9122    1.0093
TrimestreJan-Mar    0.8917     1.1215    0.8383    0.9484
TrimestreJul-Set    0.8563     1.1679    0.8009    0.9154
TrimestreOut-Dez    0.8772     1.1400    0.8188    0.9398

Concordance= 0.636  (se = 0.004 )
Likelihood ratio test= 1008  on 17 df,   p=<2e-16
Wald test            = 1054  on 17 df,   p=<2e-16
Score (logrank) test = 1076  on 17 df,   p=<2e-16
parameters(modelo_cox_fixo_b, ci_method="wald", exp = TRUE)

1.4 Interpretação dos Efeitos Fixos

  1. SEXO2 [Masc] (HR: 1.29, p < .001): Meninos têm um risco de 29% maior de apresentar sintomas de VSR em comparação com meninas, o que é estatisticamente significativo.

  2. Raça (Raca3):

    • Nenhuma das categorias de raça (Branca, Indígena, Negra, Parda) apresentou significância estatística. Isso indica que a raça não tem uma influência significativa sobre o risco de VSR.
  3. GidadeMae (Idade da Mãe):

    • GidadeMae [20-34] (HR: 0.75, p < .001): Mães com idade entre 20 e 34 anos têm um risco 25% menor de seus filhos desenvolverem sintomas de VSR, em comparação com o grupo de referência.
    • GidadeMae [35+] (HR: 0.63, p < .001): Idades de 35 anos ou mais estão associadas a uma redução de 37% no risco de VSR, indicando um efeito protetor significativo.
  4. Gescola3 (Escolaridade da Mãe):

    • Gescola3 [12+] (HR: 1.07, p = 0.165): Não houve significância estatística, sugerindo que mães com escolaridade de 12+ anos não apresentam um efeito significativo no risco de VSR.
    • Gescola3 [8-11] (HR: 0.89, p = 0.006): Mães com escolaridade entre 8 e 11 anos têm um risco 11% menor, o que é significativo.
  5. Gpeso [2500+] (HR: 0.69, p < .001): Bebês com peso ao nascer de 2500g ou mais têm uma redução de 31% no risco de desenvolver sintomas de VSR.

  6. Gtermo (Semanas de Gestação):

    • Gtermo [23-36] (HR: 0.82, p = 0.001) e Gtermo [37+] (HR: 0.60, p < .001): Ambos os grupos, com 23-36 semanas e 37+ semanas, têm um risco significativamente menor em comparação com o grupo de referência (pré-termo extremo).
  7. Irmao [Sim] (HR: 1.75, p < .001): A presença de irmãos aumenta o risco de VSR em 75%, um efeito altamente significativo.

  8. PARTO [Vaginal] (HR: 0.96, p = 0.110): Não apresentou significância estatística, indicando que o tipo de parto não tem um efeito significativo sobre o risco de VSR.

1.5 Interpretação do Efeito de Trimestre (Sazonalidade)

  • Trimestre [Jan-Mar] (HR: 0.89, p < .001): O risco de VSR é 11% menor para os bebês nascidos entre janeiro e março, em comparação com o trimestre de referência (provavelmente abril-junho, se este for o trimestre de referência).
  • Trimestre [Jul-Set] (HR: 0.86, p < .001): O risco de VSR é 14% menor para bebês nascidos entre julho e setembro.
  • Trimestre [Out-Dez] (HR: 0.88, p < .001): Bebês nascidos entre outubro e dezembro têm um risco 12% menor.

1.6 Conclusão sobre a Sazonalidade

Os hazard ratios para os trimestres de nascimento indicam que a sazonalidade tem um efeito moderado sobre o risco de VSR. Em particular, bebês nascidos fora do período de alta incidência (março a julho) têm um risco menor de desenvolver sintomas de VSR. Isso sugere que a sazonalidade está associada a um risco maior de VSR, pois bebês nascidos no trimestre de alta incidência estão mais expostos ao vírus sincicial respiratório em seus primeiros meses de vida.

1.7 Resumo Final

  • Fatores Significativos: Sexo, idade materna, peso ao nascer, semanas de gestação e presença de irmãos influenciam o risco de VSR.
  • Sazonalidade: Trimestres de nascimento fora do período de alta incidência (março a julho) estão associados a um menor risco de VSR, o que confirma uma influência sazonal moderada no risco de VSR.