Teste Kolmogorov-Smirnov em Python para adequação

Sep 29 2020

Estou tentando obter as melhores distribuições para meus dados. O encaixe é finalizado conforme a figura abaixo, mas preciso de uma medição para escolher o melhor modelo. Eu comparei a qualidade do ajuste com um valor qui-quadrado e testei a diferença significativa entre a distribuição observada e ajustada com um teste de Kolmogorov-Smirnov (KS). Pesquisei algumas das possíveis soluções 1 , 2 , 3 , mas não obtive minha resposta. A partir dos resultados da figura abaixo:

  1. Se p-valuefor maior que k-statistic, isso significa que podemos aceitar a hipótese ou os dados se ajustam bem à distribuição?

  2. Como alternativa, é ok para comparar level of significance(a=0.005)com p-valuee decidir a aceitação ou rejeição de hypothsis? Se p-valuefor menor que a, então é muito provável que as duas distribuições sejam diferentes.

  3. Pois Kolmogorov-Smirnov test, é fundamental padronizar os dados (-1,1)?

  4. A julgar pela estatística KS e pelos valores P, o que exponnormmelhor se encaixa nos dados. Isso está correto?

Calculei o valor P da seguinte maneira:

for distribution in dist_names:
    # Set up distribution and get fitted distribution parameters
    dist = getattr(scipy.stats, distribution)
    param = dist.fit(y_std)   
    p = scipy.stats.kstest(y_std, distribution, args=param)[1]
    p = np.around(p, 5)
    p_values.append(p) 

Respostas

2 LinxingYao Sep 29 2020 at 10:10
  1. Não, você pode comparar a estatística K com o valor crítico na tabela de valor crítico do teste K ou comparar o valor p com o nível de significância, que é 0,005 no seu caso.
  2. Certo, em estatísticas, se o valor p for pequeno, rejeitamos o nulo e aceitamos o alternativo.
  3. Não, se padronizarmos os dados antes de aplicar o teste KS, perderemos informações sobre a distribuição dos dados brutos. Por exemplo, se os dados vêm de uma distribuição geométrica, após a normalização, eles irão convergir na distribuição normal (0,1) conforme o número de amostras vai ao infinito.
  4. Sim, porque o valor p> a neste caso, não rejeitamos nosso nulo e aceitamos que os dados de entrada tenham a mesma distribuição que exponnorm.
    A propósito, esta questão deveria pertencer ao Cross Validated, pois está mais ou menos relacionada ao conhecimento estatístico. Espero que esta resposta ajude você.