6 votos

Prueba de Kruskal-Wallis: ¿cómo calcular el valor p exacto?

Quiero calcular el exacto valor de p de una prueba de Kruskal-Wallis.

¿Cómo puedo hacerlo? Es una enorme tarea de cálculo?

Imagine que tiene algo así como que:

Group A: 2, 4, 6, 7, 10, 20, 25, 26, 28, 29, 30, 30
Group B: 2, 4, 6, 15, 17, 20, 20, 20, 30
Group C: 1, 2, 3, 3, 3,
Group D: 4, 4, 6, 7, 8
Group E: 2, 20, 30, 40, 41, 42

Leí esas, pero no me llego completo: Wilcoxon Rank-Sum: informática el exacto $p$-valor, test de Kruskal-Wallis: consideraciones sobre los datos, por lo que un "for dummies" explicación sería enormemente apreciada.

(Yo uso R)

4voto

Shift Puntos 310

La idea general para calcular los valores de p en las posibilidades finitas es ejecutar a través de todas las posibilidades y recuento de cuánto tiempo la estadística es mayor que el observado de la estadística.

Ejemplo de un binomio: quieres probar si una moneda está sesgada con 10 cabezas/colas. Calcular las estadísticas de $h_0=|heads-5|$ para el conjunto de datos. Bajo nulo (imparcial), para todas las secuencias de 0s y 1s (que todos tienen la misma probabilidad), calcular las estadísticas y ver cómo a menudo es mayor que $h_0$. Este es el p-valor. Hay $2^{10}=1024$ secuencias para generar.

Para el test de Kruskal-Wallis: Llame a $\omega_0$ el conjunto de datos y $h_0$ el valor de la KS estadísticas para el conjunto de datos.

Llame a $\omega$ una permutación de los 37 posibles valores. Para cada una de las $\omega$, atributo de las 12 de la primera a, el 9 siguientes a la B... Usted obtiene un conjunto de datos virtual también llamado $\omega$. Para cada una de las $\omega$ , calcular el valor de KW de estadísticas, decir $h(\omega)$. A continuación, la cuenta de cuantas veces este valor de $h(\omega)$ es mayor o igual a $h_0$. También se tendrán en cuenta el número total de permutaciones. Dividir, obtener el p-valor.

Cuántas $\omega$? Así el número de permutaciones: $37!\approx 10^{43}$ (Stirling de la fórmula). Un equipo habitual hace alrededor de $10^9$ atómico de operaciones por segundo y cada permutación tomaría en al menos 1000 tipo de operaciones de forma que se puede considerar que usted puede calcular el $10^6$ permutaciones por segundo. Esto no es factible.

Ahora, en su lugar puedes trabajan directamente en las combinaciones en lugar de permutaciones. Usted puede calcular el número de $\binom{37}{12}\binom{37-12}{9}...=\frac{37!}{12!9!...}\approx10^{22}$. Todavía no es factible.

Esto sólo describe el "ingenuo" algoritmos. Pero creo avanzados algoritmos de ideas (para los valores exactos) llegar a ser bastante difícil de entender, tan pronto como el objetivo es hacerlas factible incluso para valores tan pequeños como 37. Y que todavía necesitan intensivo de los recursos informáticos. Leer más: http://faculty.virginia.edu/kruskal-wallis/

Sin embargo no es necesario tener real "exacta" de los valores. El método habitual es el uso de un simple método de Monte Carlo: en lugar de probar todas las permutaciones/combinaciones, probamos $N$ de ellos recogidos al azar. Esto es muy simple de implementar. Converge a la real p-valor en $1\sqrt N$ en una manera que puede ser controlado fácilmente. Usted obtener la precisión que se desee en un tiempo razonable. En comparación con $\chi^2$ aproximación, que puede ser baja para el tamaño pequeño de la muestra (37, 12, 9...) es casi exacta, ya que no suponga $37\approx+\infty$, pero el uso de una $N$ tan grande como desee. Es lo que la mayoría de stat softwares de hacer.

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