내가 하는 통계 분석/R

[내가 하는 통계 분석] Welch's T 검정(Welch's t-test) in R

산격동 너구리 2021. 2. 8. 00:21

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

 

 

이번 포스팅은,

 

R을 이용한 "Welch's T 검정"입니다.

 

독립표본 T 검정을 하고 싶은데, 가정 중 하나인 등분산성 가정이 충족되지 않을 때 사용합니다.


개요

 

 

 Welch's T 검정이란??
두 집단의 평균 비교

독립표본 T 검정에서 등분산성 가정이 충족되지 않을 때 사용됨

 

 

 가정
정규성 가정 : 각 집단의 표본은 정규성을 가져야 한다.

독립성 가정 : 두 집단은 서로 독립적이어야 한다.

만약, 등분산성 가정이 충족된다면 독립표본 T 검정을 하시면 됩니다.

 

 

 가설
$H_0$ : 두 모집단의 평균은 같다.

$H_1$ : 두 모집단의 평균은 같지 않다.

예제

02. [산격동 너구리] 독립표본 T 검정 예제.csv
0.00MB

독립표본 T 검정과 동일한 파일로 하겠습니다.

 

대구지역 초1과 서울지역 초1의 키를 비교해보는 예시입니다.

 

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

 

데이터 불러오기
## 1. 데이터 불러오기
# 데이터 파일 경로는 수정해주세요. 
data = read.csv("C:/Users/USER/Desktop/새 폴더/예제 파일/02. [산격동 너구리] 독립표본 T 검정 예제.csv", header= T)

 

가정

1. 정규성 가정 확인

# 2-1) 정규성 가정
# 대구지역 그룹 정규성 확인
shapiro.test(data[ data$group == "Deagu" , ]$height )
# 대구지역 그룹 정규성 확인
shapiro.test(data[ data$group == "Seoul" , ]$height )

p-value가 0.05보다 크므로 귀무가설을 채택합니다.

 

따라서, 두 그룹 모두 정규성 가정을 만족하는 것으로 판단할 수 있습니다.

 

 

2. 등분산성 가정 확인

# 2-2) 등분산성 가정
install.packages("lawstat") # install.packages : 라이브러리를 컴퓨터에 설치
library(lawstat) # library : 설치된 라이브러리 실행
# 따라서, install.packages는 동일한 컴퓨터에 한번만 사용해주시면 됩니다.

levene.test(data$height, data$group, location = 'mean') 
# 등분산성 검정은 종류가 다양합니다. 다른 포스팅에서 따로 정리하겠습니다.

p-value가 0.05보다 크므로 귀무가설을 채택합니다.

 

따라서, 두 그룹의 분산은 동일하다고 볼 수 있습니다.

 

독립표본 T 검정 예시이므로 현재 예시에서는 등분산성 가정이 만족됩니다만....

 

등분산성 검정에서 p-value가 0.05미만일 경우에 Welch's T 검정을 사용합니다.

 

현재 포스팅에서는 등분산성이 만족되지 않았다고 보고 진행하겠습니다.

 

 

3. 독립성 가정 확인

 

제가 알기로는 독립성 가정을 확인하는 검정은 따로 없습니다.

 

독립성 가정은 말 그대로 두 그룹이 독립적인지를 의미하는 것이므로

 

예시 상황에서는 표본 추출에서 문제가 없으면 독립성 가정을 만족했다고 볼 수 있겠습니다.

 

여기서는 만족했다고 생각하겠습니다.

 

가설
$H_0$ : 두 그룹의 평균 키는 같다.

$H_1$ : 두 그룹의 평균 키는 같지 않다.

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

 

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

 

Welch's T 검정
## Welch's T 검정
# 1번 방법
t.test(data = data, # 사용할 데이터셋 입력
       height ~ group, # 종속 변수 ~ 그룹 변수
       var.equal = FALSE) # 두 그룹의 분산이 동일한지? (T/F)

# 2번 방법
t.test(data[ data$group == "Deagu" , ]$height, # 그룹 1의 종속변수
       data[ data$group == "Seoul" , ]$height, # 그룹 2의 종속변수 
       var.equal = F) # # 두 그룹의 분산이 동일한지? (T/F)

독립표본 T 검정 코드에서 var.equal 옵션을 보셨으면 쉽게 받아들일 수 있습니다.

 

지금은 분산이 같지 않은 상황이므로 FALSE를 입력해주는 것으로 Welch's T검정을 실시할 수 있습니다.

 

해석하는 것은 독립표본 T 검정과 동일하게 하시면 되겠습니다.

 

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

 

따라서, "대구지역과 서울지역의 초1의 평균 키는 같지 않다"라는 결론을 낼 수 있습니다.

 

또한, 대구지역 초1의 키가 더 크므로,

 

"대구지역 초1의 평균 키가 서울지역 초1의 평균 키보다 크다"는 해석으로까지 확대할 수 있습니다.


 

이것으로 R을 이용한 Welch's T 검정에 대해 마치도록 하겠습니다.

 

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

 

감사합니다.

 

 

 

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

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

 

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

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