31. 집단간 차이 분석


r

Overview

집단 간 차이 분석은 모집단에서 추출한 표본의 정보를 이용하여 모집단의 다양한 특성을 과학적으로 추론하는 학문이다.

한 집단과 기존 집단과 비율평균에 대한 차이 검정에 대하여 알아 본다.

즉, 1개 또는 2개, 그 이상의 데이터에 차이가 있다고 볼 수 있는 지 검증하는 절차라고 할 수 있다.

  • 비율 검정
  • T-test(T 검정)
  • Anova(3 개 이상의 비교 검정) = 분산 분석 = F 검정

검정 대상

표본을 이용하여 모수를 검정하는 방법에는 비율과 평균을 검정하는 방법이 있다.

비율

기술 통계량으로 빈도 수에 대한 비율을 검정

평균

표본 평균에 의미를 둔다.


비교 대상에 다른 표본

비교하는 집단이 한 집단인지, 서로 다른 집단인지에 따라 독립 표본과 대응 표본으로 나누어진다.

독립 표본

서로 다른 두 집단의 비교

각 그룹에서의 표본이 상대 그룹에서의 표본과 상관 관계가 없는 표본

  • 예) 남자의 커피에 대한 만족도는 여자의 만족도와 완전 독립적

대응 표본

한 집단의 이전과 이후에 대한 비교

한 쌍으로 되어 있기 때문에 paired sample

동일한 표본을 대상으로 측정된 두 변수 사이의 평균 차이를 검정하는 방법

동질성 검정

두 집단의 분포가 동일한 분포를 갖는 모집단에서 추출된 것인지 검정하는 방법

동질성 검정의 귀무 가설
두 집단간 분포의 모양이 동질적
p-value를 유의 확률, alpha를 유의 수준
p-value > alpha일 때 귀무 가설 채택


집단 수에 따른 검정 방법

집단의 수와 검정 대상에 따른 함수는 다음과 같은 항목을 사용하면 된다.

집단검정 대상관련 함수동질성 검정정규 분포 검정
단일 집단비율binom.test()--
단일 집단평균t.test()-shapiro.test()
두 집단비율prop.test()--
두 집단평균t.test()var.test()-
세 집단비율prop.test()--
세 집단평균aov()bartlett.test()-

단일 집단 비율 검정

단일 집단의 비율이 어떤 특정한 값과 같은 지를 검정하는 방법

비율을 바탕으로 binom.test() 함수를 이용하여 이항 분포의 양측 검정을 통해 검정 통계량을 구하여 가설 검정

예시
작년 동월의 고객 불만율과 올해 동월의 고객 응대 교육 수료 후에 불만율에 차이가 없다.

구현 흐름도

fig3

  1. 분석할 데이터를 대상으로 결측치와 이상치를 제거하는 전처리 과정을 우선 실행
  2. 기술 통계량으로 빈도 분석을 계산
  3. 결과를 binom.test() 함수의 인수로 사용하여 비율 차이에 대한 검정 수행
  4. 비율 차이 검정 통계량을 바탕으로 귀무 가설의 기각 여부 결정

binom.test() 함수

명목 척도의 비율을 바탕으로 binom.test() 함수를 이용하여 이항 분포의 양측 검정을 통해서 검정 통계량을 구한 후 이를 이용하여 가설 검정

즉, 특정 변수의 선택 항목이 2개중 1개일 때, 선택 비율이 동일한지 검정하고자 할 때 사용하는 분석 함수

