통계기반 데이터분석

[ R ]카이제곱검정

yul_S2 2022. 11. 24. 11:44
반응형

교차분석과 카이제곱 검정

  • 교차분석: 두 개 이상의 범주형 변수를 대상으로 교차분할표를 작성하고, 이를 통해서 변수 상호 간의 관련성 여부를 분석 특히 빈도분석 결과에 대한 보충자료를 제시하는데 효과적
  • 카이제곱 검정: 교차분석으로 얻어진 교차분할표를 대상으로 유의확률을 적용하여 변수 간의 독립성 및 관련성 여부 등을 검정하는 분석 방법

 

카이제곱 검정

카이제곱 검정(chi-square test): 범주(category)별로 관측빈도와 기대빈도의 차이를 통해서 확률 모형이 데이터를 얼마나 잘 설명하는지를 검정하는 통계적 방법

카이제곱 검정의 유형에는 적합도 검정, 독립성 검정, 동질성 검정으로 분류한다.

교차분석과 동일하게 범주형 변수를 대상 집단 별로 비율이 같은지 검정(비율에 대한 검정)하여 독립성 여부 검정 유의확률에 의해서 집단 간의 ‘차이가 있는가?’ 또는 ‘차이가 없는가?’로 가설을 검정한다.

 

귀무가설: 두 변인은 서로 독립적이다.

대립가설: 두 변인은 서로 독립적이지 않다.

 

ex)  CrossTable()함수를 이용한 카이제곱 검정

CrossTable(x = diamonds$cut, y = diamonds$color, chisq = TRUE)



 

 

 

(1) 카이제곱 검정 절차와 기본가정

< 카이제곱 검정 절차 >

  • 1단계: 가설을 설정
  • 2단계: 유의수준(α)을 결정
  • 3단계: 자유도(df)와 유의수준(α)에 따른 카이제곱 분포표에 의해 기각값 결정
  • 4단계: 관찰도수에 대한 기대도수를 구한다.
  • 5단계: 검정통계량 카이제곱의 값을 구한다
  • 6단계: 카이제곱 검정 통계량과 기각값을 비교하여 귀무가설 채택 여부를 판정
  • 7단계: 카이제곱 검정 결과를 진술

 

 

(2) 카이제곱 검정 유형

교차분할표 이용 여부에 따라 일원 카이제곱 검정과 이원 카이제곱 검정으로 분류

 

1. 일원 카이제곱 검정

교차분할표를 이용하지 않는 카이제곱 검정으로 한 개의 변인(집단 또는 범주)을 대상으로 검정을 수행 관찰도수가 기대도수와 일치하는지를 검정하는 적합도 검정(test for goodness of fit)

 

 

2. 이원 카이제곱

교차 분할 표를 이용하는 카이제곱 검정으로 한 개 이상의 변인(집단 또는 범주)을 대상으로 검정을 수행

분석대상의 집단 수에 의해서 독립성 검정과 동질성 검정으로 나누어진다.

  • 독립성 검정(test of independence): 한 집단 내에서 두 변인의 관계가 독립인지를 검정
  • 귀무가설: 두 사건은 관련성이 없다.

 

  • 동질성 검정(test of homogeneity): 두 집단 이상에서 각 범주(집단)간의 비율이 서로 동일한지를 검정하는 방법
  • 귀무가설: 모든 표본의 비율은 동일하다

 

(3) 일원 카이제곱 검정

교차분할표를 이용하지 않고 한 개의 변인을 대상으로 검정을 수행

적합도 검정과 선호도 분석에서 주로 이용

 

1. 적합도 검정

chisq.test()함수를 이용하여 관찰빈도와 기대빈도의 일치 여부를 검정

ex) 주사위 적합도 검정

귀무가설: 주사위는 게임에 적합하다.

대립가설: 주사위는 게임에 적합하지 않다.

 

chisq.test(c(4, 6, 17, 16, 8, 9))

# Chi-squared test for given probabilities

# data:  c(4, 6, 17, 16, 8, 9)
# X-squared = 14.2, df = 5, p-value = 0.01439
  • 유의확률(p-value) 해석하는 방법:  P값이 0.05 미만인 경우 평균 간에 차이가 없다는 귀무 가설을 기각하고 유의한 차이가 있다는 결론을 내리게 된다.
  • 검정 통계량 해석방법 : 검정통계량, 임계값의 비교
  • 자유도(df: degree of freedom): 검정을 위해서 n개의 표본(관측치)을 선정한 경우 n번째 표본은 나머지 표본이 정해지면 자동으로 결정되는 변인의 수를 의미
  • 교차분할표에서 자유도(df) = (행수-1) x (열수-1)

 

 

 

2. 선호도 분석

적합도 검정과 마찬가지로 관측빈도와 기대빈도의 차이를 통해서 확률모형이 주어진 자료를 얼마나 잘 설명하는지를 검정하는 통계적 방법

차이점은 분석에 필요한 연구환경과 자료라고 볼 수 있다.

 

*선호도 분석 가설 예) 귀무가설: 기대치와 관찰치는 차이가 없다. 대립가설: 기대치와 관찰치는 차이가 있다.

 

ex) 5개의 스포츠음료에 대한 선호도에 차이가 있는지 검정

귀무가설: 스포츠음료에 대한 선호도에 차이가 없다.

