Main Content

kruskalwallis

Prueba de Kruskal-Wallis

Descripción

ejemplo

p = kruskalwallis(x) devuelve el valor p para la hipótesis nula de que los datos de cada columna de la matriz x proceden de la misma distribución, utilizando la prueba de Kruskal-Wallis. La hipótesis alternativa es que no todas las muestras proceden de la misma distribución. La prueba de Kruskal-Wallis proporciona una alternativa no paramétrica al ANOVA de un factor. Para obtener más información, consulte Prueba de Kruskal-Wallis.

ejemplo

p = kruskalwallis(x,group) devuelve el valor p para una prueba de la hipótesis nula de que los datos de cada grupo categórico, especificados por la variable de agrupación group, proceden de la misma distribución. La hipótesis alternativa es que no todos los grupos proceden de la misma distribución.

ejemplo

p = kruskalwallis(x,group,displayopt) devuelve el valor p de la prueba y le permite mostrar o suprimir la tabla ANOVA y la gráfica de caja.

ejemplo

[p,tbl,stats] = kruskalwallis(___) también devuelve la tabla ANOVA como el arreglo de celdas tbl y la estructura stats que contiene información sobre las estadísticas de la prueba.

Ejemplos

contraer todo

Cree dos objetos diferentes de distribución de probabilidad normal. La primera distribución tiene mu = 0 y sigma = 1 y la segunda distribución tiene mu = 2 y sigma = 1.

pd1 = makedist('Normal');
pd2 = makedist('Normal','mu',2,'sigma',1);

Cree una matriz de datos de muestra generando números aleatorios a partir de estas dos distribuciones.

rng('default'); % for reproducibility
x = [random(pd1,20,2),random(pd2,20,1)];

Las dos primeras columnas de x contienen datos generados a partir de la primera distribución, mientras que la tercera columna contiene datos generados a partir de la segunda distribución.

Pruebe la hipótesis nula de que los datos de muestra de cada columna de x proceden de la misma distribución.

p = kruskalwallis(x)

p = 3.6896e-06

El valor devuelto de p indica que kruskalwallis rechaza la hipótesis nula de que las tres muestras de datos proceden de la misma distribución a un nivel de significación del 1%. La tabla ANOVA proporciona resultados adicionales de las pruebas y la gráfica de cajas presenta visualmente las estadísticas descriptivas de cada columna de x.

Cree dos objetos diferentes de distribución de probabilidad normal. La primera distribución tiene mu = 0 y sigma = 1. La segunda distribución tiene mu = 2 y sigma = 1.

pd1 = makedist('Normal');
pd2 = makedist('Normal','mu',2,'sigma',1);

Cree una matriz de datos de muestra generando números aleatorios a partir de estas dos distribuciones.

rng('default'); % for reproducibility
x = [random(pd1,20,2),random(pd2,20,1)];

Las dos primeras columnas de x contienen datos generados a partir de la primera distribución, mientras que la tercera columna contiene datos generados a partir de la segunda distribución.

Pruebe la hipótesis nula de que los datos de muestra de cada columna de x proceden de la misma distribución. Suprima las visualizaciones de salida y genere la estructura stats para utilizarla en pruebas posteriores.

[p,tbl,stats] = kruskalwallis(x,[],'off')
p = 3.6896e-06
tbl=4×6 cell array
    {'Source' }    {'SS'        }    {'df'}    {'MS'        }    {'Chi-sq'  }    {'Prob>Chi-sq'}
    {'Columns'}    {[7.6311e+03]}    {[ 2]}    {[3.8155e+03]}    {[ 25.0200]}    {[ 3.6896e-06]}
    {'Error'  }    {[1.0364e+04]}    {[57]}    {[  181.8228]}    {0x0 double}    {0x0 double   }
    {'Total'  }    {[     17995]}    {[59]}    {0x0 double  }    {0x0 double}    {0x0 double   }

stats = struct with fields:
       gnames: [3x1 char]
            n: [20 20 20]
       source: 'kruskalwallis'
    meanranks: [26.7500 18.9500 45.8000]
         sumt: 0

El valor devuelto de p indica que la prueba rechaza la hipótesis nula al nivel de significación del 1%. Puede utilizar la estructura stats para hacer pruebas de seguimiento adicionales. El arreglo de celdas tbl contiene los mismos datos que la tabla gráfica ANOVA, incluidas las etiquetas de columnas y filas.

Realice una prueba de seguimiento para identificar qué muestra de datos procede de una distribución diferente.

c = multcompare(stats);
Note: Intervals can be used for testing but are not simultaneous confidence intervals.

Muestre los resultados de la comparación múltiple en una tabla.

tbl = array2table(c,"VariableNames", ...
    ["Group A","Group B","Lower Limit","A-B","Upper Limit","P-value"])
tbl=3×6 table
    Group A    Group B    Lower Limit     A-B      Upper Limit     P-value  
    _______    _______    ___________    ______    ___________    __________

       1          2         -5.1435         7.8       20.744         0.33446
       1          3         -31.994      -19.05      -6.1065       0.0016282
       2          3         -39.794      -26.85      -13.906      3.4768e-06

