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 Kolmogorov-Smirnov de una muestra

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.xprueba de Kolmogorov-Smirnov de una muestra El resultado es que si la prueba rechaza la hipótesis nula en el nivel de significancia del 5%, o de otro modo.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 de Kolmogorov-Smirnov de una muestra mediante.kstest Confirme la decisión de prueba comparando visualmente la función de distribución acumulativa empírica (CDF) con el 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 las pruebas para 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 la CDF empírica del vector de datos centrado y escalado y la 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 para una hipótesis del estudiantex

<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)];

Pruebe si 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 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 un alumno

<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 un alumno

<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 retorno de stock.

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

Pruebe la hipótesis nula de que los datos provienen de una distribución normal estándar, frente a la hipótesis alternativa de que el CDF de la población 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 trama muestra la diferencia entre la CDF empírica del vector de datos y la CDF de la distribución normal estándar.x

Argumentos de entrada

contraer todo

Datos de ejemplo, especificados como vector.

Tipos de datos: single | double

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.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 la CDF de la población de la que se dibujan los datos de la muestra es mayor que la CDF de la distribución hipotética, llevada a cabo 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 consistente en 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 acumulada hipotéticos correspondientes ().CDFxGx El cálculo es más eficaz si se especifica tal que la columna 1 contiene los valores del vector de datos.CDFx Si hay valores que no se encuentran 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, las pruebas para una distribución normal estándar.kstest

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

Tipos de datos: single | double

Tipo de hipótesis alternativa a evaluar, especificada como el par separado por comas que consta de y uno de los siguientes.'Tail'

'unequal'Pruebe la hipótesis alternativa de que la CDF de la población de la que se extrae no es igual a la CDF de la distribución hipotética.x
'larger'Pruebe la hipótesis alternativa de que la CDF de la población de la que se extrae es mayor que la CDF de la distribución hipotética.x
'smaller'Pruebe la hipótesis alternativa de que la CDF de la población de la que se extrae es menor que la 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 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 un error 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 un estadístico de prueba tan extremo como, o más extremo que, el valor observado bajo la hipótesis nula.pp Los valores pequeños de emitir dudas sobre 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 de 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 el CDF de la población de los datos es igual al CDF presumido.

La prueba bilateral para las funciones "desiguales" de CDF comprueba la hipótesis nula contra la alternativa de que el CDF de la población de los datos no es igual al CDF hipotético. El estadístico de prueba es la diferencia absoluta máxima entre el CDF empírico calculado a partir de y el CDF presumido:x

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

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

La prueba unilateral de una función CDF "más grande" comprueba la hipótesis nula contra la alternativa de que la CDF de la población de los datos sea mayor que la CDF hipotética. El estadístico de prueba es la cantidad máxima por la cual el CDF empírico calculado de excede el CDF presumido:x

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

La prueba unilateral de una función CDF "más pequeña" comprueba la hipótesis nula contra la alternativa de que la CDF de la población de los datos sea menor que la CDF hipotética. El estadístico de prueba es la cantidad máxima por la cual el CDF presumido excede 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 mesa cubren el rango ≤ ≤ para pruebas de dos caras y ≤ ≤ para pruebas unilaterales. se devuelve como si fuera de este intervalo.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, comparando con ocasionalmente conduce a una conclusión diferente a la comparación 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