[R] 통계데이터 분석 - 여러가지 평균검정법 : 일표본 평균검정 ( One-Sample t test ) , 독립표본 평균검정, 대응표본 평균검정

반응형

일표본 평균검정 ( one-sample t test ) 

하나의 표본 데이터를 이용하여 모집단의 평균이 특정 값과 같은지 검정하는 방법 

표본집단이 특정 모집단과 일치하는지 혹은 그렇지 않은지 알고싶을 때 이용

 

R 프로그래밍 

 

일표본 평균검정을 R 프로그래밍을 통해 알아볼게요.

MASS 라이브러리의 cats 데이터를 활용합니다. 

library(MASS)
str(cats)
> str(cats)
'data.frame':	144 obs. of  3 variables:
 $ Sex: Factor w/ 2 levels "F","M": 1 1 1 1 1 1 1 1 1 1 ...
 $ Bwt: num  2 2 2 2.1 2.1 2.1 2.1 2.1 2.1 2.1 ...
 $ Hwt: num  7 7.4 9.5 7.2 7.3 7.6 8.1 8.2 8.3 8.5 ...

cats 데이터셋에는 고양이의 성별, 몸무게(kg), 심장의 무게(g)을 포함하고 있습니다. 

귀무가설을 고양이의 몸무게 평균이 2.6kg으로 가정한다면 대립 가설은 고양이의 몸무게는 2.6kg이 아니다라는 것이 되겠네요. 

 

t.test(x=cats$Bwt, mu=2.6)
> t.test(x=cats$Bwt, mu=2.6) # 고양이의 몸무게 , 검정하고자 하는 고양이 무게의 평균 

	One Sample t-test

data:  cats$Bwt
t = 3.0565, df = 143, p-value = 0.002673
alternative hypothesis: true mean is not equal to 2.6
95 percent confidence interval:
 2.643669 2.803553
sample estimates:
mean of x 
 2.723611

x.test() 함수의 첫 번째 파라미터에 고양이의 몸무게를 설정하고 , mu 옵션에 검정하고자 하는 평균 몸무게 2.6을 넣어줍니다. 

 

t.test()의 결과값입니다. 

144개의 관측값으로부터 관측된 고양이의 몸무게의 평균은 mean of x 이고 2.7이라고 나와있습니다. 

표본 평균에 대응되는 t값은 3.0565, 자유도인 df는 143, p-value( 유의확률 )는 0.002네요.

귀무가설은 '고양이의 평균 몸무게는 2.6kg이 아니다'이므로 양측검정을 수행해야겠죠 ? 

즉, t 값은 -3.05보다 작거나 , 3.05보다 커야합니다. 

 

이외에 

alternative hypothesis: true mean is not equal to 2.6 (대립가설에 해당)
95 percent confidence interval: 2.643669 2.803553 ( 95% 신뢰구간 )

 

위와 같은 정보들로 인해 유의 수준은 0.5에 미치지 못하므로 귀무가설을 기각하고 대립 가설을 채택합니다. 

 

t.test(x=cats$Bwt, mu=2.7)
# 평균을 2.7로 변경할 경우 귀무가설을 채택함

mu 옵션을 mean of x 로 나온 2.7로 바꿨을 경우, 아래와 같은 값들이 나오므로 대립가설을 기각하고 귀무가설을 채택합니다. 

t = 0.58382, df = 143, p-value = 0.5603
alternative hypothesis: true mean is not equal to 2.7

t.test 의 파라미터를 살펴보면 alternative 옵션을 통해 단측, 양측 검정을 설정할 수 있습니다. 

 


 

cats.t <- t.test(x=cats$Bwt, mu=2.6) # 가설검정 결과를 객체로 저장 
str(cats.t) # 결과는 리스트로 저장됌 

# 리스트로 저장되기 때문에 인덱싱으로 원하는 값을 얻을 수 있다.
cats.t$p.value
cats.t$conf.int

가설검정 결과를 cats.t 라는 변수에 넣고 출력하면 아래의 결과가 나오게됩니다.

보다시피 List 형태로 저장되어 있어서 인덱싱을 통해 각 데이터에 접근할 수 있습니다. 

> cats.t <- t.test(x=cats$Bwt, mu=2.6)
> str(cats.t)
List of 10
 $ statistic  : Named num 3.06
  ..- attr(*, "names")= chr "t"
 $ parameter  : Named num 143
  ..- attr(*, "names")= chr "df"
 $ p.value    : num 0.00267
 $ conf.int   : num [1:2] 2.64 2.8
  ..- attr(*, "conf.level")= num 0.95
 $ estimate   : Named num 2.72
  ..- attr(*, "names")= chr "mean of x"
 $ null.value : Named num 2.6
  ..- attr(*, "names")= chr "mean"
 $ stderr     : num 0.0404
 $ alternative: chr "two.sided"
 $ method     : chr "One Sample t-test"
 $ data.name  : chr "cats$Bwt"
 - attr(*, "class")= chr "htest"

 

정리

 

t-검정은 두 그룹의 평균 사이에 유의미한 차이가 있는지 여부를 확인하는 데 사용되는 통계적 가설 검정입니다. 이는 스튜던트의 t-분포를 기반으로 하며 생성되는 테스트 통계는 t-score 입니다. 

 

표본 평균 비교 : t-검정의 가장 일반적인 용도는 두 표본의 평균을 비교하여 평균이 동일한 모집단에서 나온 것인지 확인하는 것입니다. 예를 들어, 이것은 두 가지 다른 교수법을 사용하여 배운 학생들의 시험 점수를 비교하는 데 사용할 수 있습니다. 

 

가설 검정 : t-검정은 두 모집단 평균 간의 차이에 대한 가설을 검정하는 데 사용할 수 있습니다. 예를 들어 t-검정을 사용하여 남성의 평균 키가 여성의 평균 키와 다르다는 가설을 검정할 수 있습니다. 

 

반응형