내가 하는 통계 분석/R

[내가 하는 통계 분석] 윌콕슨 부호 순위 검정(Wilcoxon signed rank test) in R

산격동 너구리 2021. 2. 6. 16:20

안녕하세요, 산격동 너구리입니다.

 

 

이번 포스팅은,

 

R을 이용한 "윌콕슨 부호 순위 검정"입니다.


개요

 

 

 윌콕슨 부호 순위 검정이란??
일표본/대응표본 T검정에서 정규성 가정이 만족되지 않을 때 사용하는 비모수 검정법

일표본/대응표본 T검정과는 달리 중앙값에 관한 결과를 얻을 수 있음.

 

 가정
1. 표본은 동일한 모집단에서 추출되어야 한다.

2. 표본은 임의, 독립적으로 추출되어야 한다.

3. 측정값은 최소 등간척도이다.

비모수 검정은 가정에 있어서 상당히 자유롭지만,

 

일반적으로 비모수 검정이 검정력에서 더 좋지 않은 경향을 가집니다.

 

따라서, 모수 검정의 가정을 충족시키지 못할 때 사용하는 것이 비모수 검정이라고 보시면 되겠습니다.

 

 가설 (일표본)
$H_0$ : 모집단의 중앙값은 $mu_0$이다.

$H_1$ : 모집단의 중앙값은 $mu_0$가 아니다.

 

 가설 (대응표본)
$H_0$ : 값 차이의 중앙값은 0이다. (= 값의 차이가 없다.)

$H_1$ : 값 차이의 중앙값은 0이 아니다. (= 값의 차이가 있다.)

예제(일표본)

04. [산격동 너구리] 윌콕슨 부호 순위 검정(일표본) 예제.csv
0.00MB

중량이 100g으로 표기된 닭가슴살 제품이 100g이라고 할 수 있는지 확인해보는 예시를 들어보겠습니다.

 

동일한 회사 제품을 임의로 9개를 표본으로 추출했다고 하겠습니다.

 

위의 파일을 이용하였고, 통계적 유의수준은 0.05로 두었습니다.

 

 

데이터 불러오기
## 1. 데이터 불러오기
data = read.csv("G:/산격동 너구리/[수정]/04. [산격동 너구리] 윌콕슨 부호 순위 검정(일표본) 예제.csv", header = T)

 

 

가정

추출 과정에 의해 (1), (2)번 가정이 만족되고,

 

측정값이 비율 척도이므로 (3)번 가정도 만족됩니다.

 

 

가설
$H_0$ : 닭가슴살 중량의 중앙값은 100g이다.

$H_1$ : 닭가슴살 중량의 중앙값은 100g이 아니다.

예제를 위해 임의로 지정한 가설입니다.

 

상황에 맞추어 적절히 변형하시길 바랍니다.

 

 

윌콕슨 부호 순위 검정 (일표본)
## 2. 윌콕슨 부호 순위 검정
wilcox.test(data$weight, mu = 100)

p-value가 0.05 이상이므로 귀무가설을 기각하지 못 합니다.

 

따라서, "닭가슴살 중량의 중앙값과 100g은 유의한 차이가 없다"라는 결론을 낼 수 있습니다.

 

만약, 제품에 표기된 중량이 잘못되었다는 이야기를 하고 싶었다면,

 

하고자 하는 의견에 대한 근거가 부족함을 알 수 있습니다.


예제(대응표본)

05. [산격동 너구리] 윌콕슨 부호 순위 검정(대응표본) 예제.csv
0.00MB

어떤 체중감량 프로그램이 있다고 하겠습니다. 

 

이 때, 전/후 몸무게를 측정하여 몸무게가 유의한 차이를 보이는지 확인해보겠습니다.

 

위의 파일을 이용하였고, 통계적 유의수준은 0.05로 두었습니다.

 

 

데이터 불러오기
## 1. 데이터 불러오기
data = read.csv("G:/산격동 너구리/[수정]/05. [산격동 너구리] 윌콕슨 부호 순위 검정(대응표본) 예제.csv", header = T)

 

 

가정

추출 과정에 의해 (1), (2)번 가정이 만족되고,

 

측정값이 비율 척도이므로 (3)번 가정도 만족됩니다.

 

 

가설
$H_0$ : 전/후 몸무게 차이의 중앙값은 0이다. (=전/후 차이가 없다.)

$H_1$ : 전/후 몸무게 차이의 중앙값은 0이 아니다. (=전/후 차이가 있다.)

예제를 위해 임의로 지정한 가설입니다.

 

상황에 맞추어 적절히 변형하시길 바랍니다.

 

윌콕슨 부호 순위 검정 (대응표본)
## 2. 윌콕슨 부호 순위 검정
# 1번 방법
wilcox.test(data$before, 
            data$after,
            paired = T) 
# 2번 방법
data$diff = data$before - data$after
wilcox.test(data$diff, mu = 0)

p-value가 0.05 미만이므로 귀무가설을 기각합니다.

 

따라서, "프로그램 전/후 몸무게 차이의 중앙값과 0은 유의한 차이가 있다"라는 결론을 낼 수 있습니다.

 

또한, 프로그램 후의 몸무게가 더 낮으므로,

 

"프로그램 전보다 프로그램 후의 몸무게가 유의하게 더 낮다"는 해석으로까지 확대할 수 있습니다.


이것으로 R을 이용한 윌콕슨 부호 순위 검정에 대해 마치도록 하겠습니다.

 

이상, 산격동 너구리였습니다.

 

감사합니다.

 

 

 

* 잘못된 정보 및 오타가 포함되어 있을 수 있습니다.

  그대로 받아들이시기보다는 다른 사람의 의견도 참고하셔서 분석하시길 바랍니다.

 

* 포스팅 내용 및 통계 분석 관련 질문은 언제나 환영입니다.

  가능한 선에서 최대한 답변하도록 하겠습니다.