대립가설: 스포츠음료에 대한 선호도에 차이가 있다

data <- textConnection(
  "스포츠음료종류 관측도수 
  1 41
  2 30
  3 51
  4 71
  5 61
  ")

x <- read.table(data, header = T)
x

# 스포츠음료종류 관측도수
# 1              1       41
# 2              2       30
# 3              3       51
# 4              4       71
# 5              5       61
data <- textConnection(
  "스포츠음료종류 관측도수 
  1 41\n2 30\n3 51\n4 71\n5 61
  ")


x <- read.table(data, header = T)
x
  • textConnection()함수  :  R 에서 텍스트를 파일처럼 읽는 법 
chisq.test(x$관측도수)
# Chi-squared test for given probabilities

# data:  x$관측도수
# X-squared = 20.488, df = 4, p-value = 0.0003999

 

(4) 이원 카이제곱 검정

두 개 이상의 변인(집단 또는 범주)을 대상으로 교차분할표를 이용하는 카이제곱 검정방법

분석대상의 집단 수에 의해서 독립성 검정과 동질성 검정으로 나누어진다

 

 1. 독립성 검정 (관련성 검정) 

동일 집단의 두 변인을 대상으로 관련성 존재 여부를 검정하는 방법

귀무가설: 두 변인은 독립적이다 또는 관련성이 없다.

대립가설: 두 변인은 독립적이지 않다 또는 관련성이 있다

 

 

ex) 부모의 학력수준과 자녀의 대학 진학여부의 독립성(관련성) 검정

귀무가설: 부모의 학력수준과 자녀의 대학 진학여부는 독립적이다.

대립가설: 부모의 학력수준과 자녀의 대학 진학여부는 독립적이지 않다.

data <- read.csv("C:/cleanDescriptive.csv", header = TRUE) 
x <- data$level2
y <- data$pass2
CrossTable(x,y,chisq = TRUE)



해석 방법

유의확률(p-value) 해석: 유의확률(p-value)과 유의수준(α)과 비교

검정 통계량 해석: 검정통계량, 임계값의 비교

 

 

 2. 동질성 검정 

두 집단 분포의 동일 여부를 검정 동일한 분포를 가지는 모집단에서 추출된 것인지를 검정

귀무가설: 두 집단의 (변수)는 차이가 없다.

대립가설: 두 집단의 (변수)는 차이가 있다.

 

ex) 교육센터에서 교육방법에 따라 교육생들의 만족도에 차이가 있는지 검정

귀무가설: 교육방법에 따라 만족도에 차이가 없다.

대립가설: 교육방법에 따라 만족도에 차이가 있다.

homogenity.csv
0.00MB

 

 

 

#1 데이터 가져오기

data <- read.csv("C:/homogenity.csv")
head(data)
# no method survey
# 1  1      1      1
# 2  2      2      2
# 3  3      3      3
# 4  4      1      4
# 5  5      2      5
# 6  6      3      2

data <- subset(data, !is.na(survey), c(method, survey))
data

 

 

#2 코딩변경(변수 리코딩)

data$method2[data$method == 1] <- "방법1"
data$method2[data$method == 2] <- "방법2"
data$method2[data$method == 3] <- "방법3"

data$survey2[data$survey == 1] <- "1.매우만족"
data$survey2[data$survey == 2] <- "2.만족"
data$survey2[data$survey == 3] <- "3.보통"
data$survey2[data$survey == 4] <- "4.불만족"
data$survey2[data$survey == 5] <- "5.매우불만족"

head(data)
# method survey method2      survey2
# 1      1      1   방법1   1.매우만족
# 2      2      2   방법2       2.만족
# 3      3      3   방법3       3.보통
# 4      1      4   방법1     4.불만족
# 5      2      5   방법2 5.매우불만족
# 6      3      2   방법3       2.만족

 

 

#3 교차분할표 작성

table(data$method2, data$survey2)
# 1.매우만족 2.만족 3.보통 4.불만족 5.매우불만족
# 방법1          5      8     15       16            6
# 방법2          8     14     11       11            6
# 방법3          8      7     11       15            9

※ 교차분할표 작성 시 각 집단의 길이가 같아야 함

 

#4 동질성 검정 – 모든 특성치에 대한 추론 검정 ; 모든 특성치에 대한 추론 검정

chisq.test(data$method2,data$survey2)
# Pearson's Chi-squared test

# data:  data$method2 and data$survey2
# X-squared = 6.5447, df = 8, p-value = 0.5865

 

검정결과 해석

(관찰빈도-기대빈도)값이 작을수록 카이제곱의 값이 작아져서 귀무가설이 채택될 가능성이 커진다.

 

‘부모의 학력수준과 자녀의 대학 진학 여부와 관련성이 있다.’를 분석하기 위해서 자녀를 둔 A 회사 225명의 부모를 표본으로 추출한 후 설문 조사하여 교차분석과 카이제곱 검정을 시행하였다. 분석 결과를 살펴보면 부모의 학력 수준과 자녀의 대학진학 여부의 관련성은 유의미한 수준에서 차이가 없는 것으로 나타났다. (카이제곱값 = 2.76695, pvalue > 0.05) 따라서 귀무가설을 기각할 수 없기 때문에 부모의 학력 수준과 자녀의 대학진학 여부와는 관련성이 없는 것으로 분석된다.

반응형