9 votos

Prueba post-hoc para determinar la diferencia en la varianza

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.

3voto

Isabella Ghement Puntos 9964

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.

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