다차원 분포가 동일한 지 테스트


15

n 차원 연속 값 벡터로 구성된 두 개 이상의 표본 모집단이 있다고 가정 해 보겠습니다. 이러한 표본이 동일한 분포에 속하는지 테스트하는 비모수 적 방법이 있습니까? 그렇다면 R 또는 Python에 함수가 있습니까?


2
Kolmogorov-Smirnov 검정은 두 분포가 동일한 지 여부를 검정하기위한 일반적인 비모수 적 도구입니다. 나는 그것에 익숙하지 않지만 wikipedia는 Justel, A., Peña, D. 및 Zamar, R. (1997) 다변량 Kolmogorov-Smirnov 적합성의 검정, 통계 및 확률 서신, 35 (3), 251-259 . 이 테스트의 다변량 확장.
Macro

1
stats.stackexchange.com/questions/25946/…의 두 가지 차원에서이 문제를 해결하는 이력서 질문이 있습니다. 2 차원에서도 표준 방법은 없습니다.
Flounderer

답변:


8

Kolmogorov-Smirnov 테스트가 다변량이 아님을 깨달았을 때 다변량 2 샘플 테스트에 대해 많은 연구를했습니다. 그래서 Chi 테스트, Hotelling의 T ^ 2, Anderson-Darling, Cramer-von Mises 기준, Shapiro-Wilk 등을 살펴 봤습니다.이 테스트 중 일부는 벡터가 동일한 것으로 간주되므로주의해야합니다. 길이. 다른 것은 두 표본 분포를 비교하지 않고 정규성 가정을 거부하는 데만 사용됩니다.

주요 솔루션은 두 샘플의 누적 분포 함수를 모든 가능한 순서와 비교하는 것으로 보입니다.

https://cran.r-project.org/web/packages/Peacock.test/Peacock.test.pdf

Xiao의 문서에서 알 수 있듯이 Fasano 및 Franceschini 테스트는 Peacock 테스트의 변형입니다.

http://adsabs.harvard.edu/abs/1987MNRAS.225..155F

Fasano와 Franceschini 테스트는 특별히 계산 집약적이지 않았지만 R에서 그들의 작업 구현을 찾지 못했습니다.

Peacock vs Fasano 및 Franceschini 테스트의 계산 측면을 살펴 보려는 경우 2 차원 Kolmogorov–Smirnov 테스트를위한 계산 효율적인 알고리즘을 확인하십시오.


다변량 누적 분포 란 무엇입니까?
Aksakal

2
F(x,y)=P(X<x,Y<y)pF(x,y)=i=1nI(Xi<x,Yi<y)/n

2
좋고 간결한 AdamO. 피사노와 프란 체 스키니처럼 피콕 테스트는 가지 치기를하지 않는 것에 대해 멍청한 것처럼 보인다. 누군가가 R에 대해 하루에 코드를 작성하기로 결정하기를 바랍니다. 범주 형 변수로 인해 더 많은 레코드가 분해되고 분해가 실제로 다른 분포에서 도출되었는지 확인하려는 경우 속도에 특히 유용합니다.
L Fischman


1

예, 두 개의 다변량 샘플이 동일한 관절 분포에서 나온 경우 비모수 테스트 방법이 있습니다. L Fischman 이 언급 한 내용을 제외한 세부 사항에 대해 언급하겠습니다 . 당신이 요구하는 기본 문제는 '2 표본 문제'라고 할 수 있으며 현재 Journal of Machine Learning ResearchAnnals of Statistics 등과 같은 저널 에서 많은 연구가 진행 되고 있습니다. 이 문제에 대한 나의 작은 지식으로 다음과 같은 방향을 제시 할 수 있습니다.

  • 다변량 샘플 세트를 테스트하는 최근의 한 가지 방법은 최대 평균 불일치 (MMD)를 이용하는 것입니다. 관련 문헌 : Arthur Gretton 2012 , Bharath 2010 및 기타. 다른 관련 방법은이 연구 기사에서 찾을 수 있습니다. 관심이 있으시면이 기사에서 인용 한 기사를 살펴보고이 문제에 대한 최신 정보를 얻으십시오. 그리고 그렇습니다 .R 구현이 있습니다.

다양한 점 세트 (샘플 세트)를 참조 점 세트와 비교하는 것이 참조 점 세트에 얼마나 근접하는지 보려면 f-divergence를 사용할 수 있습니다 .

  • 이에 대한 하나의 인기있는 특별한 경우는 Kullback-Leibler Divergence 입니다. 이것은 많은 머신 러닝 체제에서 사용됩니다. 이것은 다시 두 가지 np 방식으로 수행 될 수 있습니다. parzen window (커널) 접근 및 K-Nearest Neighbor PDF 추정기를 통해.

다른 방법으로 접근 할 수도 있습니다.이 답변은 귀하의 질문을 포괄적으로 다루지는 않습니다.)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.