Teste de Kolmogorov-Smirnov - Kolmogorov–Smirnov test

Ilustração da estatística Kolmogorov – Smirnov. A linha vermelha é um modelo CDF , a linha azul é um CDF empírico e a seta preta é a estatística K – S.

Em estatística , o teste de Kolmogorov-Smirnov ( teste K-S ou teste KS ) é um teste não paramétrico da igualdade de distribuições de probabilidade contínuas (ou descontínuas, consulte a Seção 2.2 ) e unidimensional que pode ser usado para comparar uma amostra com uma distribuição de probabilidade de referência (teste K – S de uma amostra) ou para comparar duas amostras (teste K – S de duas amostras). Tem o nome de Andrey Kolmogorov e Nikolai Smirnov .

A estatística de Kolmogorov-Smirnov quantifica a distância entre a função de distribuição empírica da amostra e a função de distribuição cumulativa da distribuição de referência, ou entre as funções de distribuição empírica de duas amostras. A distribuição nula desta estatística é calculada sob a hipótese nula de que a amostra é retirada da distribuição de referência (no caso de uma amostra) ou de que as amostras são retiradas da mesma distribuição (no caso de duas amostras). No caso de uma amostra, a distribuição considerada sob a hipótese nula pode ser contínua (ver Seção 2 ), puramente discreta ou mista (ver Seção 2.2 ). No caso de duas amostras (consulte a Seção 3 ), a distribuição considerada sob a hipótese nula é uma distribuição contínua, mas de outra forma irrestrita. No entanto, o teste de duas amostras também pode ser realizado em condições mais gerais que permitem descontinuidade, heterogeneidade e dependência entre as amostras.

O teste K – S de duas amostras é um dos métodos não paramétricos mais úteis e gerais para comparar duas amostras, pois é sensível às diferenças tanto na localização quanto na forma das funções de distribuição cumulativa empírica das duas amostras.

O teste de Kolmogorov – Smirnov pode ser modificado para servir como um teste de adequação . No caso especial de teste de normalidade da distribuição, as amostras são padronizadas e comparadas com uma distribuição normal padrão. Isso é equivalente a definir a média e a variância da distribuição de referência igual às estimativas da amostra, e sabe-se que usá-las para definir a distribuição de referência específica altera a distribuição nula da estatística de teste (consulte Teste com parâmetros estimados ). Vários estudos descobriram que, mesmo nessa forma corrigida, o teste é menos poderoso para testar a normalidade do que o teste de Shapiro-Wilk ou o teste de Anderson-Darling . No entanto, esses outros testes têm suas próprias desvantagens. Por exemplo, o teste de Shapiro-Wilk é conhecido por não funcionar bem em amostras com muitos valores idênticos.

Estatística de Kolmogorov-Smirnov

A função de distribuição empírica F n para n observações ordenadas independentes e identicamente distribuídas (iid) X i é definida como

onde é a função do indicador , igual a 1 se e igual a 0 caso contrário.

A estatística de Kolmogorov-Smirnov para uma dada função de distribuição cumulativa F ( x ) é

onde sup x é o supremo do conjunto de distâncias. Intuitivamente, a estatística considera a maior diferença absoluta entre as duas funções de distribuição em todos os valores de x .

Pelo teorema de Glivenko – Cantelli , se a amostra vem da distribuição F ( x ), então D n converge para 0 quase certamente no limite quando vai para o infinito. Kolmogorov reforçou esse resultado, fornecendo efetivamente a taxa dessa convergência (ver distribuição de Kolmogorov ). O teorema de Donsker fornece um resultado ainda mais forte.

Na prática, a estatística requer um número relativamente grande de pontos de dados (em comparação com outros critérios de adequação, como a estatística de teste de Anderson-Darling ) para rejeitar adequadamente a hipótese nula.

Distribuição Kolmogorov

Ilustração do PDF da distribuição Kolmogorov .

A distribuição de Kolmogorov é a distribuição da variável aleatória

onde B ( t ) é a ponte browniana . A função de distribuição cumulativa de K é dada por