항목설명
사용 형식binom.test( x, n, p=0.5, alternative, conf.level )
x성공 횟수
또는 성공과 실패 수를 각각 저장한 길이가 2인 벡터
n시행 횟수
x의 길이가 2라면 무시
p성공 확률에 대한 가설
alternative대립 가설의 형태를 의미
기본 값은 양측 검정
alternative = c("two.sided"(default)
옵션 : “less”, “greater”
conf.level신뢰 수준(default : 0.95)

이항 분포 비율 검정 예시

150명의 고객에 대하여 만족(136), 불만족(14)인 데이터가 있다. 136명의 만족 고객이 전체의 80% 이상의 만족율을 나타내는 지 검정

binom.test(c(136, 14), p=0.8) Exact binomial test

data: c(136, 14)
number of successes( 만족 ) = 136
number of trials( 전체 도수 ) = 150
p-value = 0.0006735
alternative hypothesis: true probability of success is not equal to 0.8
95 percent confidence interval: ( 신뢰 수준 )
0.8483615 0.9480298 ( 신뢰 구간 )
sample estimates:
probability of success ( 136/150의 연산 결과 ) 0.9066667

풀이

  • 유의 확률 p-value(0.0006735) < 0.05이므로 귀무 가설을 기각한다.
  • 즉, ‘작년과 올해의 불만율에 차이가 있다’라고 말할 수 있다.

신뢰 수준 95%에서 귀무 가설은 다음과 같다.
귀무 가설 : 2017년도의 고객 불만율과 2018년도 CS 교육 후에 불만율에 차이가 없다.

검정 대상검정 방법단측 비교 방법유의 확률귀무 가설결론
만족율 비율검정양측검정-0.0006735기각불만율에 차이가 있다.
만족율 비율검정단측검정만족율 > 80%0.0003179기각만족율이 늘었다.
불만족율 비율검정양측검정-0.0006735기각불만율에 차이가 있다.
불만족율 비율검정단측검정불만족율 > 20%0.9999채택불만족이 20%보다 크지 않다.
불만족율 비율검정단측검정불만족율 < 20%0.0003179기각불만족율이 줄었다.

단일 집단 평균 검정

단일 집단의 평균이 특정한 집단의 평균과 차이가 있는지를 검정하는 방법이다.

단일표본 평균의 구간 추정 및 가설 검증에 사용하는 함수이다.

예시
국내에서 생산된 노트북과 A회사에서 생산된 노트 북의 평균 사용 시간에 차이가 없다.

구현 흐름도

fig4

  1. 분석할 데이터를 대상으로 전처리를 수행
  2. 평균 차이 검정을 위해서 기술 통계량으로 평균을 도출
  3. 평균에 대한 차이 검정은 정규 분포 여부를 우선 판정
  4. 정규 분포 여부는 shapiro.test() 분석 함수를 이용
  5. 정규 분포라고 판정이 나면 T 검정을 수행, 반대일 때 wilcox 검정을 수행
  6. 해당 조건에 맞는 평균 차이 검정을 실시하여 귀무 가설의 기각 여부를 결정

shapiro.test() 함수

샤피로-윌크 검정이라고 하며, 어떠한 데이터의 분포가 정규 분포인지를 검정하는 방법
95%의 신뢰 수준이라고 할 때, p-value > 0.05이면 귀무 가설을 채택

항목설명
사용 형식shapiro.test(x)
기본 귀무 가설정규 분포를 따름
x숫자 형식의 vector

정규 분포 시각화 관련 함수

정규 분포의 시각화는 다음 함수를 이용한다.

hist() : 히스토그램을 그리는 함수
qqnorm() : 주어진 데이터와 정규 분포를 비교
qqline() : 데이터와 분포를 비교하여 이론적으로 성립해야 하는 직선 관계를 그림

t.test() 함수

stats 패키지에서 제공하는 함수
단일 집단의 평균이 특정한 집단의 평균과 차이가 있는지를 검정하는 방법으로, t 검정이라고 함
단일표본 평균의 구간 추정 및 가설 검증에 사용하는 함수

항목설명
사용 형식t.test(x, y = NULL, alternative, mu = 0, conf.level)
기본 귀무 가설모 평균이 mu와 같다
x, y단일 표본 검정 : x만
표본이 두 개인 검정 : x, y에 모두 숫자 벡터 지정
alternative검정 방법, 대립 가설의 형태
기본 값은 양측 검정
'two.sided', 'greater', 'less'
mu모집단의 평균
conf.level신뢰구간(기본값: 0.95)
pairedFalse : 독립 표본 2개 검정
var.equal-

t test 예시

t.test(x1, mu=5.2)

One Sample t-test
data: x1
t = 3.9461, df = 108, p-value = 7.083e-05 <== t 검정 통계량, 자유도, 유의 확률
alternative hypothesis: true mean is not equal to 5.2
95 percent confidence interval: <== 95% 신뢰 수준
5.377613 5.736148 <== 95%에서의 신뢰 구간(여기에 5.556881 가 들어 있다.)
sample estimates:
mean of x
5.556881 <== 평균에 대한 점 추정 값

qt() 함수

stat() 패키지에서 제공하는 qt() 함수를 사용하면, 귀무 가설의 임계값을 확인할 수 있다.

항목설명
사용 형식유의 확률(p-value)와 자유도(df)의 값을 입력하여 임계 값 도출
qt(p-value, df) = qt(7.083e-05, 108) = -3.946073
귀무 가설 채택 조건임계값 >= t 검정통계량인 경우 귀무 가설을 채택
위의 예시에서 3.946073 < 3.9461 이므로 귀무 가설을 기각

두 집단 비율 검정

두 집단의 비율이 같은지/다른지를 검증하는 것을 두 집단 비율 차이 분석이라고 한다.

분석할 데이터를 대상으로 결측치와 이상치를 제거하는 전처리 과정을 거친 후, 비교 대상의 두 집단을 분류하고, 이를 prop.test() 함수의 인수로 비율 차이 검정을 수행한다.

예시
교육 기관의 두 가지 교육 방법에 대한 교육생의 만족도에 차이가 없다.

구현 흐름도

fig5

  1. 분석할 데이터를 대상으로 결측치와 이상치를 제거하는 전처리 과정을 우선 실행
  2. 비교 대상의 두 집단을 분류
  3. 이 결과를 prop.test() 함수의 인수로 사용하여 비율 차이에 대한 검정을 수행
  4. 비율 차이 검정 통계량을 바탕으로 귀무 가설의 기각 여부를 결정

prop.test() 함수

두 집단에 대한 비율에 대한 가설 검정을 수행한다.

2개의 데이터 사이에 비율의 차이가 있는 지에 대한 검정을 수행한다.

항목설명
사용 형식prop.test(x=c(110,135), n=c(150,150), alternative, conf.level, correct=TRUE )
두 교육의 총 빈도수가 150이고, A는 110회/B는 135인 비율 검정을 수행
prop.test(x=56, n=100, p=0.5, alternative='two.sided')
기본 귀무 가설두 그룹의 비율이 같다.
비율이 p와 같다.
x성공 회수를 저장한 벡터 또는 성공과 실패 수를 저장한 1 * 2, 2 * 2 행렬
n전체 시행 수
p성공 확률에 대한 가설
alternative대립 가설의 형태, 기본 값은 양측 검정
'two.sided', 'greater', 'less'
conf.level신뢰 수준(기본 값 : 0.95)

prop.test() 함수에 따른 검정 결과 판단

  • p-value
    • p-value의 값이 95%의 신뢰 수준에서 0.05보다 크면 귀무 가설을 채택
    • 즉, “두 그룹의 비율이 같다”라고 판단
  • 검정 통계량
    • X-squared 검정 통계량(a) < 카이 제곱 검정 분포표의 값(b) : 귀무 가설 채택
    • a : prop.test() 함수를 이용하여 구한 값(X-squared 항목 참조)
    • b : 자유도와 유의수준값을 이용하여 카이 제곱 검정 분포표에서 값을 찾음

prop.test() 함수 사용 예시 01

prop.test(42, 100)

1-sample proportions test with continuity correction
data: 42 out of 100, null probability 0.5
X-squared = 2.25, df = 1, p-value = 0.1336 <== 자유도 1 alternative hypothesis:
true p is not equal to 0.5
95 percent confidence interval: <== 95% 신뢰 수준
.3233236 0.5228954 <== 95%에서의 신뢰 구간(여기에 0.5 가 들어 있다.)
sample estimates:
p
0.42 <== 42/100

prop.test() 함수 사용 예시 02

# c(34,37,39) : 방법1, 방법2, 방법3에 대한 만족도 수이다.
# c(50,50,50) : 세가지 교육 방법에 대한 변량의 길이이다.
prop.test(c(34,37,39), c(50,50,50))

3-sample test for equality of proportions without continuity correction
data: c(34, 37, 39) out of c(50, 50, 50)
X-squared = 1.2955, df = 2, p-value = 0.5232 <== 자유도 2
alternative hypothesis:
two.sided <== 양측 검정
sample estimates:
prop 1 prop 2 prop 3
0.68 0.74 0.78 <== 34/50, 37/50, 39/50

  • 유의 확률(p-value) = 0.5232 > 유의 수준(0.05)이므로, 신뢰 수준 95%에서 귀무 가설을 채택
  • 세 가지 교육 방법에 따른 집단 간 만족율에 차이가 없다.

두 집단 평균 검정(독립 표본 T 검정)

독립 표본 T검정이란 서로 다른 두 집단의 비교하는 검정을 말한다.

구현 흐름도

fig6

  1. 분석할 데이터를 대상으로 결측치와 이상치를 제거하는 전처리 과정 실행
  2. 비교 대상의 두 집단 분류
  3. 평균 차이 검정을 위해 기술 통계량으로 평균 도출
  4. 평균에 대한 차이 검정은 두 집단 간의 동질성 검증(정규 분포 검정) 우선 수행
  5. 동질성 분포 검정은 var.test() 분석 함수 이용
  6. 판정 결과에 따라 T 검정 또는 wilcox 검정 수행
  7. 두 검정 방법의 선택은 단일 표본 평균 검정과 동일
  8. 해당 조건에 맞는 평균 차이 검정을 실시하여 귀무 가설의 기각 여부를 결정

var.test() 함수

stats 패키지에서 제공하는 var.test() 함수를 이용하면 동질성 검사를 수행할 수 있다.

동질성 검정이란 두 집단의 분포가 동일한 분포를 갖는 모집단에서 추출된 것인지를 검정하는 방법이다.

즉, 모집단에서 추출된 표본을 대상으로 분산 동질성 검정을 수행해주는 함수이다.

  • 사용 형식
    • var.test(x=method01_score, y=method02_score)
  • 기본 귀무 가설
    • 두 집단간 분포의 모양이 동질적이다.
    • 즉, 동질한 분포에서 나왔다.

var.test() 함수 사용 예시

var.test( method01_score, method02_score )

F test to compare two variances
data: method01_score and method02_score
F = 1.2158, num df = 108, denom df = 117, p-value = 0.3002
<== 유의 확률
alternative hypothesis: true ratio of variances is not equal to 1
95percent confidence interval: <== 95% 신뢰 수준
0.8394729 1.7656728 <== 95%에서의 신뢰 구간
sample estimates:
ratio of variances 1.215768

  • 검정 통계량은 p-value(0.3002) > 0.05 이므로 귀무 가설을 채택한다.
  • 귀무 가설을 채택하므로 두 집단간의 분포 형태가 동질하다고 볼 수 있다.

독립 표본 t-검정 결과 정리 및 기술

논문이나 보고서에서 독립 표본 평균 검정 결과를 제시하기 위해서는 다음과 같은 형식으로 기술한다.

  • 가설 설정
    • 귀무 가설
      • 교육 방법에 따른 두 집단간 실기 시험의 평균에 차이가 없다.
    • 연구 가설
      • 교육 방법에 따른 두 집단간 실기 시험의 평균에 차이가 있다.
  • 연구 환경
    • IT 교육 센터에서 PT를 이용한 프리젠테이션 교육 방법과 실시간 코딩 교육 방법을 적용하여 1개월 동안 교육받은 교육생 각 150명을 대상으로 실기 시험을 실시하였다.
    • 두 집단간 실기 시험의 평균에 차이가 있는 지 검정한다.
  • 유의 수준
    • a = 0.05
  • 분석 방법
    • 독립 표본 T 검정
  • 검정 통계량
    • t = -2.0547, df = 218.19
  • 유의 확률
    • p-value = 0.0411
  • 결과 해석
    • 유의 수준 0.05 에서 귀무 가설이 기각되었다.
    • 따라서, “교육 방법에 따른 두 집단간 실기 시험의 평균에 차이가 있다” 라고 할 수 있다.
    • 단측 검정을 실시한 결과 첫 번째 교육 방법이 두 번째 교육 방법보다 크지 않은 것으로 나타났다.
    • 즉, 실시간 코딩 교육 방법이 교육 효과가 더 높은 것으로 분석된다.

동질성 검정

분산 분석의 동질성 검정은 stats 패키지에서 제공하는 bartlett.test() 함수를 이용한다.

이 함수에 대한 귀무 가설은 “분포가 동질적이다.”이다.

유의 확률(p-value)이 유의 수준(α) 보다 큰 경우 세 집단 간 분포의 모양이 동질하다고 할 수 있다.

사용 형식

bartlett.test(종속변수 ~ 독립변수, data=dataSet)
bartlett.test(score ~ method2, data=mydata2)

bartlett.test() 함수 사용 예시

bartlett.test(score ~ method2, data=mydata2)

Bartlett test of homogeneity of variances
data: score by method2
Bartlett’s K-squared = 3.3157, df = 2, p-value = 0.1905 <== 유의 확률


세 집단 평균 검정(분산 분석)

분산 분석(ANOVA Analysis)은 세 집단 이상의 평균에 의한 차이를 검정하는 방법이다.

예를 들어 의학 연구 분야에서 개발된 3가지 치료제가 있다고 가정하자.

이 3가지 치료제의 효과에 차이가 있는지를 검정하는 경우가 분산 분석이다.

가설 검정을 위해 F 분포를 따르는 F 통계량을 검정 통계량으로 사용하기 때문에 F 검정이라고도 한다.

구현 흐름도

fig7

  1. 분석할 데이터를 대상으로 결측치와 이상치를 제거하는 전처리 과정을 우선 실행
  2. 비교 대상의 세 집단을 분류
  3. 평균 차이 검정을 위해서 기술 통계량으로 평균 구함
  4. 분산 분석에서 집단 간의 동질성 여부를 검정하기 위해서는 bartlett.test() 분석 함수를 이용
  5. 집단 간의 분포가 동질한 경우 분산 분석을 수행하는 aov() 분석 함수를 사용
  6. 그렇지 않은 경우에는 비모수 검정 방법인 kruskal.test() 분석 함수를 이용하여 분석
  7. TukeyHSD() 함수를 이용하여 사후 검정을 수행

aov() 함수

세 집단의 평균 검정은 aov() 함수를 이용

만약 동질하지 않은 경우에는 kruskal.test()함수를 이용하여 비모수 검정을 수행

  • 사용 형식
    • aov(종속변수 ~ 독립변수, data=df_data set)
    • result = aov(score ~ method2, data=mydata2)
  • 기본 귀무 가설
    • 세 집단의 평균에 차이가 없다

분산 분석에서 F 검정 통계량과 유의 수준 a의 관계

F값(절대치)유의 수준(양측 검정시)
F 값(절대치) >= 2.58a = 0.01(의학/생명 분야)
F 값(절대치) >= 1.96a = 0.05(사회 과학 분야)
F 값(절대치) >= 1.645a = 0.1(기타 일반 분야)

사후 검정

사후 검정은 분산 분석의 결과에 대하여 구체적으로 어떻게 차이가 나는 지를 보여주는 부분이다.

TukeyHSD(result)
# Tukey multiple comparisons of means
# 95% family-wise confidence level
#
# Fit: aov(formula = score ~ method2, data = mydata2)
#
# $method2
# diff lwr upr p adj <==하단설명참조요망
# 방법 2-방법 1 2.612903 1.9424342 3.2833723 0.0000000
# 방법 3-방법 1 1.422903 0.7705979 2.0752085 0.0000040
# 방법 3-방법 2 -1.190000 -1.8656509 -0.5143491 0.0001911
plot(TukeyHSD(result))
  • diff 는 두 집단의 평균의 차이
  • 방법2와 방법1의 평균 차이가 가장 큰 것으로 보임
  • lwr은 신뢰 구간의 하한 값, upr은 신뢰 구간의 상한 값
  • p adj 은 다중 비교를 위하여 조절된 p-value 값이다.

fig8


분산 분석 검정 결과 정리 및 기술

  • 가설 설정
    • 연구 가설(H1)
      • 교육 방법에 따른 세 집단간 실기 시험의 평균에 차이가 있다.
    • 귀무 가설(H0)
      • 교육 방법에 따른 세 집단간 실기 시험의 평균에 차이가 없다.
  • 연구 환경
    • 세 가지 교육 방법을 적용하여 1개월간 교육 받은 교육생 각 50명 씩을 대상으로 실기 시험 실시
    • 세 집단간 실기 시험의 평균에 차이가 있는지 검정
  • 유의 수준
    • a = 0.05
  • 분석 방법
    • ANOVA 검정
  • 검정 통계량
    • F = 43.58, Df =2, Sum Sq=99.37, Mean Sq = 49.68
  • 유의 확률
    • P = 9.39e-14
  • 결과 해석
    • 유의 수준 0.05 에서 귀무 가설이 기각
    • 따라서 교육 방법에 따른 세 집단 간 실기 시험의 평균에 차이가 있는 것으로 나타남
    • 또한 사후 검정을 위한 Tukey 분석을 실시한 결과 “방법2-방법1”의 평균 점수의 차이가 가장 높은 것으로 나타남





© 2019. by RaP0d

Powered by aiden