Tengo datos de 3 grupos de biomasa de algas ( , , ) que contienen tamaños de muestra desiguales ( , , ) y me gustaría comparar si estos grupos son de la misma población .
También intenté la transformación para normalizar mis datos. Incluso después de las pruebas de varias transformaciones (log, raíz cuadrada, cuadrada), la más baja producida después de la transformación con una transformación fue , que fue aún mayor en comparación con .
¿Alguien puede aconsejarme dónde ir desde aquí? No puedo pensar en otros métodos de transformación para normalizar por datos. ¿Hay alguna alternativa a un ANOVA unidireccional?
PD: mis datos en bruto están a continuación:
A: 0.178 0.195 0.225 0.294 0.315 0.341 0.36 0.363 0.371 0.398 0.407 0.409 0.432
0.494 0.719
B: 0.11 0.111 0.204 0.416 0.417 0.441 0.492 0.965 1.113 1.19 1.233 1.505 1.897
C: 0.106 0.114 0.143 0.435 0.448 0.51 0.576 0.588 0.608 0.64 0.658 0.788 0.958
Respuestas:
Hay una serie de opciones disponibles cuando se trata con datos heteroscedasticos. Desafortunadamente, ninguno de ellos está garantizado para funcionar siempre. Aquí hay algunas opciones con las que estoy familiarizado:
Actualización: Aquí hay una demostración
R
de algunas formas de ajustar un modelo lineal (es decir, un ANOVA o una regresión) cuando tiene heterocedasticidad / heterogeneidad de varianza.Comencemos por echar un vistazo a sus datos. Por conveniencia, los he cargado en dos marcos de datos llamados
my.data
(que está estructurado como arriba con una columna por grupo) ystacked.data
(que tiene dos columnas:values
con los números yind
con el indicador de grupo).Podemos probar formalmente la heterocedasticidad con la prueba de Levene:
Efectivamente, tienes heterocedasticidad. Verificaremos cuáles son las variaciones de los grupos. Una regla general es que los modelos lineales son bastante robustos a la heterogeneidad de la varianza, siempre que la varianza máxima no sea más de mayor que la varianza mínima, por lo que también encontraremos esa relación:4 4×
Sus variaciones difieren sustancialmente, con el mayor,19×
B
siendo los más pequeños,. Este es un nivel problemático de heteroscedsaticidad.A
parallel.universe.data
B
C
para mostrar cómo funcionaría:El uso de la transformación de raíz cuadrada estabiliza esos datos bastante bien. Puede ver la mejora de los datos del universo paralelo aquí:
df = 19.445
df = 38
Un enfoque más general es utilizar mínimos cuadrados ponderados . Dado que algunos grupos (
B
) se extienden más, los datos en esos grupos proporcionan menos información sobre la ubicación de la media que los datos en otros grupos. Podemos dejar que el modelo incorpore esto proporcionando un peso con cada punto de datos. Un sistema común es usar el recíproco de la varianza del grupo como el peso:4.5089
0.01749
Los pesos aquí no son tan extremos. Las medias de los grupos previstos difieren ligeramente (
A
: WLS0.36673
, robusto0.35722
;B
: WLS0.77646
, robusto0.70433
;C
: WLS0.50554
, robusta0.51845
), con los medios deB
yC
siendo menos tirados por valores extremos.En econometría, el error estándar de Huber-White ("sandwich") es muy popular. Al igual que la corrección de Welch, esto no requiere que conozca las variaciones a priori y no requiere que calcule los pesos de sus datos y / o contingente en un modelo que puede no ser correcto. Por otro lado, no sé cómo incorporar esto con un ANOVA, lo que significa que solo los obtienes para las pruebas de códigos ficticios individuales, lo que me parece menos útil en este caso, pero los demostraré de todos modos:
vcovHC
R
car
white.adjust
Aunque la prueba de Kruskal-Wallis es definitivamente la mejor protección contra los errores de tipo I, solo se puede usar con una sola variable categórica (es decir, sin predictores continuos o diseños factoriales) y tiene el menor poder de todas las estrategias discutidas. Otro enfoque no paramétrico es utilizar la regresión logística ordinal . Esto parece extraño para muchas personas, pero solo debe suponer que sus datos de respuesta contienen información ordinal legítima, lo que seguramente hacen o de lo contrario cualquier otra estrategia anterior también es inválida:
chi2
Discrimination Indexes
0.0363
fuente
car
también existe la opción de configurarwhite.adjust=T
para tratar la heterocedacidad utilizando errores estándar corregidos de heteroscedasticidad ajustados por Whitelm
's', pero también parece funcionar paraaov
's (las opciones parawhite.adjust
sonwhite.adjust=c(FALSE, TRUE, "hc3", "hc0", "hc1", "hc2", "hc4")
- para más información ver?hccm
)