Digamos que eu tenha duas ou mais populações de amostras de vetores de valor contínuo n-dimensionais. Existe uma maneira não paramétrica de testar se essas amostras são da mesma distribuição? Se sim, existe uma função em R ou python para isso?
15
Respostas:
Acabei de fazer muita pesquisa em dois testes multivariados quando percebi que o teste de Kolmogorov-Smirnov não era multivariado. Então, olhei para o teste do Chi, o teste T ^ 2 de Hotelling, o critério de Anderson-Darling, de Cramer-von Mises, de Shapiro-Wilk, etc. comprimento. Outros são usados apenas para rejeitar a suposição de normalidade, não para comparar duas distribuições de amostra.
A solução principal parece comparar as funções de distribuição cumulativa das duas amostras com todos os pedidos possíveis, os quais, como você pode suspeitar, são muito intensivos em computação, na ordem dos minutos para uma única execução de uma amostra contendo alguns milhares de registros:
https://cran.r-project.org/web/packages/Peacock.test/Peacock.test.pdf
Como declara a documentação de Xiao, o teste de Fasano e Franceschini é uma variante do teste de pavão:
http://adsabs.harvard.edu/abs/1987MNRAS.225..155F
O teste de Fasano e Franceschini foi especificamente planejado para ser menos intensivo em termos de computação, mas não encontrei uma implementação de seu trabalho em R.
Para aqueles que desejam explorar os aspectos computacionais do teste Peacock versus Fasano e Franceschini, consulte Algoritmos computacionalmente eficientes para o teste bidimensional de Kolmogorov – Smirnov
fonte
O pacote R np (não paramétrico) tem um teste de igualdade de densidades de dados contínuos e categóricos usando densidade quadrada integrada. Li, Maasoumi e Racine (2009)
Assim como o pdf condicional np na seção 6 .
fonte
Sim, existem maneiras não paramétricas de testar se duas amostras multivariadas são da mesma distribuição conjunta. Mencionarei detalhes excluindo os mencionados por L Fischman . O problema básico que você está perguntando pode ser chamado de 'Problema de Duas Amostras' e uma boa quantidade de pesquisa está sendo realizada atualmente em periódicos como o Journal of Machine Learning Research e o Annals of Statistics e outros. Com meu pouco conhecimento sobre esse problema, posso orientar da seguinte maneira
Se seu interesse é comparar vários conjuntos de pontos (conjuntos de amostras) com o conjunto de pontos de referência, para ver quão próximos eles se aproximam do conjunto de pontos de referência, você pode usar a divergência f .
Também pode haver outras maneiras de abordar, essa resposta não é de forma alguma um tratamento abrangente de sua pergunta;)
fonte