He escrito el código en MATLAB para un Prueba de Chi-Cuadrado. Deseo obtener los valores de P como 0.897 o 0.287 y así sucesivamente, pero mis resultados son demasiado pequeños. A continuación es mi código:

pd = fitdist(sample, 'weibull');
[h,p,st] = chi2gof(sample,'CDF',pd)

También he intentado usar el ANUNCIO de prueba con el mismo resultado:

dist = makedist('Weibull', 'a',A, 'b',B);
[h,p,ad,cv] = adtest(sample, 'Distribution',dist)

A continuación es un histograma de los datos con una cocina equipada función de densidad de Weibull (parámetros de Weibull son A=4.0420 y B=2.0853)

Chi-cuadrado de la prueba de

  • hola @Lucas Peterson.. nadie ha respondido a mi pregunta.. ¿tienes alguna sugerencia?
  • usted no puede forzar a que el valor p de la prueba, se acepta o rechaza la hipótesis.
InformationsquelleAutor fredd | 2014-07-05

1 Comentario

  1. 2

    Cuando el p-valor es menor que un determinado nivel de significación (el valor predeterminado es 5% o 0,05), esto significa que el hipótesis nula es rechazado (que en su caso significa que la muestra no proviene de un Distribución de Weibull).

    La chi2gof función de la primera variable de salida h denota el resultado de la prueba, donde h=1 significa que la prueba se rechaza la hipótesis nula en el nivel de significación.

    Ejemplo:

    sample = rand(1000,1);           % sample from Uniform distribution
    pd = fitdist(sample, 'weibull');
    [h,p,st] = chi2gof(sample, 'CDF',pd, 'Alpha',0.05)

    La prueba claramente rechaza H0 y se concluye que los datos no provenía de una distribución de Weibull:

    h =
         1             % 1: H1 (alternate hypo), 0: H0 (null hypo)
    
    p =
       2.8597e-27      % note that p << 0.05
    
    st = 
        chi2stat: 141.1922
              df: 7
           edges: [0.0041 0.1035 0.2029 0.3023 0.4017 0.5011 0.6005 0.6999 0.7993 0.8987 0.9981]
               O: [95 92 92 97 107 110 102 95 116 94]
               E: [53.4103 105.6778 130.7911 136.7777 129.1428 113.1017 93.1844 72.8444 54.3360 110.7338]

    Siguiente que vamos a intentar de nuevo con una muestra de conformación:

    >> sample = wblrnd(0.5, 2, [1000,1]);   % sample from a Weibull distribution
    
    >> pd = fitdist(sample, 'weibull')
    pd = 
      WeibullDistribution
    
      Weibull distribution
        A = 0.496413   [0.481027, 0.512292]
        B =  2.07314   [1.97524, 2.17589]
    
    >> [h,p] = chi2gof(sample, 'CDF',pd, 'Alpha',0.05)
    h =
         0
    p =
        0.7340

    la prueba ahora claramente pasa con un alto valor-p.


    EDICIÓN:

    Mirando el histograma se ha demostrado, sí parece que los datos siguen una distribución de Weibull, aunque puede haber casos de valores atípicos (mira en el lado derecho del histograma), lo que podría explicar por qué usted está recibiendo malas p-valores. Considere la posibilidad de preprocesamiento de los datos para manejar extrema valores atípicos..

    Este es un ejemplo donde yo simular valores atípicos:

    % 5000 samples from a Weibull distribution
    pd = makedist('Weibull', 'a',4.0420, 'b',2.0853);
    sample = random(pd, [5000 1]);
    %sample = wblrnd(4.0420, 2.0853, [5000 1]);
    
    % add 20 outlier instances
    sample(1:20) = [rand(10,1)+15; rand(10,1)+25];
    
    % hypothesis tests using original distribution
    [h,p,st] = chi2gof(sample, 'CDF',pd, 'Alpha',0.05)
    [h,p,ad,cv] = adtest(sample, 'Distribution',pd)
    
    % hypothesis tests using empirical distribution
    [h,p,st] = chi2gof(sample, 'CDF',fitdist(sample,'Weibull'))
    [h,p,ad,cv] = adtest(sample, 'Distribution', 'Weibull')
    
    % show histogram
    histfit(sample, 20, 'Weibull')

    Chi-cuadrado de la prueba de

    % chi-squared test
    h =
         1
    p =
        0.0382
    st = 
        chi2stat: 8.4162
              df: 3
           edges: [0.1010 2.6835 5.2659 7.8483 25.9252]
               O: [1741 2376 764 119]
               E: [1.7332e+03 2.3857e+03 788.6020 92.5274]
    
    
    % AD test
    h =
         1
    p =
       1.2000e-07
    ad =
       Inf
    cv =
        2.4924

    Los valores atípicos están causando la distribución de pruebas de error (hipótesis nula rechazado). Todavía no podía reproducir conseguir un NaN p-valor (puedes querer comprobar este una pregunta relacionada con la en las Estadísticas.SE acerca llegar NaN p-valores)..

    • hola @Amro, cuando puedo visualizar el PDF de weibull, se ajustan bastante bien mis datos….esta es la razón por la que me estoy encontrando de pescado..he probado con AD y también los mismos resultados.!la muestra=N; dist = makedist(‘Weibull’,’a’,pd3.ParameterValues(1),’b’,pd3.ParameterValues(2)) [h,p,ad,cv]= adtest(ejemplo, «Distribución», dist)
    • lo que hace h=0 y p=NaN significa entonces?
    • puedes mostrar la salida de decir hist(sample,20)? ¿Usted sabe de antemano los parámetros de la distribución de Weibull de la forma/escala, tal vez el «ajuste de la distribución de la» parte no está convergiendo en los buenos valores?
    • todos los hipótesis de prueba funciones en las Estadísticas de la caja de herramientas de seguir el mismo convención, H=0 implica que la hipótesis nula es aceptada, y H=1 significa que se rechaza la hipótesis nula (en el nivel de significación se especifica). En cuanto a por qué usted obtener NaN p-valor, tal vez el cálculo degenera porque intermedio demasiado grande/pequeño de los valores extremos se generan en algún lugar en el proceso, sólo una suposición..
    • hola.. hist(ejemplo,20) se muestra un histograma con el tamaño de un recipiente de 20…. permítanme mostrar u mis datos se ajustan con los parámetros weibull.. sí quiero decir, puedo generar los parámetros de weibull.
    • sí, por favor, edita tu pregunta anterior y agregar un gráco que muestra la distribución de los datos. También si usted tiene conocimiento de los parámetros de la distribución, por favor mención a ellos. Por el camino, puedes querer jugar con el dfittool herramienta para obtener una confirmación visual..
    • yo lo hice ya el uso de dfittool, pero no ayuda en las pruebas.. AD o KS o CS.
    • véase mi edición. Yo creo que hay valores atípicos en los datos que podrían estar sesgando los resultados de las pruebas..
    • sí, tienes razón, para todas las 3 pruebas cuando me preprocesar los datos de mi yo ya no recibir NaN para la p..a pesar de que mis valores de p se quedan pequeñas aunque..

Dejar respuesta

Please enter your comment!
Please enter your name here