Los resultados indican que existe una diferencia significativa entre los grupos 1 y 3, por lo que la prueba rechaza la hipótesis nula de que los datos de estos dos grupos proceden de la misma distribución. Lo mismo ocurre con los grupos 2 y 3. Sin embargo, no hay una diferencia significativa entre los grupos 1 y 2, por lo que la prueba no rechaza la hipótesis nula de que estos dos grupos proceden de la misma distribución. Por lo tanto, estos resultados sugieren que los datos de los grupos 1 y 2 proceden de la misma distribución, y los datos del grupo 3 proceden de una distribución diferente.

Cree un vector, strength, que contenga mediciones de la resistencia de vigas metálicas. Cree un segundo vector, alloy, que indique el tipo de aleación metálica de la que está hecha la viga correspondiente.

strength = [82 86 79 83 84 85 86 87 74 82 ...
            78 75 76 77 79 79 77 78 82 79];

alloy = {'st','st','st','st','st','st','st','st',...
         'al1','al1','al1','al1','al1','al1',...
         'al2','al2','al2','al2','al2','al2'};

Pruebe la hipótesis nula de que las mediciones de la resistencia del haz tienen la misma distribución en las tres aleaciones.

p = kruskalwallis(strength,alloy,'off')
p = 0.0018

El valor devuelto de p indica que la prueba rechaza la hipótesis nula al nivel de significación del 1%.

Argumentos de entrada

contraer todo

Datos de muestra para la prueba de hipótesis, especificados como vector o matriz de m por n. Si x es una matriz de m por n, cada una de las columnas de n representa una muestra independiente que contiene m observaciones mutuamente independientes.

Tipos de datos: single | double

Variable de agrupación, especificada como un vector numérico o lógico, un arreglo de caracteres o cadenas o un arreglo de celdas de vectores de caracteres.

  • Si x es un vector, cada elemento de group identifica el grupo al que pertenece el elemento correspondiente de x y group debe ser un vector de la misma longitud que x. Si una fila de group contiene un valor vacío, esa fila y la observación correspondiente de x se ignoran. Los valores NaN en x o group se ignoran de forma similar.

  • Si x es una matriz, cada columna de x representa un grupo diferente y puede utilizar group para especificar etiquetas para estas columnas. El número de elementos de group y el número de columnas de x deben ser iguales.

Las etiquetas contenidas en group también anotan la gráfica de caja.

Ejemplo: {'red','blue','green','blue','red','blue','green','green','red'}

Tipos de datos: single | double | logical | char | string | cell

Opción de visualización, especificada como 'on' u 'off'. Si displayopt es 'on', kruskalwallis muestra las siguientes figuras:

  • Una tabla ANOVA que contenga las sumas de los cuadrados, los grados de libertad y otras cantidades calculadas a partir de las clasificaciones de los datos de x.

  • Una gráfica de caja de los datos de cada columna de la matriz de datos x. Las gráficas de caja se basan en los valores reales de los datos en lugar de en las clasificaciones.

Si displayopt es 'off', kruskalwallis no muestra estas figuras.

Si especifica un valor para displayopt, debe especificar también un valor para group. Si no tiene una variable de agrupación, especifique group como [].

Ejemplo: 'off'

Argumentos de salida

contraer todo

Valor p de la prueba, devuelto como un valor de escalar en el rango [0,1]. p es la probabilidad de observar una estadística de prueba tan extrema o más que el valor observado bajo la hipótesis nula. Los valores pequeños de p ponen en duda la validez de la hipótesis nula.

Tabla ANOVA de resultados de la prueba, devuelta como un arreglo de celdas. tbl incluye las sumas de cuadrados, los grados de libertad y otras cantidades calculadas a partir de las clasificaciones de los datos de x, así como las etiquetas de las columnas y filas.

Datos de prueba, devueltos como una estructura. Puede realizar pruebas de comparación múltiple de seguimiento en pares de medianas de muestra utilizando multcompare, con stats como valor de entrada.

Más acerca de

contraer todo

Prueba de Kruskal-Wallis

La prueba de Kruskal-Wallis es una versión no paramétrica del ANOVA de un factor clásico y una ampliación de la prueba de suma de rangos de Wilcoxon a más de dos grupos. La prueba de Kruskal-Wallis es válida para datos que tienen dos o más grupos. Compara las medianas de los grupos de datos en x para determinar si las muestras proceden de la misma población (o, equivalentemente, de poblaciones diferentes con la misma distribución).

La prueba de Kruskal-Wallis utiliza clasificaciones de los datos, en lugar de valores numéricos, para calcular las estadísticas de la prueba. Encuentra las clasificaciones ordenando los datos de menor a mayor en todos los grupos y tomando el índice numérico de este orden. La clasificación de una observación empatada es igual a la clasificación media de todas las observaciones empatadas con ella. La estadística F utilizada en el ANOVA de un factor clásico se sustituye por una estadística de chi-cuadrado y el valor p mide la significación de la estadística de chi-cuadrado.

La prueba de Kruskal-Wallis asume que todas las muestras proceden de poblaciones que tienen la misma distribución continua, aparte de las ubicaciones posiblemente diferentes debidas a efectos de grupo, y que todas las observaciones son mutuamente independientes. Por el contrario, el ANOVA de un factor clásico sustituye el primer supuesto por el supuesto más estricto de que las poblaciones tienen distribuciones normales.

Historial de versiones

Introducido antes de R2006a