que também pode ser expressa pela função teta de Jacobi . Tanto a forma da estatística do teste de Kolmogorov – Smirnov quanto sua distribuição assintótica sob a hipótese nula foram publicadas por Andrey Kolmogorov , enquanto uma tabela da distribuição foi publicada por Nikolai Smirnov . Relações de recorrência para a distribuição da estatística de teste em amostras finitas estão disponíveis.

Sob a hipótese nula de que a amostra vem da distribuição hipotética F ( x ),

na distribuição , onde B ( t ) é a ponte browniana . Se F é contínua, em seguida, sob a hipótese nula converge para a distribuição de Kolmogorov, que não depende de F . Este resultado também pode ser conhecido como teorema de Kolmogorov.

A precisão desse limite como uma aproximação do cdf exato de quando é finito não é muito impressionante: mesmo quando , o erro máximo correspondente é sobre ; esse erro aumenta para quando e para um quando totalmente inaceitável . No entanto, um expediente muito simples de substituição por

no argumento da função Jacobi teta reduz estes erros para , e respectivamente; tal precisão seria geralmente considerada mais do que adequada para todas as aplicações práticas.

O teste de adequação ou o teste de Kolmogorov – Smirnov podem ser construídos usando os valores críticos da distribuição de Kolmogorov. Este teste é assintoticamente válido quando . Ele rejeita a hipótese nula no nível se

de onde K α é encontrado

O poder assintótico desse teste é 1.

Algoritmos rápidos e precisos para calcular o cdf ou seu complemento para arbitrário e estão disponíveis em:

  • e para distribuições nulas contínuas com código em C e Java encontrados em.
  • para distribuição nula puramente discreta, mista ou contínua implementada no pacote KSgeneral do projeto R para computação estatística , que para uma determinada amostra também calcula a estatística de teste KS e seu valor p. A implementação alternativa de C ++ está disponível em.

Teste com parâmetros estimados

Se a forma ou os parâmetros de F ( x ) forem determinados a partir dos dados X i, os valores críticos determinados dessa maneira serão inválidos. Nesses casos, Monte Carlo ou outros métodos podem ser necessários, mas as tabelas foram preparadas para alguns casos. Detalhes para as modificações necessárias para a estatística de teste e para os valores críticos para a distribuição normal e a distribuição exponencial foram publicados, e publicações posteriores também incluem a distribuição Gumbel . O teste de Lilliefors representa um caso especial disso para a distribuição normal. A transformação do logaritmo pode ajudar a superar os casos em que os dados do teste de Kolmogorov não parecem se encaixar na suposição de que vieram da distribuição normal.

Usando parâmetros estimados, surge a questão de qual método de estimativa deve ser usado. Normalmente, esse seria o método de máxima verossimilhança, mas, por exemplo, para a distribuição normal, o MLE tem um grande erro de viés no sigma. Usar um ajuste de momento ou minimização KS em vez disso tem um grande impacto nos valores críticos e também algum impacto na potência de teste. Se precisarmos decidir para os dados de Student-T com df = 2 por meio do teste KS se os dados podem ser normais ou não, uma estimativa de ML com base em H 0 (os dados são normais, então usar o desvio padrão para a escala) daria muito distância KS maior do que um ajuste com KS mínimo. Nesse caso, devemos rejeitar H 0 , o que costuma ser o caso com MLE, porque o desvio padrão da amostra pode ser muito grande para os dados T-2, mas com a minimização de KS podemos obter ainda um KS muito baixo para rejeitar H 0 . No caso de Student-T, um teste KS modificado com estimativa de KS em vez de MLE torna o teste KS um pouco pior. No entanto, em outros casos, esse teste KS modificado leva a um poder de teste ligeiramente melhor.

Distribuição nula discreta e mista

Partindo do pressuposto de que é não decrescente e contínuo à direita, com um número contável (possivelmente infinito) de saltos, a estatística de teste KS pode ser expressa como:

Da continuidade à direita de , segue-se que e , portanto, a distribuição de depende da distribuição nula , ou seja, não é mais livre de distribuição como no caso contínuo. Portanto, um método rápido e preciso foi desenvolvido para calcular a distribuição exata e assintótica quando é puramente discreta ou misto, implementado em C ++ e no pacote KSgeneral da linguagem R . As funções , e computar também a estatística de teste KS e valores de p para as distribuições nulos puramente discretas, mistos ou contínuas e tamanhos de amostra arbitrário. O teste KS e seus valores p para distribuições nulas discretas e pequenos tamanhos de amostra também são calculados como parte do pacote dgof da linguagem R. Principais pacotes estatísticos entre os quais SAS e Stata implementam o teste KS sob a suposição de que é contínuo, o que é mais conservador se a distribuição nula não for realmente contínua (consulte Recursos). disc_ks_test()mixed_ks_test()cont_ks_test() PROC NPAR1WAY ksmirnov

Teste de Kolmogorov-Smirnov de duas amostras

Ilustração da estatística Kolmogorov – Smirnov de duas amostras. Cada linha vermelha e azul corresponde a uma função de distribuição empírica, e a seta preta é a estatística KS de duas amostras.

O teste de Kolmogorov-Smirnov também pode ser usado para testar se duas distribuições de probabilidade unidimensionais subjacentes diferem. Neste caso, a estatística Kolmogorov-Smirnov é

onde e são as funções de distribuição empírica da primeira e da segunda amostra, respectivamente, e é a função supremo .

Para grandes amostras, a hipótese nula é rejeitada no nível se

Onde e são os tamanhos da primeira e da segunda amostra, respectivamente. O valor de é fornecido na tabela abaixo para os níveis mais comuns de

0,20 0,15 0,10 0,05 0,025 0,01 0,005 0,001
1.073 1,138 1.224 1.358 1,48 1.628 1.731 1.949

e em geral por

para que a condição leia

Aqui, novamente, quanto maiores os tamanhos das amostras, mais sensível é o limite mínimo: Para uma determinada proporção de tamanhos de amostra (por exemplo ), o limite mínimo escala no tamanho de qualquer uma das amostras de acordo com sua raiz quadrada inversa.

Observe que o teste de duas amostras verifica se as duas amostras de dados vêm da mesma distribuição. Isso não especifica qual é a distribuição comum (por exemplo, se é normal ou não normal). Novamente, tabelas de valores críticos foram publicadas. Uma deficiência do teste univariado de Kolmogorov-Smirnov é que ele não é muito poderoso porque foi desenvolvido para ser sensível a todos os tipos possíveis de diferenças entre duas funções de distribuição. Alguns argumentam que o teste de Cucconi , originalmente proposto para comparar simultaneamente localização e escala, pode ser muito mais poderoso do que o teste de Kolmogorov-Smirnov ao comparar duas funções de distribuição.

Definir limites de confiança para a forma de uma função de distribuição

Embora o teste de Kolmogorov-Smirnov seja geralmente usado para testar se um dado F ( x ) é a distribuição de probabilidade subjacente de F n ( x ), o procedimento pode ser invertido para fornecer limites de confiança no próprio F ( x ). Se alguém escolher um valor crítico da estatística de teste D α tal que P ( D n  >  D α ) = α , então uma banda de largura ± D α em torno de F n ( x ) conterá inteiramente F ( x ) com probabilidade 1 -  α .

A estatística Kolmogorov-Smirnov em mais de uma dimensão

Um teste multivariado de Kolmogorov-Smirnov de qualidade de ajuste livre de distribuição foi proposto por Justel , Peña e Zamar (1997). O teste usa uma estatística que é construída usando a transformação de Rosenblatt e um algoritmo é desenvolvido para computá-la no caso bivariado. Um teste aproximado que pode ser facilmente calculado em qualquer dimensão também é apresentado.

A estatística do teste de Kolmogorov-Smirnov precisa ser modificada se um teste semelhante for aplicado a dados multivariados . Isso não é direto porque a diferença máxima entre duas funções de distribuição cumulativa conjunta não é geralmente a mesma que a diferença máxima de qualquer uma das funções de distribuição complementar. Assim, a diferença máxima será diferente dependendo de qual ou ou qualquer um dos outros dois arranjos possíveis é usado. Pode-se exigir que o resultado do teste usado não dependa da escolha feita.

