Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

kstest

Prueba de una muestra Kolmogorov-Smirnov

Descripción

ejemplo

h = kstest(x) devuelve una decisión de prueba para la hipótesis nula de que los datos en vector proceden de una distribución normal estándar, con la alternativa de que no procede de dicha distribución, utilizando el archivo .xprueba Kolmogorov-Smirnov de una muestra El resultado es si la prueba rechaza la hipótesis nula en el nivel de significancia del 5%, o de otra manera.h10

ejemplo

h = kstest(x,Name,Value) devuelve una decisión de prueba para la prueba Kolmogorov-Smirnov de una muestra con opciones adicionales especificadas por uno o más argumentos de par nombre-valor. Por ejemplo, puede probar una distribución distinta de la normal estándar, cambiar el nivel de significancia o realizar una prueba unilateral.

ejemplo

[h,p] = kstest(___) también devuelve el valor -value de la prueba de hipótesis, utilizando cualquiera de los argumentos de entrada de las sintaxis anteriores.pp

ejemplo

[h,p,ksstat,cv] = kstest(___) también devuelve el valor de la estadística de prueba y el valor crítico aproximado de la prueba.ksstatcv

Ejemplos

contraer todo

Realice la prueba Kolmogorov-Smirnov de una muestra utilizando .kstest Confirme la decisión de prueba comparando visualmente la función de distribución acumulativa empírica (cdf) con la cdf normal estándar.

Cargue el conjunto de datos.examgrades Cree un vector que contenga la primera columna de los datos de calificación del examen.

load examgrades test1 = grades(:,1);

Pruebe la hipótesis nula de que los datos provienen de una distribución normal con una media de 75 y una desviación estándar de 10. Utilice estos parámetros para centrar y escalar cada elemento del vector de datos, ya que comprueba una distribución normal estándar de forma predeterminada.kstest

x = (test1-75)/10; h = kstest(x)
h = logical
   0

El valor devuelto de indica que no puede rechazar la hipótesis nula en el nivel de significancia predeterminado del 5%.h = 0kstest

Trazar el cdf empírico y el cdf normal estándar para una comparación visual.

cdfplot(x) hold on x_values = linspace(min(x),max(x)); plot(x_values,normcdf(x_values,0,1),'r-') legend('Empirical CDF','Standard Normal CDF','Location','best')

La figura muestra la similitud entre el cdf empírico del vector de datos centrado y escalado y el cdf de la distribución normal estándar.

Cargue los datos de ejemplo. Cree un vector que contenga la primera columna de los datos de calificaciones del examen de los alumnos.

load examgrades; x = grades(:,1);

Especifique la distribución hipotética como una matriz de dos columnas. La columna 1 contiene el vector de datos.x La columna 2 contiene valores cdf evaluados en cada valor en busca dex

<math display="block">
<mrow>
<mi>t</mi>
</mrow>
</math>
distribución con un parámetro de ubicación de 75, un parámetro de escala de 10 y un grado de libertad.

test_cdf = [x,cdf('tlocationscale',x,75,10,1)];

Compruebe si los datos proceden de la distribución hipotética.

h = kstest(x,'CDF',test_cdf)
h = logical
   1

El valor devuelto de indica que rechaza la hipótesis nula en el nivel de significancia predeterminado del 5%.h = 1kstest

Cargue los datos de ejemplo. Cree un vector que contenga la primera columna de los datos de calificaciones del examen de los alumnos.

load examgrades; x = grades(:,1);

Cree un objeto de distribución de probabilidad para probar si los datos provienen de la

<math display="block">
<mrow>
<mi>t</mi>
</mrow>
</math>
distribución con un parámetro de ubicación de 75, un parámetro de escala de 10 y un grado de libertad.

test_cdf = makedist('tlocationscale','mu',75,'sigma',10,'nu',1);

Pruebe la hipótesis nula de que los datos provienen de la distribución hipotética.

h = kstest(x,'CDF',test_cdf)
h = logical
   1

