Estoy probando si 5 grupos diferentes tienen varianzas diferentes, no me interesa la media. He realizado una prueba de Brown-Forsythe dado que los datos no se ajustan a una distribución normal. La prueba dio un resultado de heterogeneidad con un valor p. de 0,0001. Mi pregunta es, ¿cómo puedo probar dónde está la diferencia de varianzas? es decir, ¿entre qué grupos es significativa la diferencia? Estoy buscando el equivalente a una prueba Post-Hoc de Tukey pero para probar las varianzas. Gracias, esto me ha vuelto loco.
Respuesta
¿Demasiados anuncios?No hace mucho trabajé en un proyecto en el que abordé este tipo de problema en el marco de la regresión por mínimos cuadrados generalizados. En otras palabras, ajusté un modelo a mis datos que estimaba las medias de los grupos permitiendo que las desviaciones estándar de los grupos 2, 3, ..., 4 fueran iguales:
- la desviación estándar del grupo 1 por un factor delta2 (para el grupo 2);
- la desviación estándar del grupo 1 por un factor delta3 (para el grupo 3);
- la desviación estándar del grupo 1 por un factor delta4 (para el grupo 4);
- la desviación estándar del grupo 1 por un factor delta5 (para el grupo 5).
Si no recuerdo mal, el programa informático que utilicé produjo estimaciones e intervalos de confianza para cada uno de estos factores y eso me permitió obtener todas las comparaciones por pares de interés entre grupos en términos de desviaciones estándar. Tuve que transformar la variable de resultado para obtener unos residuos adecuados y también luchar contra el software porque no me permitía elegir qué grupo sería tratado como referencia (por ejemplo, el grupo 1), sino que elegía el grupo de referencia basándose en los datos.
La sintaxis de R para ajustar este tipo de modelo sería algo así como
library(nlme)
model <- gls(outcome ~ group, weights = varIdent(form = ~1|group),
data=mydata)
Entonces usa algo como:
summary(model)
para ver un resumen del ajuste del modelo.
Además, usa:
model$modelStruct$varStruct
para obtener estimaciones de delta1 (que será 1 para el grupo de referencia 1), delta2, delta3, delta4 y delta5.
Por último, usa:
intervals(model, which="var-cov")
para obtener intervalos de confianza del 95% para delta2, delta3, delta4, delta5 y para la desviación estándar sigma del grupo de referencia (es decir, el grupo 1). Estos últimos aparecerán en el apartado Error estándar residual.
Consulte las páginas 159-162 del libro Linear Mixed-Effects Models Using R: A Step-by-Step Approach para ver un ejemplo. El libro fue escrito por Galecki y Burzykowski. La sección 7.6.2 del libro da la fórmula para un intervalo de confianza para el logaritmo de los deltas, donde s puede ser 2, 3, 4 o 5.
Tal vez otras personas de aquí te den otras ideas sobre cómo proceder, pero he pensado en compartir mi idea por si puede suscitar más conversaciones.