[R] 범주형 자료에서 독립성 검정

반응형

Brief description : Test of independence

  • 분할표에 행에 나열된 변수와 열에 나열된 변수가 독립이라고 가정한다면, 각 \(i\)번째 행, \(j\)번째 열의 셀 확률 값을 \(P(i,j)\)라고 할 때 다음이 성립됩니다.

\[P(i, j) = P(i) \times P(j)\]

  • 여기서 말하는 독립성 검정은 실제로 이와 같은 가정이 성립하는 지 알아보는 것을 목표로 합니다.
  • 변수 간의 독립성 검정에는 카이제곱 검정(Chi-Squared Test)을 사용하며 이 때 사용하는 통계량은 아래와 같습니다.

\[\sum^{r}_{i=1} \sum^{c}_{j=1} \frac{O_{ij}- E_{ij}}{E_{ij}} \sim \chi^{2}_{(r-1)(c-1)}\] - 위 식에서 \(r\)은 행의 수, \(c\)는 열의 수를 의미하고 \(O_{ij}\)는 분할표의 \((i, j)\)셀에 기록되어 있는 값입니다. - \(E_{ij}\)는 분할표의 두 변수가 독립일 때 \((i, j)\)셀에 대한 기댓값 입니다. - 이론적인 부분에 대한 구체적인 설명은 위키 등 더 좋은 자료를 참고하시고, R로 수행하는 방법에 대해서 설명드리겠습니다.



Simple Example

  • MASS 라이브러리에 내장되어 있는 survey 데이터를 사용하여 독립성 검정을 시행해보는 절차에 대해서 말씀드리겠습니다.
library(MASS)
data(survey)
  • survey는 학생 설문 조사 데이터입니다. str() 함수를 이요해서 데이터의 구조를 살펴보겠습니다.
str(survey)
## 'data.frame':    237 obs. of  12 variables:
##  $ Sex   : Factor w/ 2 levels "Female","Male": 1 2 2 2 2 1 2 1 2 2 ...
##  $ Wr.Hnd: num  18.5 19.5 18 18.8 20 18 17.7 17 20 18.5 ...
##  $ NW.Hnd: num  18 20.5 13.3 18.9 20 17.7 17.7 17.3 19.5 18.5 ...
##  $ W.Hnd : Factor w/ 2 levels "Left","Right": 2 1 2 2 2 2 2 2 2 2 ...
##  $ Fold  : Factor w/ 3 levels "L on R","Neither",..: 3 3 1 3 2 1 1 3 3 3 ...
##  $ Pulse : int  92 104 87 NA 35 64 83 74 72 90 ...
##  $ Clap  : Factor w/ 3 levels "Left","Neither",..: 1 1 2 2 3 3 3 3 3 3 ...
##  $ Exer  : Factor w/ 3 levels "Freq","None",..: 3 2 2 2 3 3 1 1 3 3 ...
##  $ Smoke : Factor w/ 4 levels "Heavy","Never",..: 2 4 3 2 2 2 2 2 2 2 ...
##  $ Height: num  173 178 NA 160 165 ...
##  $ M.I   : Factor w/ 2 levels "Imperial","Metric": 2 1 NA 2 2 1 1 2 2 2 ...
##  $ Age   : num  18.2 17.6 16.9 20.3 23.7 ...
  • 우리가 여기서 살펴볼 부분은 성별변수(Sex)와 운동을 얼마나 하는지에 대한 변수(Exer)를 가지고 성별과 운동변수가 독립인지를 확인해보고자 합니다.

 

  • 먼저 분할표를 작성합니다. xtabs() 함수를 이용합니다.
xtabs(
  formula = ~ 변수1 + 변수2 + ..., 
  data
)
x <- xtabs(~ Sex + Exer, data = survey)
x
##         Exer
## Sex      Freq None Some
##   Female   49   11   58
##   Male     65   13   40
  • 그 다음 chisq.test() 함수를 통하여 카이제곱 검정을 수행할 수 있습니다.
    • 귀무가설 \(H_0\): 성별과 운동 변수는 서로 독립이다.
chisq.test(x)
## 
##  Pearson's Chi-squared test
## 
## data:  x
## X-squared = 5.7184, df = 2, p-value = 0.05731
  • 그 결과 p-value 값은 0.05731로 유의수준 0.05 하에 귀무가설을 기각할 수 없는 것으로 판단할 수 있습니다.
  • 따라서 성별과 운동간의 관계는 서로 독립이라고 말할 수 있습니다.
반응형

'Basic' 카테고리의 다른 글

[R] 상관 분석  (0) 2017.07.07
[R] 적합도 검정  (0) 2017.07.04
[R] 표본 추출  (0) 2017.07.03
[R] 난수생성과 기초통계량  (0) 2017.07.03
[R] 기본 plot 함수  (1) 2017.07.03
TAGS.

Comments