파이썬의 17가지 통계적 가설 테스트
응용 머신러닝에 필요한 17가지 통계 가설 테스트에 대한 빠른 참조 가이드와 Python의 샘플 코드입니다.
사용할 수 있는 수백 개의 통계적 가설 테스트가 있지만 여기에는 머신러닝 프로젝트에서 사용할 작은 하위 집합만 있습니다.
이 게시물에서는 Python API를 사용하는 예제와 함께 머신러닝 프로젝트에 대한 가장 인기 있는 통계적 가설 테스트에 대한 치트 시트(cheat sheet)를 찾을 수 있습니다.
각 통계 테스트는 다음을 포함하여 일관된 방식으로 제공됩니다.
- 테스트의 이름입니다.
- 테스트에서 확인하는 내용.
- 테스트의 주요 가정.
- 테스트 결과가 해석되는 방식입니다.
- 테스트를 사용하기 위한 파이썬 API입니다.
예상되는 데이터 분포 또는 표본 크기와 같은 가정의 경우 가정을 위반할 경우 지정된 테스트의 결과가 즉시 사용할 수 없게 되기보다는 정상적으로 저하될 가능성이 높습니다.
일반적으로 데이터 샘플은 도메인을 대표해야 하며 분포를 분석에 노출할 수 있을 만큼 충분히 커야 합니다.
경우에 따라 특이치를 제거하여 거의 정규적인 분포를 완전한 정규 분포로 수정하거나 표본의 분산이 다른 경우 통계 검정에서 자유도 보정을 사용하는 등 가정을 충족하도록 데이터를 수정할 수 있습니다.
마지막으로, 주어진 관심사에 대해 여러 테스트가 있을 수 있습니다 (예 : 정규성). 통계로는 질문에 대한 선명한 답변을 얻을 수 없습니다. 대신, 우리는 확률론적 답변을 얻습니다. 따라서 질문을 다른 방식으로 고려함으로써 동일한 질문에 대한 다른 답변에 도달할 수 있습니다. 따라서 데이터에 대해 가질 수 있는 몇 가지 질문에 대해 여러 가지 테스트가 필요합니다.
튜토리얼 개요
이 튜토리얼은 다음과 같이 다섯 부분으로 나뉩니다.
정규성 검정
- 샤피로-윌크 테스트
- 다고스티노의 K^2 테스트
- 앤더슨-달링 테스트
상관 관계 테스트
- 피어슨의 상관 계수
- 스피어맨의 순위 상관 관계
- 켄달의 순위 상관 관계
- 카이제곱 검정
고정 테스트
- 증강 디키 풀러
- 크비아트코프스키-필립스-슈미트-신
모수 통계적 가설 검정
- 학생의 t-검정
- 짝을 이룬 학생의 t-검정
- 분산 분석 검정 (분산 분석)
- 반복 측정 분산 분석 검정
- 비모수 통계적 가설 검정
- 만-휘트니 U 테스트
- 윌콕슨 서명 순위 테스트
- 크루스칼-월리스 H 테스트
- 프리드먼 테스트
1. 정규성 검정
이 섹션에는 데이터에 가우스 분포가 있는지 확인하는 데 사용할 수 있는 통계적 테스트가 나열되어 있습니다.
샤피로-윌크 테스트
데이터 샘플에 가우스 분포가 있는지 여부를 검정합니다.
가정
- 각 표본의 관측치는 독립적이고 동일하게 분포합니다(iid).
해석
- H0: 표본에 가우스 분포가 있습니다.
- H1: 표본에 가우스 분포가 없습니다.
파이썬 코드
추가 정보
다고스티노의 K^2 테스트
데이터 샘플에 가우스 분포가 있는지 여부를 검정합니다.
가정
- 각 표본의 관측치는 독립적이고 동일하게 분포합니다(iid).
해석
- H0: 표본에 가우스 분포가 있습니다.
- H1: 표본에 가우스 분포가 없습니다.
파이썬 코드
추가 정보
앤더슨-달링 테스트
데이터 샘플에 가우스 분포가 있는지 여부를 검정합니다.
가정
- 각 표본의 관측치는 독립적이고 동일하게 분포합니다(iid).
해석
- H0: 표본에 가우스 분포가 있습니다.
- H1: 표본에 가우스 분포가 없습니다.
추가 정보
2. 상관 관계 테스트
이 섹션에는 두 표본이 관련되어 있는지 확인하는 데 사용할 수 있는 통계 검정이 나열되어 있습니다.
피어슨의 상관 계수
두 표본에 선형 관계가 있는지 여부를 검정합니다.
가정
- 각 표본의 관측치는 독립적이고 동일하게 분포합니다(iid).
- 각 표본의 관측치는 정규 분포를 따릅니다.
- 각 표본의 관측치는 분산이 동일합니다.
해석
- H0: 두 샘플이 독립적입니다.
- H1: 샘플 간에 종속성이 있습니다.
파이썬 코드
추가 정보
스피어맨의 순위 상관 관계
두 샘플에 단순 관계가 있는지 여부를 검정합니다.
가정
- 각 표본의 관측치는 독립적이고 동일하게 분포합니다(iid).
- 각 표본의 관측치에 순위를 매길 수 있습니다.
해석
- H0: 두 샘플이 독립적입니다.
- H1: 샘플 간에 종속성이 있습니다.
파이썬 코드
추가 정보
켄달의 순위 상관 관계
두 샘플에 단순 관계가 있는지 여부를 검정합니다.
가정
- 각 표본의 관측치는 독립적이고 동일하게 분포합니다(iid).
- 각 표본의 관측치에 순위를 매길 수 있습니다.
해석
- H0: 두 샘플이 독립적입니다.
- H1: 샘플 간에 종속성이 있습니다.
파이썬 코드
추가 정보
카이제곱 검정
두 범주형 변수가 관련되어 있는지 또는 독립적인지 여부를 검정합니다.
가정
- 분할표 계산에 사용되는 관측치는 독립적입니다.
- 분할표의 각 셀에 25개 이상의 예제가 있습니다.
해석
- H0: 두 샘플이 독립적입니다.
- H1: 샘플 간에 종속성이 있습니다.
파이썬 코드
추가 정보
3. 고정 테스트
이 섹션에는 시계열이 정상인지 여부를 확인하는 데 사용할 수 있는 통계 테스트가 나열되어 있습니다.
증강 디키-풀러 단위 루트 테스트
시계열에 단위 루트가 있는지(예: 추세가 있는지 또는 더 일반적으로 자동 회귀적인지 테스트합니다.
가정
- 관측은 시간적으로 정렬됩니다.
해석
- H0: 단위 루트가 있습니다(계열은 정상이 아님).
- H1: 단위 루트가 없습니다(계열은 고정되어 있음).
파이썬 코드
추가 정보
크비아트코프스키-필립스-슈미트-신
시계열이 추세가 정상적인지 여부를 테스트합니다.
가정
- 관측은 일시적으로 정렬됩니다.
해석
- H0: 시계열이 추세에 고정되어 있습니다.
- H1: 시계열이 추세에 고정되어 있지 않습니다.
파이썬 코드
추가 정보
4. 모수 통계적 가설 검정
이 섹션에는 데이터 샘플을 비교하는 데 사용할 수 있는 통계 테스트가 나열되어 있습니다.
학생의 t-검정
두 독립 표본의 평균이 유의하게 다른지 여부를 검정합니다.
가정
- 각 표본의 관측치는 독립적이고 동일하게 분포합니다(iid).
- 각 표본의 관측치는 정규 분포를 따릅니다.
- 각 표본의 관측치는 분산이 동일합니다.
해석
- H0: 표본의 평균이 동일합니다.
- H1: 표본의 평균이 같지 않습니다.
파이썬 코드
추가 정보
짝을 이룬 학생의 t-검정
두 쌍체 표본의 평균이 유의하게 다른지 여부를 검정합니다.
가정
- 각 표본의 관측치는 독립적이고 동일하게 분포합니다(iid).
- 각 표본의 관측치는 정규 분포를 따릅니다.
- 각 표본의 관측치는 분산이 동일합니다.
- 각 표본의 관측치가 쌍을 이룹니다.
해석
- H0: 표본의 평균이 동일합니다.
- H1: 표본의 평균이 같지 않습니다.
파이썬 코드
추가 정보
분산 분석 검정 (분산 분석)
둘 이상의 독립 표본의 평균이 유의하게 다른지 여부를 검정합니다.
가정
- 각 표본의 관측치는 독립적이고 동일하게 분포합니다(iid).
- 각 표본의 관측치는 정규 분포를 따릅니다.
- 각 표본의 관측치는 분산이 동일합니다.
해석
- H0: 표본의 평균이 동일합니다.
- H1: 표본의 평균 중 하나 이상이 같지 않습니다.
파이썬 코드
추가 정보
반복 측정 분산 분석 검정
두 개 이상의 쌍체 표본의 평균이 유의하게 다른지 여부를 검정합니다.
가정
- 각 표본의 관측치는 독립적이고 동일하게 분포합니다(iid).
- 각 표본의 관측치는 정규 분포를 따릅니다.
- 각 표본의 관측치는 분산이 동일합니다.
- 각 표본의 관측치가 쌍을 이룹니다.
해석
- H0: 표본의 평균이 동일합니다.
- H1: 표본의 평균 중 하나 이상이 같지 않습니다.
파이썬 코드
현재 파이썬에서는 지원되지 않습니다.
추가 정보
5. 비모수 통계적 가설 검정
만-휘트니 U 테스트
두 독립 표본의 분포가 같은지 여부를 검정합니다.
가정
- 각 표본의 관측치는 독립적이고 동일하게 분포합니다(iid).
- 각 표본의 관측치에 순위를 매길 수 있습니다.
해석
- H0: 두 표본의 분포가 동일합니다.
- H1: 두 표본의 분포가 같지 않습니다.
파이썬 코드
추가 정보
윌콕슨 서명 순위 테스트
쌍을 이루는 두 표본의 분포가 같은지 여부를 검정합니다.
가정
- 각 표본의 관측치는 독립적이고 동일하게 분포합니다(iid).
- 각 표본의 관측치에 순위를 매길 수 있습니다.
- 각 표본의 관측치가 쌍을 이룹니다.
해석
- H0: 두 표본의 분포가 동일합니다.
- H1: 두 표본의 분포가 같지 않습니다.
파이썬 코드
추가 정보
크루스칼-월리스 H 테스트
둘 이상의 독립 표본의 분포가 같은지 여부를 검정합니다.
가정
- 각 표본의 관측치는 독립적이고 동일하게 분포합니다(iid).
- 각 표본의 관측치에 순위를 매길 수 있습니다.
해석
- H0: 모든 표본의 분포가 동일합니다.
- H1: 하나 이상의 표본 분포가 같지 않습니다.
파이썬 코드
추가 정보
프리드먼 테스트
쌍을 이루는 두 개 이상의 표본 분포가 같은지 여부를 검정합니다.
가정
- 각 표본의 관측치는 독립적이고 동일하게 분포합니다(iid).
- 각 표본의 관측치에 순위를 매길 수 있습니다.
- 각 표본의 관측치가 쌍을 이룹니다.
해석
- H0: 모든 표본의 분포가 동일합니다.
- H1: 하나 이상의 표본 분포가 같지 않습니다.
파이썬 코드
추가 정보
추가 정보
이 섹션에서는 더 자세히 알아보려는 경우 주제에 대한 더 많은 리소스를 제공합니다.
- 파이썬의 정규성 테스트에 대한 부드러운 소개
- 상관 관계를 사용하여 변수간의 관계를 이해하는 방법
- 파이썬에서 파라메트릭 통계적 유의성 테스트를 사용하는 방법
- 통계적 가설 검정에 대한 짧은 소개
요약
이 자습서에서는 머신러닝 프로젝트에서 사용해야 할 수 있는 주요 통계 가설 테스트를 발견했습니다.
특히 다음 내용을 배웠습니다.
- 정규성 검사, 변수 간의 관계, 표본 간의 차이와 같은 다양한 상황에서 사용할 검정 유형입니다.
- 각 테스트에 대한 주요 가정 및 테스트 결과를 해석하는 방법.
- 파이썬 API를 사용하여 테스트를 구현하는 방법.