Espero agrupar los resultados de un conjunto bastante básico de análisis realizado en datos imputados de forma múltiple (por ejemplo, regresión múltiple, ANOVA). La imputación múltiple y los análisis se han completado en SPSS, pero SPSS no proporciona resultados agrupados para algunas estadísticas que incluyen el valor F, la matriz de covarianza, R-Squared, etc.
He hecho algunos intentos para resolver este problema al aventurarme en R o probar las macros que están disponibles y no he resuelto el problema con éxito (por ejemplo, al encontrarme con problemas para agrupar las estadísticas de más de 5 imputaciones en ratones, por ejemplo).
En este punto, me gustaría intentar calcularlos a mano, aplicando la regla de Rubin, utilizando la salida que genera SPSS. Sin embargo, no estoy seguro de cómo puedo derivar la varianza dentro de la imputación ( ) según la salida que genera SPSS.
Realmente agradecería una instrucción detallada sobre esto.
fuente
Respuestas:
Las reglas de Rubin solo pueden aplicarse a parámetros que siguen una distribución normal. Para los parámetros con una distribución F o Chi Square se necesita un conjunto diferente de fórmulas:
Para realizar un ANOVA en múltiples conjuntos de datos imputados, puede usar el paquete R mouseadds ( pdf ;
miceadds::mi.anova
).Actualización 1
Aquí hay un ejemplo completo:
Exporte sus datos de SPSS a R. En Spss guarde su conjunto de datos como .csv
Lea en su conjunto de datos:
Supongamos que la es su variable dependiente y que tiene dos factoresr e a di n g
Ahora vamos a convertirlos en factores:
Convierta su conjunto de datos en un objeto mids, donde suponemos, que la primera variable contiene el número de imputación (Imputation_ en SPSS):
Ahora puedes realizar un ANOVA:
Actualización 2 Esta es una respuesta a su segundo comentario:
Lo que usted describe aquí es un problema relacionado con la importación / exportación de datos entre SPSS y R. Se podría tratar de importar el
.sav
archivo directamente en R y hay un montón de paquetes dedicados para ello:foreign
,rio
,gdata
,Hmisc
, etc Yo prefiero el csv vías , pero eso es cuestión de gustos y / o depende de la naturaleza de su problema. Tal vez también debería consultar algunos tutoriales en youtube u otras fuentes en internet.Actualización 3 Esta es una respuesta a su primer comentario:
Sí, puede hacer su análisis en SPSS y agrupar los valores de F en
miceadds
(tenga en cuenta que este ejemplo está tomado de lamiceadds::micombine.F
página de ayuda):fuente
$<-.data.frame
*tmp*
Usted anotó correctamente el estimador agrupado:
Donde representa los resultados analíticos del -ésimo conjunto de datos imputado. Normalmente, los resultados analíticos tienen una distribución aproximada normal de la cual sacamos inferencia o creamos límites de confianza. Esto se realiza principalmente utilizando el valor medio ( ) y su error estándar. Las pruebas T, las regresiones lineales, las regresiones logísticas y, básicamente, la mayoría de los análisis se pueden resumir adecuadamente en términos de ese valor y su error estándar .Ui i Ui Ui se(Ui)
Las Reglas de Rubin usan la ley de la varianza total para escribir la varianza como la suma de una varianza de imputación entre y dentro de:
El primer término es la varianza interna de tal manera que donde es la varianza del resultado del análisis del -ésimo conjunto de datos completo o imputado. El último término es la varianza entre imputaciones: . Nunca he entendido bien la corrección del DF aquí, pero este es básicamente el enfoque aceptado.E[var(U¯|Ui)=1m∑mi=1Vi Vi i var(E[U¯|Ui])=M+1M−1∑mi=1(Ui−U¯)2
De todos modos, dado que el número recomendado de imputaciones es pequeño (Rubin sugiere tan solo 5), generalmente es posible calcular este número ajustando a mano cada análisis. Un ejemplo a mano se enumera a continuación:
Da el siguiente resultado:
Entonces, la varianza interna es el promedio de las variaciones de estimación puntual específica de imputación: 3.8 (promedio de la segunda columna). La varianza intermedia es 0.35 varianza de la primera columna). Usando la corrección DF obtenemos la varianza 4.23. Esto concuerda con el
pool
comando dado en elmice
paquete.que muestra el SE = 2.057 para el coeficiente del modelo, (Varianza = SE ** 2 = 4.23).
No veo cómo aumentar el número de conjuntos de datos imputados crea un problema en particular. Si no puede proporcionar un ejemplo del error, no sé cómo ser más útil. Pero la combinación manual es segura para acomodar una variedad de estrategias de modelado.
Este artículo analiza otras formas en que la ley de la varianza total puede derivar otras estimaciones de la varianza de la estimación agrupada. En particular, los autores señalan (correctamente) que la suposición necesaria para las Reglas de Rubin no es la normalidad de las estimaciones puntuales sino algo llamado simpatía. Normalidad WRT, la mayoría de las estimaciones puntuales que provienen de los modelos de regresión tienen una convergencia rápida bajo el teorema del límite central, y el bootstrap puede mostrarle esto.
fuente
pool(fit)