2 votos

análisis de supervivencia truncada multivariante

Tengo muchas series temporales cortas (1-5 puntos de datos) que documentan el desarrollo de rasgos morfológicos (longitud y pigmentación) de algunos bichos de laboratorio en respuesta a diferentes suplementos dietéticos. Ya sé que, dependiendo del suplemento dietético, estos rasgos aumentan a diferentes ritmos (y dependiendo de la familia, pero eso quizá no sea importante para esta pregunta).

Ahora me gustaría probar si las tasas de crecimiento o de pigmentación, a través de diferentes dietas, pueden afectar a la supervivencia. Como he dicho, la información morfológica que tengo para cada punto de tiempo; la supervivencia está determinada por la longitud de las series temporales (1-5: Creo que esto se conoce como datos truncados (a la derecha) y no censurados). Sospecho que los organismos que crecen y se pigmentan muy rápido tienen un mayor cambio de morir, dependiendo de la dieta de la que se alimentan, pero no estoy seguro de cómo probarlo.

He estado probando con un marco GAM, 0/1 como respuesta, y la información morfológica llena de NA después de la muerte. No funcionó, por supuesto, pero sólo para darle una idea:

mod = gam(Survival ~  Food + Time_num +
            s(Time_num, Length, by=Food, k=5) +
            s(Time_num, Pigmentation, by=Food, k=5) +
            s(Time_num, Length, Pigmentation, by=Food, k=5) +
            s(Family, Individual, bs="re")
          , family = "binomial", data=mod_data)

¿Cómo puedo tener en cuenta el truncamiento de las series temporales individuales? Me gustaría permanecer en el nivel de cada individuo (es decir, sin familia o tratamiento por punto de tiempo promedio). R se agradecería la sintaxis.

EDIT : Para aclarar, estoy interesado en el tiempo de supervivencia (numérico 1-5 son puntos de tiempo/fechas de muestreo), y cómo está influenciado por la rapidez con la que los organismos crecen y/o se pigmentan. Los datos (para todos mis ~1000 individuos) se ven así:

Individual 1A, Food A
Time:            1    2    3    4    5
Alive:           1    1    1    0    0
Length:          1.1  1.5  2.6  NA   NA
Pigmentation:    0.3  0.5  0.7  NA   NA

Individual 2A, Food A
Time:            1    2    3    4    5
Alive:           1    1    1    1    1
Length:          1.2  1.5  2.9  3.6  5.8
Pigmentation:    0.3  0.45 0.6  0.7  0.8

Individual 3A, Food B
Time:            1    2    3    4    5
Alive:           1    0    0    0    0
Length:          1.1  NA   NA   NA   NA
Pigmentation:    0.3  NA   NA   NA   NA

etc....

La respuesta 0/1 (muerto/vivo) podría, por supuesto, convertirse en 1-5, por lo que probablemente quiera eso como respuesta al final.

0voto

Andor Puntos 616

Quizá no sea la respuesta que buscabas, pero deberías echar un vistazo a los modelos conjuntos.

Estos modelos son una combinación de un modelo de supervivencia para considerar los eventos (la muerte como 0/1 en su caso) y un modelo mixto para tener en cuenta la evolución de algunos factores a lo largo del tiempo (longitud y pigmentación, por ejemplo).

Hay un R tutorial puedes probar. Esto es lo que yo intentaría basándome en tu ejemplo, pero no soy un experto:

library(JM)
# Mixed-effects model fit
lmeFit.p1 <- lme(Time_num ~ Length + Pigmentation + Length:Pigmentation, 
                 data = mod_data, random = ~ Time_num | id)  

# Cox survival model fit
mod_data2 = mod_data #create your survival data
survFit.p1 <- coxph(Surv(Time, death) ~ Food + Time_num, data = mod_data2, x = TRUE)  

# Joint model
jointFit.p1 <- jointModel(lmeFit.p1, survFit.p1, timeVar = "Time_num",
                          method = "piecewise-PH-aGH") #maybe another method

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