Kolmogorov-Smirnov bidimensional

13

Gostaria de executar alguns testes bidimensionais de Kolmogorov-Smironov para determinar se uma distribuição bidimensional se encaixa com uma referência.

Existe algum pacote ou aplicativo que eu possa usar de maneira relativamente direta? Ou existe um algoritmo diferente que é preferível? Eu tenho apenas um conhecimento estatístico básico.

Manuel J Gomez
fonte
Talvez esteja faltando alguma coisa, mas acho que o teste de Kolmogorov – Smirnov se aplica a distribuições unidimensionais. Se você estiver interessado em uma das extensões da proposta (existem várias porque não há extensão natural para o caso multivariado), especifique qual.
1
Prefiro dizer que existe uma extensão natural para o caso multivariado, mas envolve a distribuição deonde K é o processo de Kiefer (ponte browniana bidimensional) e essa distribuição é muito conhecida. sup|K(t)|K
Stéphane Laurent

Respostas:

6

Uma extensão bidimensional do teste de Kolmogorov-Smirnov foi descrita por Justel, Pena e Zamar em um "teste multivariado de Komogorov-Smirnov de qualidade do ajuste" . Os comentários do @ Procrastinator sugerem que pode haver outras propostas desse tipo.

No entanto, eu não vi um pacote com uma implementação direta.

Dependendo do que você deseja fazer, o kde.test () no pacote ks do Tarn Duong para R pode ser mais útil.

Peter Ellis
fonte
6

Implementação Python

Eu escrevi uma implementação python usando numpy. Você pode encontrar o código aqui , você pode encontrar mais informações na documentação no código.

E aqui está outro (não por mim). Este Notebook fornece uma implementação Python para o teste 2D KS com 2 amostras. O .pyarquivo pode ser baixado aqui . O código parece ser uma tradução direta do Ccódigo; a eficiência pode ser um problema se o tamanho da amostra for grande.

No entanto, é melhor verificar os códigos (não importa qual) com os papéis / livros originais antes de usar. As implementações python do teste 2d KS são muito menos verificadas do que as do R.

Mais informações

O algoritmo é desenvolvido pela primeira vez em dois artigos (como eu vejo)

Uma boa introdução e a Cimplementação podem ser encontradas em

Aqui está um post intitulado Cuidado com o teste de Kolmogorov-Smirnov também está relacionado ao assunto, você pode dar uma olhada. Ele incentiva o uso do método de reamostragem para avaliar o valor de p com a distância KS fornecida.

Syrtis Major
fonte
1

você pode achar esse código do Matlab útil.

http://www.mathworks.com/matlabcentral/fileexchange/38617-two-dimensional-2d-paired-kolmogorov-smirnov-test

Roy Malka
fonte
2
Bem-vindo a este site! Você poderia fornecer uma breve descrição dos recursos disponíveis nessa página?
chl