4 votos

Interpretación y predicción en modelos longitudinales con una interacción entre un predictor que varía con el tiempo y el propio tiempo

Estoy tratando de desarrollar mi intuición sobre cómo interpretar una interacción entre un predictor variable en el tiempo y el propio tiempo.

Tengo varios años de datos de resultados recogidos de forma rutinaria en un servicio de tratamiento de drogas y alcohol. Estoy interesado en modelar la asociación el efecto que el uso de anfetaminas tiene sobre el uso de opiáceos en clientes inscritos en un programa de tratamiento de opiáceos.

hay cuatro variables en el conjunto de datos,

  1. pID que es el identificador único de cada cliente

  2. yearsFromStart que indica el número de años desde que los clientes comienzan el tratamiento. Si esta variable es 0, indica que la medición se realizó al inicio del tratamiento

  3. atsFactor . Se trata de una variable categórica que indica cuántos días consumió el cliente anfetaminas (denominadas ATS o sustancias de tipo anfetamínico) en los 28 días anteriores al día en que se realizó la medición. Hay tres niveles de esta variable, no lo que significa que el cliente consumió anfetamina en 0 das en los 28 días anteriores, Low lo que significa que el cliente consumió anfetaminas entre 1 y 12 días en los 28 días anteriores, y High que indica que el cliente consumió anfetamina entre 13 y 28 días en los últimos 28 días. La categoría de referencia es "ningún" consumo.

  4. allOpioid . Se trata de una variable continua que indica el número de días de los 28 días anteriores en que el cliente consumió heroína.

Cada cliente tiene datos de resultados recogidos al inicio del tratamiento (es decir yearsFromStart = 0 ) pero puede tener cualquier número de medidas de seguimiento (de 1 a 11 en este conjunto de datos). Además, no hay coherencia en cuanto al momento en que se realizan las mediciones de seguimiento. También cabe señalar que cada vez que se mide la frecuencia de consumo de opiáceos, también se mide la frecuencia de consumo de anfetaminas.

He aquí una muestra de los datos de tres clientes en formato persona-período (es decir, largo)

#         pID yearsFromStart atsFactor allOpioids
# 1  10070474      0.6320081      none          0
# 2  10070474      0.1152882      none         23
# 3  10070474      0.0000000      none         28
# 4  10070474      0.6894973      none          0
# 5  11195140      0.1363944      none          3
# 6  11195140      0.2984505      none          2
# 7  11195140      0.7521694      none          1
# 8  11195140      0.5467925      none          2
# 9  11195140      0.0000000      none         28
# 10 11705183      0.1858126       low          1
# 11 11705183      0.0000000       low          8
# 12 11705183      0.1039756       low          6

Y aquí están los datos de consumo de opioides en forma de cifras

enter image description here

Ahora quiero modelar cómo el uso de anfetaminas predice el uso de opioides en el curso del tratamiento. Conviene aclarar que atsFactor es un variable en el tiempo predictor y quiero modelar su impacto en la frecuencia de uso de opioides, y cómo cambia ese impacto cuanto más tiempo está el cliente en tratamiento. Por lo tanto, elegí un modelo de efectos mixtos con efectos fijos yearsFromStart , atsFactor y la interacción entre yearsFromStart y atsFactor . El modelo es un modelo de pendientes aleatorias en el que se permite variar la trayectoria de consumo de opiáceos de cada cliente a lo largo del tiempo.

Utilicé el lme() en la función nlme en R. La función del modelo tiene el siguiente aspecto

lme(fixed = allOpioids ~ yearsFromStart + atsFactor + yearsFromStart:atsFactor,
    random = ~ yearsFromStart | pID,
    data = df, 
    control = lmeControl(optimizer = "opt"),
    method = "ML",
    na.action = na.exclude))

Y este es el resultado del modelo

