교차분석: 두 개 이상의 범주형 변수를 대상으로 교차 분할표를 작성하고, 이를 통해서
변수 상호 간의 관련성 여부를 분석
특히 빈도분석 결과에 대한 보충자료를 제시하는데 효과적
카이제곱 검정: 교차분석으로 얻어진 교차 분할표를 대상으로 유의확률을 적용하여 변수
간의 독립성 및 관련성 여부 등을 검정하는 분석 방법
1. 교차분석
교차검정(Cross Table Analyze): 범주형 자료(명목/서열 척도)를 대상으로 두 개 이상의
변수들에 대한 관련성을 알아보기 위해서 결합분포를 나타내는 교차 분할표를 작성하고
이를 통해서 변수 상호간의 관련성 여부를 분석하는 방법
교차분석은 빈도분석의 특성별 차이를 분석하기 위해 수행하는 분석방법으로 빈도분석
결과에 대한 보충자료를 제시하는데 효과적
연구 환경에서 변수(독립/종속 변수)를 확인하여 모델링한 후 범주형 데이터로 변환하는 변수 리코딩 과정을 거친다. 대상변수를 분할표로 작성하기 위해서는 데이터프레임을 생성해야 한다. 변수 모델링: 특정 객체를 대상으로 분석할 속성(변수)을 선택하여 속성 간의 관계를 설정하는 일련의 과정 예) smoke 객체에서 education과 smoking 속성을 분석대상으로 하여 교육수준(education)이 흡연율(smoking)과 관련성이 있는가를 모델링하는 하는 경우 ‘education smoking’ 형태로 기술한다. 독립변수 -> 종속변수
#실습 (변수 리코딩과 데이터프레임 생성)
#1단계: 실습 파일 가져오기
setwd("C:/Rwork/")
data <- read.csv("cleanDescriptive.csv", header = TRUE)
head(data)
#2단계: 변수 리코딩
x <- data$level2
y <- data$pass2
#교차분할표 작성을 위해 데이터프레임 생성 방법
data.frame(컬럼명 = x, 컬럼명 = y)
#where
#x, y: 명목척도 변수
#3단계: 데이터프레임 생성
result <- data.frame(Level = x, Pass = y)
dim(result)
1.2 교차분석
교차 분할표를 통해서 범주형 변수의 관계를 분석하는 방법으로 이전에 작성한 데이터프레임을 이용하여 교차분석을 수행한다.
#실습 (교차분할표 작성)
#1단계: 기본 함수를 이용한 교차분할표 작성
table(result)
#2단계: 교차분할표 작성을 위한 패키지 설치
install.packages("gmodels")
library(gmodels)
install.packages("ggplot2")
library(ggplot2)
gmodels 패키지
데이터 셋 diamonds 데이터셋 설명
https://www.rdocumentation.org/packages/ggplot2/versions/3.3.5/topics/diamonds
#3단계: 패키지를 이용한 교차 분할표 작성
CrossTable(x = diamonds$color, y = diamonds$cut)
For CrossTable() 함수
https://www.rdocumentation.org/packages/gmodels/versions/2.18.1/topics/CrossTable5
#실습 (패키지를 이용한 교차분할표 작성: 부모의 학력 수준과 자녀 대학 진학 여부)
# 변수모델: 학력수준(독립변수) -> 진학 여부(종속변수)
x <- data$level2
y <- data$pass2
CrossTable(x, y)
#결과에서
#N: 관측치
#Chi-square contribution: 기대비율 카이제곱 식(=∑(관측값 – 기대값)2 / 기대값)에 의해
#구해진 결과, 카이제곱 식에서 기대값은 (현재 셀의 행 합 X 현재 셀의 열 합) / 전체합)
#수식으로 산출
#예) 부모의 학력수준이 고졸이면서 자녀가 대학에 합격할 경우의 기대값: (89 x 135) / 225
#= 53.4
#기대비율: (49-53.4)2 / 53.4 = 0.3625
#N/Row Total: 행비율
#N/Column Total: 열 비율
#N/Table Total: 셀 비율
#맨 마지막 행에서
#Column Total 90 -> 전체 관측치
0.4 -> 열비율
이렇게 계산된 기대비율 6개(교차분할표 6개 셀)의 총합과 자유도(df)라는 검정 통계량을
이용하여 두 변인 간의 관련성 여부를 검정하는 방법 -> 카이제곱 검정
변수들에 대한 결합분포를 나타내는 교차분할표의 결과를 토대로 변수 간의 관련성을 다음과 같이 진술
교차분할표 해석:
부모의 학력 수준에 따른 대학 자녀의 진학 설문 여부를 결과 조사한 학력 부모의 수준에 상관없이 대학진학 학력 합격률이 평균 60.0%로 유사한 수준별로 결과가 나타났다.
전체 응답자 225명을 대상으로 고졸 39.6%(89명) 중 55.1%가 진학에 성공하였고, 대졸 36.4%(82명) 중 68.4%가 성공했으며, 대학원졸은 24%(54명) 중 57.4%가 대학진학에 대졸 부모의 성공하였다. 특히 평균보다 조금 높고, 고졸 부모의 대학진학 합격률이 대학진학 합격률이 평균보다 조금 낮은 것으로 분석된다.
2. 카이제곱 검정
카이제곱 검정(chi-square test): 범주(category)별로 관측빈도와 기대빈도의 차이를 통해서 확률 모형이 데이터를 얼마나 잘 설명하는지를 검정하는 통계적 방법.
얻어진 일반적으로 변수 간의 분할표를 교차분석에서 대상으로 유의확률을 적용하여
독립성(관련성) 여부를 검정하는 분석 방법
교차분석은 카이제곱 검정 통계량을 사용하기 때문에 교차분석을 카이제곱 검정이라고도
한다. 카이제곱 검정의 유형에는 적합도 검정, 독립성 검정, 동질성 검정으로 분류한다.
카이제곱 검정:
교차분석과 동일하게 범주형 변수를 대상
집단 별로 비율이 같은지 검정(비율에 대한 검정)하여 독립성 여부 검정
유의확률에 의해서 집단 간의 ‘차이가 있는가?’ 또는 ‘차이가 없는가?’로 가설을 검정
#실습 (CrossTable()함수를 이용한 카이제곱 검정)
CrossTable(x = diamonds$cut, y = diamonds$color, chisq = TRUE)
#CrossTable()함수
#https://www.rdocumentation.org/packages/gmodels/versions/2.18.1/topics/CrossTable
#where
#‘chisq=TRUE’ 속성: 카이제곱 검정의 결과 산출
#귀무가설: 두 변인은 서로 독립적이다.
#대립가설: 두 변인은 서로 독립적이지 않다.
2.1 카이제곱 검정 절차와 기본가정
카이제곱 검정 절차:
1단계: 가설을 설정
2단계: 유의수준(α)을 결정
3단계: 자유도(df)와 유의수준(α)에 따른 카이제곱 분포표에 의해 기각값 결정
4단계: 관찰도수에 대한 기대도수를 구한다.
5단계: 검정통계량 카이제곱의 값을 구한다
6단계: 카이제곱 검정 통계량과 기각값을 비교하여 귀무가설 채택 여부를 판정
7단계: 카이제곱 검정 결과를 진술
2.2 카이제곱 검정 유형
교차분할표 이용 여부에 따라 일원 카이제곱 검정과 이원 카이제곱 검정으로 분류
(1)일원 카이제곱 검정
교차 분할표를 이용하지 않는 카이제곱 검정으로 한 개의 변인(집단 또는 범주)을 대상으로 검정을 수행
관찰도수가 기대도수와 일치하는지를 검정하는 적합도 검정(test for goodness of fit)
(2)이원 카이제곱 교차
분할 표를 이용하는 카이제곱 검정으로 한 개 이상의 변인(집단 또는 범주)을 대상으로 검정을 수행 분석대상의 집단 수에 의해서 독립성 검정과 동질성 검정으로 나누어진다.
독립성 검정(test of independence): 한 집단 내에서 두 변인의 관계가 독립인지를 검정 귀무가설: 두 사건은 관련성이 없다. 동질성 검정(test of homogeneity): 두 집단 이상에서 각 범주(집단)간의 비율이 서로 동일한지를 검정하는 방법 귀무가설: 모든 표본의 비율은 동일하다.
2.3 일원 카이제곱 검정
(1) 적합도 검정
chisq.test()함수를 이용하여 관찰빈도와 기대빈도의 일치 여부를 검정
https://www.rdocumentation.org/packages/stats/versions/3.6.2/topics/chisq.test
실습 (주사위 적합도 검정)
60회 주사위를 던져서 나온 관측도수와 기대도수가 [표 12.1]과 같이 나오는 경우 이 주사위는 게임에 적합한 주사위인지를 일원 카이제곱 검정방법으로 분석한다.
귀무가설: 주사위는 게임에 적합하다.
대립가설: 주사위는 게임에 적합하지 않다.
chisq.test(c(4, 6, 17, 16, 8, 9))
유의확률(p-value) 해석하는 방법:
검정통계량 해석하는 방법:
자유도(df: degree of freedom): 검정을 위해서 n개의 표본(관측치)을 선정한 경우 n번째 표본은 나머지 표본이 정해지면 자동으로 결정되는 변인의 수를 의미
교차분할표에서 자유도(df) = (행수-1) x (열수-1)
(2) 선호도 분석
적합도 검정과 마찬가지로 관측빈도와 기대빈도의 차이를 통해서 확률모형이 주어진
자료를 얼마나 잘 설명하는지를 검정하는 통계적 방법
차이점은 분석에 필요한 연구환경과 자료라고 볼 수 있다.
선호도 분석 가설 예)
귀무가설: 기대치와 관찰치는 차이가 없다.
대립가설: 기대치와 관찰치는 차이가 있다.
실습 (5개의 스포츠음료에 대한 선호도에 차이가 있는지 검정)
귀무가설: 스포츠음료에 대한 선호도에 차이가 없다.
대립가설: 스포츠음료에 대한 선호도에 차이가 있다.
data <- textConnection(
"스포츠음료종류 관측도수
1 41
2 30
3 51
4 71
5 61
")
x <- read.table(data, header = T)
x
chisq.test(x$관측도수)
#textConnection()함수
#https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/textConnection
2.4 이원 카이제곱 검정
두 개 이상의 변인(집단 또는 범주)을 대상으로 교차 분할표를 이용하는 카이제곱 검정방법 분석대상의 집단 수에 의해서 독립성 검정과 동질성 검정으로 나누어진다.
(1) 독립성 검정(관련성 검정)
동일 집단의 두 변인을 대상으로 관련성 존재 여부를 검정하는 방법
귀무가설: 두 변인은 독립적이다 또는 관련성이 없다.
대립가설: 두 변인은 독립적이지 않다 또는 관련성이 있다.
실습 (부모의 학력수준과 자녀의 대학 진학여부의 독립성(관련성) 검정)
귀무가설: 부모의 학력수준과 자녀의 대학 진학여부는 독립적이다.
대립가설: 부모의 학력수준과 자녀의 대학 진학여부는 독립적이지 않다.
setwd("C:/Rwork/ ")
data <- read.csv("cleanDescriptive.csv", header = TRUE)
x <- data$level2
y <- data$pass2
CrossTable(x, y, chisq = TRUE)
해석 방법
유의확률(p-value) 해석: 유의확률(p-value)과 유의수준(α)과 비교
검정 통계량 해석: 검정통계량, 임계값의 비교
(2) 동질성 검정
두 집단 분포의 동일 여부를 검정
동일한 분포를 가지는 모집단에서 추출된 것인지를 검정
귀무가설: 두 집단의 (변수)는 차이가 없다.
대립가설: 두 집단의 (변수)는 차이가 있다.
실습 (교육센터에서 교육방법에 따라 교육생들의 만족도에 차이가 있는지 검정)
귀무가설: 직업 유형에 따라 만족도에 차이가 없다.
대립가설: 직업 유형에 따라 만족도에 차이가 있다.
#1단계: 데이터 가져오기
setwd("C:/Rwork/ ")
data <- read.csv("homogenity.csv")
head(data)
data <- subset(data, !is.na(survey), c(method, survey))
#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.매우불만족"
#3단계: 교차분할표 작성
table(data$method2, data$survey2)
#*교차분할표 작성 시 각 집단의 길이가 같아야 함
#4단계: 동질성 검정 – 모든 특성치에 대한 추론 검정
chisq.test(data$method2, data$survey2)
3. 교차분석과 검정보고서 작성
카이제곱 검정은 교차분석으로 얻어진 교차 분할표를 대상으로 유의확률을 적용하여 변수 간의 독립성(관련성) 여부를 검정
교차분할표와 카이제곱 검정 통계량을 제시
[표12.2] 교차분석과 카이제곱 검정 결과
(관찰빈도-기대빈도)값이 작을수록 카이제곱의 값이 작아져서 귀무가설이 채택될
가능성이 커진다.
연구자는 교차분석과 카이제곱 검정 결과를 토대로 가설검정의 연구환경과 검정 결과를
종합적으로 해석해야 한다.
검정결과 해석:
‘부모의 학력수준과 자녀의 대학 진학 여부와 관련성이 있다.’를 분석하기 위해서 자녀를
둔 A 회사 225명의 부모를 표본으로 추출한 후 설문 조사하여 교차분석과 카이제곱
검정을 시행하였다. 분석 결과를 살펴보면 부모의 학력 수준과 자녀의 대학진학 여부의
관련성은 유의미한 수준에서 차이가 없는 것으로 나타났다. (카이제곱값 = 2.76695, pvalue > 0.05)
따라서 귀무가설을 기각할 수 없기 때문에 부모의 학력 수준과 자녀의 대학진학 여부와는
관련성이 없는 것으로 분석된다.
'데이터분석 > 통계기반' 카테고리의 다른 글
분산분석(ANOVA Analysis) (F-검정) (0) | 2022.12.12 |
---|---|
왜도, 첨도, 히스토그램, 기술통계랑 (0) | 2022.12.12 |
집단간 차이분석 (1) | 2022.12.12 |
빅분기 실기 R,Python 베이스라인, 기본코드 (0) | 2022.12.12 |
기술통계분석 (2) | 2022.12.12 |