Uma abordagem para generalizar a estatística de Kolmogorov-Smirnov para dimensões mais altas que atenda à preocupação acima é comparar os cdfs das duas amostras com todas as ordenações possíveis e obter o maior do conjunto de estatísticas K-S resultantes. Em d dimensões, existem 2 d −1 dessas ordenações. Uma dessas variações é devida a Peacock (veja também Gosset para uma versão 3D) e outra a Fasano e Franceschini (veja Lopes et al. Para uma comparação e detalhes computacionais). Os valores críticos para a estatística de teste podem ser obtidos por simulações, mas dependem da estrutura de dependência na distribuição conjunta.

Em uma dimensão, a estatística de Kolmogorov-Smirnov é idêntica à chamada discrepância estrela D, então outra extensão KS nativa para dimensões mais altas seria simplesmente usar D também para dimensões mais altas. Infelizmente, a discrepância em estrelas é difícil de calcular em dimensões elevadas.

Em 2021, foi descoberta a forma funcional da estatística do teste KS multivariada, o que simplificou o problema de estimar as probabilidades de cauda da estatística do teste KS multivariada, necessária para o teste estatístico. Para o caso multivariado, se F i é o i ésimo marginal contínuo de uma distribuição de probabilidade com k variáveis, então

portanto, a distribuição limite não depende das distribuições marginais.

Implementações

O teste de Kolmogorov-Smirnov (um ou dois testes de amostra verifica a igualdade das distribuições) é implementado em muitos programas de software:

  • O Mathematica possui o KolmogorovSmirnovTest .
  • O MATLAB possui o kstest em sua caixa de ferramentas de estatísticas.
  • O pacote R "KSgeneral" calcula as estatísticas de teste KS e seus valores p sob distribuição nula arbitrária, possivelmente discreta, mista ou contínua.
  • O pacote base de estatísticas de R implementa o teste como ks.test {stats} em seu pacote "stats".
  • SAS implementa o teste em seu procedimento PROC NPAR1WAY.
  • Python tem uma implementação deste teste fornecida por SciPy por funções estatísticas (scipy.stats).
  • SYSTAT (SPSS Inc., Chicago, IL)
  • Java tem uma implementação deste teste fornecida pelo Apache Commons .
  • KNIME tem um nó que implementa este teste com base na implementação Java acima.
  • Julia possui o pacote HypothesisTests.jl com a função ExactOneSampleKSTest (x :: AbstractVector {<: Real}, d :: UnivariateDistribution).
  • StatsDirect (StatsDirect Ltd, Manchester, UK) implementa todas as variantes comuns .
  • Stata (Stata Corporation, College Station, TX) implementa o teste no comando ksmirnov (teste de igualdade de distribuições de Kolmogorov – Smirnov).
  • PSPP implementa o teste em seu KOLMOGOROV-SMIRNOV (ou usando a função de atalho KS).
  • O Real Statistics Resource Pack para Excel executa o teste como KSCRIT e KSPROB.

A partir de 2021, esses programas não suportam o teste multivariado.

Veja também

Referências

Leitura adicional

  • Daniel, Wayne W. (1990). "Teste de uma amostra de Kolmogorov – Smirnov" . Estatística Não Paramétrica Aplicada (2ª ed.). Boston: PWS-Kent. pp. 319–330. ISBN 978-0-534-91976-4.
  • Eadie, WT; D. Drijard; FE James; M. Roos; B. Sadoulet (1971). Métodos Estatísticos em Física Experimental . Amsterdã: Holanda do Norte. pp. 269–271. ISBN 978-0-444-10117-4.
  • Stuart, Alan; Ord, Keith; Arnold, Steven [F.] (1999). Inferência Clássica e o Modelo Linear . Teoria Avançada de Estatística de Kendall. 2A (sexta ed.). Londres: Arnold. pp. 25,37–25,43. ISBN 978-0-340-66230-4. MR  1687411 .
  • Corder, GW; Foreman, DI (2014). Estatística não paramétrica: uma abordagem passo a passo . Wiley. ISBN 978-1118840313.
  • Stephens, MA (1979). “Teste de ajuste da distribuição logística com base na função de distribuição empírica”. Biometrika . 66 (3): 591–595. doi : 10.1093 / biomet / 66.3.591 .

links externos