# Linear mixed-effects model fit by maximum likelihood
# Data: workDF 
# AIC      BIC    logLik
# 18260.86 18319.92 -9120.432
# 
# Random effects:
#   Formula: ~yearsFromStart | pID
# Structure: General positive-definite, Log-Cholesky parametrization
# StdDev   Corr  
# (Intercept)    5.673737 (Intr)
# yearsFromStart 4.527000 -0.909
# Residual       5.837775       
# 
# Fixed effects: allOpioids ~ yearsFromStart + atsFactor + yearsFromStart:atsFactor 
# Value Std.Error   DF   t-value p-value
# (Intercept)                   3.109513 0.2616822 1854 11.882785   0e+00
# yearsFromStart               -2.189954 0.3421356 1854 -6.400837   0e+00
# atsFactorlow                  4.372409 0.5158199 1854  8.476621   0e+00
# atsFactorhigh                 8.503671 1.1744451 1854  7.240586   0e+00
# yearsFromStart:atsFactorlow  -3.079531 0.8297548 1854 -3.711375   2e-04
# yearsFromStart:atsFactorhigh -7.885443 2.0204646 1854 -3.902787   1e-04

# 
# Number of Observations: 2712
# Number of Groups: 853 

Inferencia

Aquí está mi intento de interpretar el modelo.

  1. El número previsto de días de consumo de opiáceos para las personas que no consumieron anfetaminas en los 28 días anteriores al inicio del tratamiento (es decir yearsFromStart = 0) es 3.1.

  2. El uso bajo de anfetaminas se asocia con un uso extra de 4,4 días de opioides al inicio del tratamiento en comparación con el no uso de anfetaminas. El uso elevado de anfetaminas se asocia con 8,5 días adicionales de uso de opioides.

  3. Si la persona no consumió anfetaminas en los 28 días anteriores, un año de tratamiento se asocia con 2,2 días menos de consumo de opiáceos en los 28 días anteriores en comparación con el inicio del tratamiento.

  4. Si la persona tuvo un bajo consumo de anfetaminas en los 28 días anteriores, un año de tratamiento se asocia con 2,2 + 3,1 = 5,3 días menos de consumo de opioides en los 28 días anteriores en comparación con el inicio del tratamiento.

  5. Si la persona tuvo un alto consumo de anfetaminas en los 28 días anteriores, un año de tratamiento se asocia con 2,2 + 7,9 = 10,1 días menos de consumo de opioides en los 28 días anteriores en comparación con el inicio del tratamiento.

Pregunta 1.

¿Es ésta la forma correcta de interpretar un modelo en el que hay una interacción con un predictor variable en el tiempo y el tiempo?

Si mi interpretación es correcto, ¿sería entonces cierto decir que un mayor tiempo de tratamiento reduce el impacto del consumo de anfetaminas en el consumo simultáneo de opioides? Y, además, ¿sería cierto decir que la medida en que el tiempo en tratamiento amortigua el efecto del consumo de anfetaminas sobre el consumo de opiáceos es mayor cuanto más anfetaminas se consumen?

No quiero sobreinterpretar estos resultados, por lo que es importante que entienda correctamente las implicaciones de los mismos.

Predicción

Fui más allá y generé algunos gráficos de predicción del modelo, utilizando el ggeffects y su paquete ggpredict (véase la respuesta a este post). Le pedí a esta función que predijera el uso de opioides para cada uno de los tres grupos, no el uso de anfetaminas, low consumo de anfetaminas, y high consumo de anfetaminas, en seis momentos, inicio del tratamiento ( yearsFromStart = 0 ), 0,2 años desde el inicio del tratamiento, 0,4 años, 0,6 años, 0,8 años y 1,0 años.

Este es el aspecto del gráfico predictivo.

enter image description here

Pregunta 2

Ahora estoy más acostumbrado a los gráficos de interacción en los que hay una interacción entre un predictor invariable en el tiempo y el tiempo, de modo que cada línea representa la trayectoria media de algún grupo en el que la característica del grupo no cambia, por ejemplo, si una persona era hombre o mujer, si el consumo de anfetaminas de una persona sólo en la línea de base no era ninguna, ni baja ni alta. Eso tiene sentido para mí.