El valor devuelto de indica que rechaza la hipótesis nula en el nivel de significancia predeterminado del 5%.h = 1kstest

Cargue los datos de ejemplo. Cree un vector que contenga la primera columna de las calificaciones del examen de los alumnos.

load examgrades; x = grades(:,1);

Cree un objeto de distribución de probabilidad para probar si los datos provienen de la

<math display="block">
<mrow>
<mi>t</mi>
</mrow>
</math>
distribución con un parámetro de ubicación de 75, un parámetro de escala de 10 y un grado de libertad.

test_cdf = makedist('tlocationscale','mu',75,'sigma',10,'nu',1);

Pruebe la hipótesis nula de que los datos provienen de la distribución hipotética en el nivel de significancia del 1%.

[h,p] = kstest(x,'CDF',test_cdf,'Alpha',0.01)
h = logical
   1

p = 0.0021 

El valor devuelto de indica que rechaza la hipótesis nula en el nivel de significancia del 1%.h = 1kstest

Cargue los datos de ejemplo. Cree un vector que contenga la tercera columna de la matriz de datos de devolución de stock.

load stockreturns; x = stocks(:,3);

Pruebe la hipótesis nula de que los datos provienen de una distribución normal estándar, contra la hipótesis alternativa de que la población cdf de los datos es mayor que el cdf normal estándar.

[h,p,k,c] = kstest(x,'Tail','larger')
h = logical
   1

p = 5.0854e-05 
k = 0.2197 
c = 0.1207 

El valor devuelto de indica que rechaza la hipótesis nula a favor de la hipótesis alternativa en el nivel de significancia predeterminado del 5%.h = 1kstest

Trazar el cdf empírico y el cdf normal estándar para una comparación visual.

[f,x_values] = ecdf(x); J = plot(x_values,f); hold on; K = plot(x_values,normcdf(x_values),'r--'); set(J,'LineWidth',2); set(K,'LineWidth',2); legend([J K],'Empirical CDF','Standard Normal CDF','Location','SE');

La gráfica muestra la diferencia entre el cdf empírico del vector de datos y el cdf de la distribución normal estándar.x

Argumentos de entrada

contraer todo

Datos de muestra, especificados como vectores.

Tipos de datos: single | double

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos. es el nombre del argumento y es el valor correspondiente. deben aparecer entre comillas.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como .Name1,Value1,...,NameN,ValueN

Ejemplo: especifica una prueba utilizando la hipótesis alternativa de que el cdf de la población de la que se extraen los datos de la muestra es mayor que el cdf de la distribución hipotética, realizada en el nivel de significancia del 1%.'Tail','larger','Alpha',0.01

Nivel de significancia de la prueba de hipótesis, especificado como el par separado por comas que consta de y un valor escalar en el rango (0,1).'Alpha'

Ejemplo: 'Alpha',0.01

Tipos de datos: single | double

cdf de distribución continua hipotética, especificó el par separado por comas que consta de una matriz de dos columnas o un objeto de distribución de probabilidad continua.'CDF' Cuando es una matriz, la columna 1 contiene un conjunto de valores posibles y la columna 2 contiene los valores de función de distribución acumulativa hipotéticas correspondientes ( ).CDFxGx El cálculo es más eficaz si se especifica de tal manera que la columna 1 contiene los valores en el vector de datos .CDFx Si hay valores en no encontrados en la columna 1 de , se aproxima ( ) por interpolación.xCDFkstestGx Todos los valores en deben estar en el intervalo entre los valores más pequeños y más grandes en la primera columna de .xCDF De forma predeterminada, comprueba una distribución normal estándar.kstest

Solo es válido para funciones de distribución acumulativa continua y requiere ser predeterminado.prueba Kolmogorov-Smirnov de una muestraCDF El resultado no es exacto si se estima a partir de los datos.CDF Para probar con la distribución normal, lognormal, extrema, Weibull o exponencial sin especificar parámetros de distribución, utilice en su lugar.xlillietest

