Mathematics/Statistics

[Statistics] non-parametric test with bootstrapping

언킴 2021. 11. 5. 20:56
반응형

모수통계 방법을 사용할 수 없을 때 비모수통계와 permutation test를 많이 이용하지만, permutation test는 경험적 분포를 만들어 내기 때문에 p-value를 구해낼 수는 있지만 신뢰구간을 추정하는 작업은 쉽지 않다. 왜냐하면 신뢰구간은 검정통계량이 아니라 모집단 평균의 추정치인 표본평균에 대해서 계산되어야하기 때문이다. 

 

이때 bootstrapping 을 사용해 신뢰구간 추정에 있어 적합한 비모수검정 기법을 제공해준다. bootstrapping은 원래의 데이터로부터 표본을 반복적으로 무작위 추출(random sampling with replacement)하여 검정통계량의 경험적 분포를 생성한다는 것이 permutation test와 큰 차이점이다. ( permutation은 sampling without replacemenet 이기 때문)

 

이렇게 추출한 표본을 bootstrapping sample이라고 하며, 이런 방식으로 추출한 많은 bootstrapping sample을 만들어내면 이 sample들을 이용해 찾고자하는 통계량을 만들 수 있다. 모수 통계를 할때 정규분포를 따른다고 가정하면 다음과 같은 신뢰구간을 구할 수 있는데, 정규분포를 따르지 않는다면 해당 방법을 사용할 수 없게 된다. 

 

$ \bar{X} - t_{0.05,n-1} \times \frac{s}{\sqrt{n}} \le \mu \le \bar{X} + t_{0.05, n-1} \times \frac{s}{\sqrt{n}} $ 

 

이처럼 전통적인 통계적 절차에 따라 신뢰구간을 구할 수 없을 때 bootstrapping 방법을 사용하며 bootstrapping에 의한 신뢰구간은 다음과 같은 절차에 따라 계산된다. 

 

1. 표본으로부터 n개의 값을 무작위 복원추출한다. 

2. 추출한 표본으로부터 표본평균을 계산한다.

3. 이 과정을 m번 반복하여 m개의 표본평균을 구한다.

4. m개의 표본평균을 정렬한다.

5. $\alpha$=0.05일 경우 하한 2.5% 상한 97.5%번째 백분위수를 구해 신뢰구간을 구성한다. (two-side일 경우)

 

bootstrapping은 평균에 대해서 뿐만 아니라 다양한 통계량에 대해서 신뢰구간을 구할 수 있다는 장점이 있다. 전통적인 신뢰구간을 구하는 방법에서는 중위수에 대한 신뢰구간은 구할 수 없지만 bootstrapping을 활용한다면 가능하다. 

 


https://github.com/ceo21ckim/R/tree/main/non-parametric

 

GitHub - ceo21ckim/R

Contribute to ceo21ckim/R development by creating an account on GitHub.

github.com