Pero me cuesta intuir una trama así. El problema, por supuesto, es que con estos datos el consumo de anfetaminas de muchas personas puede cambiar a lo largo de un año. Así que ¿son estas líneas predicciones del consumo de opioides tres clientes hipotéticos cuyo consumo de anfetaminas se mantuvo igual a lo largo del año? Si no es así, ¿qué hace ¿la figura muestra? Se predice el consumo de opiáceos en los 28 días anteriores en cada punto de tiempo (0 años desde el inicio del tratamiento, 0,2 años desde el inicio del tratamiento, 0,4, 0,6, 0,8 y 1 años desde el tratamiento) para las personas cuya frecuencia de consumo de anfetaminas fue nula, baja y alta sólo en ese momento ?

¿Sería mejor eliminar las líneas en ese caso y tener sólo los puntos, así?

enter image description here

Para mí, las líneas implican una cierta sensación de continuidad o consistencia en el consumo de anfetaminas a lo largo del tiempo, una especie de trayectoria marginal de consumo de opioides para una persona que representa un participante medio de algún tipo.

Cualquier ayuda será muy apreciada. Nadie en mi trabajo tiene experiencia con modelos que interactúan con coeficientes variables en el tiempo.

3voto

Maran Puntos 2283

Su pregunta original sobre la interpretación de una interacción entre el tiempo y un predictor variable en el tiempo no es fácil de responder, en parte porque esa interacción en particular no tiene mucho sentido. Si estuviéramos hablando de la interacción de dos predictores variables en el tiempo (ninguno de los cuales fuera el tiempo), entonces sería más sensato.

Es mucho más fácil pensar y explicar una interacción entre el tiempo y una característica de la persona que no cambia a lo largo del estudio. Por lo tanto, en los comentarios, pregunté qué parte de la variación de asFactor se daba dentro de las personas (pID) y entre ellas, dado que en los datos de ejemplo que proporcionaste, ciertamente limitados, los valores de asFactor eran los mismos dentro de los pID. Le pedí que estimara un modelo de componentes de la varianza para asFactor (un modelo sin otros predictores que la estructura aleatoria especificada) para que pudiera calcular un ICC para asFactor. Como asFactor era una variable ordinal con tres niveles, tuvo que utilizar clmm() en el ordinal para estimar este modelo.

En un modelo lineal mixto generalizado que utiliza una función de enlace logit (bernoulli o logística ordenada), la varianza residual de nivel 1 no se estima y es constante, por lo que no es obvio cómo calcular un ICC. Sin embargo, si se piensa en el resultado de este modelo como una variable latente no observada con umbrales, entonces tiene una interpretación de respuesta continua. La varianza del residuo en este marco es $\frac{\pi^2}{3}$ . Esta no es una suposición necesaria del modelo, pero es útil para calcular los CCI con esos resultados.

Informó de que la varianza del PID de su clmm() fue de 31,77, por lo que el ICC = $\frac{31.77}{(31.77+\frac{\pi^2}{3})}$ que es aproximadamente 0,90. Esto indica que una gran parte de la varianza de asFactor se encuentra en el nivel de la persona y, por lo tanto, probablemente es mejor concebirla como una variable a nivel de la persona que como una variable que varía con el tiempo. Mi sugerencia es calcular la media de la persona para asFactor, y probablemente encontrará que la mayoría de las personas no cambian los valores de asFactor durante el período de estudio. En el caso de las que sí lo hacen, tendrán un valor que no es un número entero para su media personal de asFactor. Entonces podría crear una variable 0/1 que indique si un individuo cambia en asFactor. Estas dos variables a nivel de persona (mean_asFactor y chg_asFactor) en combinación le dan la información que le interesa y pueden interactuar con el tiempo para darle una idea de cuánto depende el cambio en allOpiods de asFactor ( time:mean_asFactor ) y si las personas cambian en su nivel de asFactor ( time:chg_asFactor ). Como antes, puede utilizar ggpredict()%>%plot() para visualizar estas interacciones. Esto puede o no ser exactamente lo que quieres, pero es una ruta alternativa y parece justificada dado lo que has aprendido sobre asFactor.

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