Tipos de datos: single | double

Tipo de hipótesis alternativa según la evaluación, especificada como el par separado por comas que consta de y uno de los siguientes.'Tail'

'unequal'Pruebe la hipótesis alternativa de que el cdf de la población de la que se extrae no es igual al cdf de la distribución hipotética.x
'larger'Pruebe la hipótesis alternativa de que el cdf de la población de la que se extrae es mayor que el cdf de la distribución hipotética.x
'smaller'Pruebe la hipótesis alternativa de que el cdf de la población de la que se extrae es menor que el cdf de la distribución hipotética.x

Si los valores del vector de datos tienden a ser mayores de lo esperado de la distribución hipotética, la función de distribución empírica de tiende a ser más pequeña y viceversa.xx

Ejemplo: 'Tail','larger'

Argumentos de salida

contraer todo

Resultado de la prueba de hipótesis, devuelto como un valor lógico.

  • Si , esto indica el rechazo de la hipótesis nula en el nivel de significancia.h= 1Alpha

  • Si , esto indica una falla al rechazar la hipótesis nula en el nivel de significancia.h= 0Alpha

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

Estadística de prueba de la prueba de hipótesis, devuelta como un valor escalar no negativo.

Valor crítico, devuelto como un valor escalar no negativo.

Más acerca de

contraer todo

Prueba Kolmogorov-Smirnov de una muestra

La prueba Kolmogorov-Smirnov de una muestra es una prueba no paramétrica de la hipótesis nula de que la población cdf de los datos es igual al cdf hipotético.

La prueba de dos lados para funciones cdf "desiguales" prueba la hipótesis nula con la alternativa de que la población cdf de los datos no es igual al cdf hipotética. La estadística de prueba es la diferencia absoluta máxima entre el cdf empírico calculado a partir de y el cdf hipotético:x

D*=maxx(|F^(x)G(x)|),

Dónde F^(x) es el cdf empírico y G(x) es el cdf de la distribución hipotética.

La prueba unilateral para una función cdf "más grande" prueba la hipótesis nula con la alternativa de que la población cdf de los datos es mayor que el cdf hipotética. La estadística de prueba es la cantidad máxima por la cual el cdf empírico calculado a partir de supera el cdf hipotético:x

D*=maxx(F^(x)G(x)).

La prueba unilateral para una función cdf "más pequeña" prueba la hipótesis nula con la alternativa de que la población cdf de los datos es menor que el cdf hipotética. La estadística de prueba es la cantidad máxima por la cual el cdf hipotético supera el cdf empírico calculado a partir de:x

D*=maxx(G(x)F^(x)).

calcula el valor crítico utilizando una fórmula aproximada o por interpolación en una tabla.kstestcv La fórmula y la tabla cubren el rango de la parte de la doscara para las pruebas de dos lados y el de la tabla para las pruebas unilaterales. se devuelve como si estuviera fuera de este rango.0.01alpha0.20.005alpha0.1cvNaNalpha

Algoritmos

decide rechazar la hipótesis nula comparando el valor -value con el nivel de significancia, no comparando la estadística de prueba con el valor crítico.kstestppAlphaksstatcv Dado que es aproximado, la comparación con ocasionalmente conduce a una conclusión diferente a la de comparar con .cvksstatcvpAlpha

Referencias

[1] Massey, F. J. “The Kolmogorov-Smirnov Test for Goodness of Fit.” Journal of the American Statistical Association. Vol. 46, No. 253, 1951, pp. 68–78.

[2] Miller, L. H. “Table of Percentage Points of Kolmogorov Statistics.” Journal of the American Statistical Association. Vol. 51, No. 273, 1956, pp. 111–121.

[3] Marsaglia, G., W. Tsang, and J. Wang. “Evaluating Kolmogorov’s Distribution.” Journal of Statistical Software. Vol. 8, Issue 18, 2003.

Consulte también

| |

Introducido antes de R2006a