7 votos

Modelos de efectos mixtos con datos perdidos para medidas repetidas

Actualmente estoy trabajando en un problema en el que intento explicar la varianza dentro de un sujeto en un resultado utilizando otras variables múltiples. En R la configuración del modelo se ve así

lmFull<-lmer(outcome ~ (1|subject) + pred1 + pred2 +pred3 ... pred40)

El problema es que hay una leve falta en cada una de las variables predictoras. Por lo tanto, al utilizar la eliminación por listas (la configuración por defecto de lmer) se pierden muchos casos, ya que debido al número de predictores hay muchas posibilidades de que falte al menos uno.

He buscado este problema en Google, pero sólo encuentro ejemplos que afirman que esto no es un problema en el modelado mixto, ya que utiliza el formato largo. Sin embargo, esto sólo es cierto si hay pocos predictores.

Una solución obvia sería utilizar FIML. Sin embargo, algunos de mis predictores son ordinales y, por tanto, no se distribuyen normalmente. Establecer una distribución conjunta válida para todos mis predictores será muy engorroso.

Una solución rápida y sucia podría consistir en imputar los valores con las medias dentro del sujeto.

¿Alguna idea? ¿Hay algún enfoque recomendado?

8voto

Bruce ONeel Puntos 391

La imputación utilizando medias internas no es una buena idea, ya que dará lugar a errores estándar sesgados (demasiado pequeños) y posiblemente a estimaciones sesgadas.

Suponiendo que los datos faltan al azar, una idea mucho mejor es utilizar la imputación múltiple. La dirección mice en R tiene la capacidad de imputar variables continuas en un marco de efectos mixtos con un único efecto aleatorio (variable de agrupación) - basta con especificar 2l.norm como variable de agrupación. Por ejemplo, supongamos que nuestro modelo de análisis es

> require(mice)
> require(lme4)
> m0 <- lmer(teachpop~sex+texp+popular + (1|school), data=popmis)
> confint(m0)

                  2.5 %     97.5 %
.sig01       0.44905533 0.62574295
.sigma       0.54368549 0.59259188
(Intercept)  2.03118933 2.67864796
sex         -0.07108881 0.09183821
texp         0.03024598 0.06505065
popular      0.22257646 0.32572600

Debido a la falta de datos en el predictor popular este modelo puede estar sesgado. Así que utilizaremos la imputación múltiple:

> ini <- mice(popmis, maxit=0)
> (pred <- ini$pred)

         pupil school popular sex texp const teachpop
pupil        0      0       0   0    0     0        0
school       0      0       0   0    0     0        0
popular      1      1       0   1    1     0        1
sex          0      0       0   0    0     0        0
texp         0      0       0   0    0     0        0
const        0      0       0   0    0     0        0
teachpop     0      0       0   0    0     0        0

Es la matriz predictora por defecto para el modelo de imputación. Sólo popular tiene valores perdidos, y vamos a imputarlos utilizando un modelo mixto donde school es el factor de agrupación, y las demás variables son efectos fijos. Para ello, utilizamos -2 contar mice que la escuela es la variable de agrupación, y 2 para los efectos fijos:

> pred["popular",] <- c(0, -2, 0, 2, 2, 2, 0)
> (pred)

Así que ahora tenemos:

         pupil school popular sex texp const teachpop
pupil        0      0       0   0    0     0        0
school       0      0       0   0    0     0        0
popular      0     -2       0   2    2     2        0
sex          0      0       0   0    0     0        0
texp         0      0       0   0    0     0        0
const        0      0       0   0    0     0        0
teachpop     0      0       0   0    0     0        0

Hemos configurado la matriz de predicción, por lo que ahora podemos crear 10 conjuntos de datos imputados múltiples utilizando la función 2l.norm para imputar valores para popular

> imp <- mice(popmis, meth = c("","","2l.norm","","","",""), pred = pred, maxit=10, m = 10)

Ahora ejecutamos el modelo mixto en cada uno de los conjuntos de datos imputados:

> fit <- with(imp, lmer(teachpop~sex+texp+popular + (1|school)))

...y poner en común los resultados:

> summary(pool(fit))

                   est          se         t        df     Pr(>|t|)      lo 95      hi 95 nmis
(Intercept) 2.73951576 0.165053863 16.597708 1991.5874 0.000000e+00 2.41581941 3.06321211   NA
sex         0.08620420 0.031042794  2.776947  915.1865 5.599307e-03 0.02528087 0.14712753    0
texp        0.05682495 0.009713717  5.849970 1991.4452 5.733929e-09 0.03777484 0.07587506    0
popular     0.16696926 0.018760706  8.899945 1980.9159 0.000000e+00 0.13017647 0.20376205  848

3voto

paulson Puntos 11

En su libro, Stef van Buuren describe las dificultades de la modelización multinivel cuando falta un predictor de nivel 1 o 2. Aconseja utilizar 2l.pmm de miceadds y estableciendo el valor 3 en la matriz de predicción como se indica a continuación ici en "7.10.2 Interceptos aleatorios, predictor de nivel 1 ausente". Esto añade al modelo las medias de conglomerados para la variable imputada. De acuerdo con este un valor de 3 en la matriz predictora de ratones significa "modelo de imputación con efecto fijo, intercepto aleatorio y medias de conglomerados".

Esto parece ser una actualización de este tutorial donde se describe la respuesta aceptada. Como también menciona Stef van Buuren, las alternativas serían soluciones ad hoc, por ejemplo, la eliminación por listas (en su caso, obviamente, no tiene sentido), o la imputación multinivel con modelos conjuntos, por ejemplo, con el paquete R jomo .

P.D.: Para añadir a la pregunta de OP de largo vs ancho: Stef van Buuren también menciona que los modelos mixtos pueden manejar los datos que faltan en el resultado fácilmente (véase ici ).

En realidad, el modelo multinivel está "hecho para resolver" el problema de los valores perdidos en el resultado . (...) Los métodos modernos basados en la verosimilitud permiten tratar fácilmente los datos de resultados ausentes (...). Los modelos de efectos mixtos pueden ajustarse con métodos de máxima verosimilitud, que se ocupan de los datos que faltan en el variable dependiente . Este principio puede ampliarse para abordar los datos que faltan en las variables explicativas en software (multinivel) para el modelado de ecuaciones estructurales como Mplus (Muthén, Muthén y Asparouhov 2016) y gllamm (Rabe-Hesketh, Skrondal y Pickles 2002).

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