250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Counterfactual Explanations
- GCP
- BigQuery
- integrated gradient
- TensorFlow
- top_k
- flask
- chatGPT
- airflow subdag
- UDF
- 공분산
- session 유지
- 상관관계
- tensorflow text
- API
- GenericGBQException
- gather_nd
- XAI
- login crawling
- hadoop
- Airflow
- youtube data
- API Gateway
- spark udf
- 유튜브 API
- correlation
- Retry
- subdag
- requests
- grad-cam
Archives
- Today
- Total
데이터과학 삼학년
범주형 변수 상관관계?! -> cross tab with chi square 본문
반응형
교차표와 카이제곱 검정: 독립성 테스트
1. 교차표란?
- 교차표(Cross Tabulation): 두 변수 간의 관계를 2차원 행렬로 나타내는 방법
- 두 변수의 각 범주에 대한 빈도를 표시
- Excel의 피벗 테이블과 유사하게 데이터를 시각화
- 주요 장점: 데이터 분포를 쉽게 이해 가능
2. 카이제곱 검정이란?
- 카이제곱 검정(χ² Test): 두 변수 간의 관계가 통계적으로 유의미한지 평가하는 방법
- 목적: 관찰된 데이터가 우연인지, 아니면 두 변수 간에 실제로 의미 있는 관계가 있는지를 판단
3. 예시
- 질문: "마지막 접촉 채널과 디바이스 유형 간에 관계가 있는가?"
- 방법: 교차표를 통해 두 변수의 분포 확인 후 카이제곱 검정 수행
4. 카이제곱 검정 수행 절차
- 관찰 데이터(Observed Data) 준비: 두 변수의 실제 데이터를 교차표 형태로 정리
- 기대값(Expected Values) 계산: 각 셀의 기대값 계산
- 각 행, 열의 총합을 이용하여 기대값 도출
- 카이제곱 통계량 계산: 각 셀에 대해 관찰값과 기대값 차이를 제곱 후 기대값으로 나누어 카이제곱 통계량 계산
- 카이제곱 값 합산: 모든 셀의 카이제곱 값을 합산하여 최종 카이제곱 값 도출
- 유의미성 평가: 최종 카이제곱 값을 임계값과 비교하여 귀무가설 기각 여부 결정
5. 예시 계산: 데스크탑 사용자와 유기적 검색
- 기대값 계산 방식
- 행 총합(데스크탑) / 전체 총합
- 열 총합(유기적 검색) / 전체 총합
- 위 두 값 곱한 후 전체 총합으로 곱산
- 수식 예시
sessionsexpected = (r1 / T) * (c1 / T) * T = (100 / 300) * (80 / 300) * 300 = 26.67 ≈ 27
- 모든 셀에 대해 기대값을 계산한 후 관찰값과 비교하여 카이제곱 통계량 계산
6. Python을 사용한 카이제곱 검정 예시
import pandas as pd
from scipy.stats import chi2_contingency
# 데이터 프레임 생성
data = {'device_category': ['Phone', 'Tablet', 'Desktop'],
'Organic_Search': [35, 20, 25],
'Paid_Search': [15, 30, 20],
'Email': [10, 25, 35],
'Display': [40, 25, 20]}
df = pd.DataFrame(data)
# 교차표 생성
cross_tab = df.set_index('device_category')
# 카이제곱 검정 수행
chi2, p, dof, expected = chi2_contingency(cross_tab)
print(f"Chi2: {chi2}")
print(f"P-value: {p}")
print(f"Degrees of Freedom: {dof}")
print("Expected Frequencies:")
print(expected)
- 출력 결과: 카이제곱 값, p-값, 자유도 및 기대값이 포함됨
7. 결과 해석
- 유의미성 평가: 자유도와 유의수준을 사용해 임계값 결정
- 예: 자유도 6, 유의수준 0.1일 때, 임계 카이제곱 값 = 10.64
- 결론: 관찰된 카이제곱 값이 임계값 초과 시 귀무가설 기각 → 두 변수 간 유의미한 관계 있음
8. 결론
- 카이제곱 검정: 두 변수 간 관계 평가에 유용한 도구
- 데이터 분석 시 단순 우연이 아닌 유의미한 관계 여부를 판단하는 데 활용
- 교차표와 카이제곱 검정을 통해 데이터에서 유용한 통찰 도출 가능
https://www.dartistics.com/cross-tab-w-chi-square.html
728x90
반응형
LIST
'Statistical Learning' 카테고리의 다른 글
카파 통계량 (Kappa-statistics) (0) | 2024.02.22 |
---|---|
범주형 변수와 연속형 변수간 상관관계(categorical numerical correlation) (0) | 2023.09.25 |
SMOTENC :: oversampling with categorical variable (0) | 2023.07.25 |
smoothing 기법 (0) | 2023.07.11 |
pandas stratified sampling (층화표본) (0) | 2023.06.08 |
Comments