데이터 속에서 관계를 찾는 일은 분석의 시작점이자 본질이다. 특히 둘 다 범주형 변수, 다시 말해 분류나 집단으로 표현되는 정보일 때 그 관계를 어떻게 확인할 수 있을까?
예를 들어 이런 질문을 상상해본다. “남성과 여성은 온라인 쇼핑몰에 다시 방문하는 비율이 다를까?” 이처럼 두 변수 모두 범주형(성별, 재방문 여부)일 때 가장 널리 사용되는 분석 방법이 바로 교차분석(cross tabulation)이고, 그 중심에 있는 검정이 바로 카이제곱(χ²) 검정이다.
교차분석이란 무엇인가?
교차분석은 두 개 이상의 범주형 변수가 어떤 관계를 가지는지를 살펴보는 기법이다. 분석의 핵심은 ‘관측된 값’과 ‘기대되는 값’이 얼마나 다른가를 비교하는 데 있다.
예시: 성별과 쇼핑몰 재방문 여부
| 성별 | 재방문함 | 재방문 안 함 | 합계 |
|---|---|---|---|
| 남성 | 80명 | 120명 | 200명 |
| 여성 | 130명 | 70명 | 200명 |
| 합계 | 210명 | 190명 | 400명 |
위 표에서 눈에 띄는 건 여성의 재방문 비율이 더 높다는 점이다. 그러나 이것이 우연한 차이인지, 통계적으로 유의미한 차이인지를 판단하기 위해 카이제곱 검정(Chi-square test)을 수행하게 된다.
카이제곱 검정은 어떻게 작동하는가?
1. 기대빈도 계산
두 변수가 완전히 독립적이라면, 각 칸에 들어가야 할 ‘기대값’을 계산한다.
예: 남성 중 재방문 예상 인원 = (200 × 210) / 400 = 105명
2. 관측값과 기대값의 차이 계산
(관측값 – 기대값)² / 기대값의 합으로 카이제곱 통계량을 구한다.
3. p값 도출
자유도에 따라 계산된 값이 통계적으로 유의미한지(p<.05 등)를 확인다.
예시 결과 해석
| 항목 | 값 |
|---|---|
| 카이제곱 통계량 | 25.2 |
| 자유도(df) | 1 |
| p값 | 0.0001 |
p < 0.05이므로 두 변수는 독립이 아니라고 판단한다. 즉, 성별과 재방문 여부는 통계적으로 유의한 관계를 가진다고 해석할 수 있다.
기대빈도는 어떻게 계산할까?
카이제곱 검정의 핵심은 “실제 관측값”과 “기대되는 값”의 차이를 확인하는 것이다. 이때의 기대값(기대빈도)은 두 변수가 완전히 독립적일 때 나올 수 있는 빈도를 뜻하며, 다음 공식으로 계산한다.
기대빈도 = (해당 행의 총합 × 해당 열의 총합) ÷ 전체 총합
기대빈도 계산 예시
실제 교차표 (관측값)은 다음과 같다.
| 성별 | 재방문함 | 재방문 안 함 | 합계 |
|---|---|---|---|
| 남성 | 80명 | 120명 | 200명 |
| 여성 | 130명 | 70명 | 200명 |
| 합계 | 210명 | 190명 | 400명 |
기대빈도의 계산결과는 다음과 같다.
- 남성 / 재방문함 = (200 × 210) ÷ 400 = 105
- 남성 / 재방문 안 함 = (200 × 190) ÷ 400 = 95
- 여성 / 재방문함 = (200 × 210) ÷ 400 = 105
- 여성 / 재방문 안 함 = (200 × 190) ÷ 400 = 95
기대빈도 표는 다음과 같다.
| 성별 | 재방문함 | 재방문 안 함 | 합계 |
|---|---|---|---|
| 남성 | 105 | 95 | 200 |
| 여성 | 105 | 95 | 200 |
| 합계 | 210 | 190 | 400 |
카이제곱 검정은 이 기대빈도와 실제 관측값의 차이를 기준으로 통계적으로 두 변수 간의 관계가 우연인지 아닌지를 판단한다.
주의할 점
1. 기대빈도는 충분히 커야 한다
- 기대값이 5 미만인 셀이 많으면 검정의 신뢰도가 낮아진다.
- 이 경우 피셔의 정확검정(Fisher’s Exact Test)을 대안으로 고려해야 한다.
2. 범주형 변수만 사용할 수 있다
- 성별, 직업, 지역, 응답 여부 등 서로 나뉘는 변수에만 적용 가능하다.
- 연속형 변수를 억지로 범주화하면 정보 손실이 발생할 수 있다.
3. 원인-결과 해석은 금물이다
- 교차분석은 ‘관련성’만 보여줄 뿐, 인과관계는 증명하지 않는다.
- 관계가 있다는 것과 A가 B에 영향을 미쳤다는 것은 전혀 다른 이야기이다.
교차분석 vs 다른 분석 비교
| 분석기법 | 변수 유형 | 목적 | 대표 지표 |
|---|---|---|---|
| 교차분석(χ²) | 범주형 vs 범주형 | 관계성 유무 | 카이제곱 통계량, p값 |
| 상관분석 | 수치형 vs 수치형 | 직선적 관계 측정 | 상관계수 (r) |
| t-검정 / ANOVA | 범주형 vs 수치형 | 평균 차이 검정 | t값, F값, p값 |
피셔의 정확검정: 작은 표본에 강하다
피셔의 정확검정은 2×2 교차표에서 작은 표본이나 희귀 사건을 다룰 때 매우 유용하다. 카이제곱 검정처럼 근사값을 사용하지 않고, 정확한 확률(p값)을 계산하기 때문에 신뢰도가 높다.
피셔 검정 예시
| 그룹 | 성공 | 실패 | 합계 |
|---|---|---|---|
| A | 1 | 9 | 10 |
| B | 8 | 2 | 10 |
| 합계 | 9 | 11 | 20 |
- 질문: A그룹과 B그룹의 ‘성공률’이 정말로 차이가 있는가?
- 관찰: A는 10명 중 1명만 성공했고, B는 8명 성공했다.
- 이 정도 차이가 우연히 발생할 수 있는 수준인지, 아니면 통계적으로 의미 있는 차이인지를 피셔의 정확검정으로 판단한다.
소프트웨어(R, SPSS, Python 등)를 이용해 수행하면 p값이 0.01 미만이라면 두 그룹 간 성공률 차이는 통계적으로 유의하다고 해석할 수 있다.
비교 요약
| 항목 | 카이제곱 검정 | 피셔의 정확검정 |
|---|---|---|
| 적용 표 크기 | 2×2 이상 (범용) | 2×2 교차표 중심 |
| 기대빈도 요건 | 각 셀 ≥ 5 | 제약 없음 |
| 표본 크기 | 중간~대 표본에 적합 | 소표본에 적합 |
| 계산 방식 | 근사 확률 사용 | 정확 확률 계산 |
| 소프트웨어 구현 | 매우 간단 | 대부분 자동 제공 |
마무리하며
교차분석은 단순한 빈도 비교를 넘어 두 변수 사이에 ‘통계적 의미’가 있는지 여부를 판단할 수 있는 강력한 도구이다. 하지만 그 해석은 어디까지나 ‘연관성’의 수준이어야 하며, 인과를 주장하고자 할 때는 반드시 추가적인 분석 설계가 필요하다.
데이터의 관계를 묻는 일은 곧 세상에 대한 질문을 더 정교하게 만드는 작업이다. 교차분석은 그 출발점에 서 있는 도구이다.









