이번에는 T-Test, 카이제곱, ANOVA에 대해서 간단하 코드와 적용가능 분야에 대하여 정리하였습니다.
T-Test(T-검정)
T-검정(T-Test)은 두 집단 간의 평균 차이가 통계적으로 유의미한지를 판단하기 위해 사용되는 통계 기법입니다. 이는 통계적 판단을 내릴 때 사용되는 t-분포(t-distribution)에서 유래합니다.
T-검정은 주로 세 가지 유형으로 나뉩니다:
- 독립표본 T-검정 (Independent Samples T-test)
서로 관련이 없는 두 집단의 평균을 비교합니다. - 대응표본 T-검정 (Paired Sample T-test)
동일한 집단의 평균을 두 시점에서 비교합니다. - 단일표본 T-검정 (One-sample T-test)
한 집단의 평균을 이미 알려진 특정 값과 비교합니다.
계산방법
간단히 말해, T-검정은 두 집단 간의 평균 차이를 데이터의 변동성으로 나누어 그 차이가 통계적으로 유의미한지를 판단합니다. 아래는 그 공식을 살펴보겠습니다.
표본 평균은 x1과 x2이고, 분산은 s2이며, 표본 크기는 n1과 n2입니다.
import numpy as np
from scipy import stats
#Group 2 and Group 2
group1= np.random.normal(5.0, 1.5, 50)
group2= np.random.normal(6.0, 1.5, 50)
# Independent T-test
t_stat, p_val = stats.ttest_ind(group1, group2)
print(f"T-Statistic: {t_stat}, P-Value: {p_val}")
T-Statistic: -4.825185376819317, P-Value: 5.1391514848993834e-06
해석:
이 P-값(0.05 미만)은 두 집단 간 평균에 통계적으로 유의미한 차이가 있음을 보여줍니다. 음의 T-통계량은
group1의 평균이 group2보다 낮음을 나타냅니다.
- 수면 보조제의 효과 : 새로운 수면 보조제를 복용한 피험자와 위약을 복용한 피험자의 평균 수면 시간을 비교
- 교육 방법 : 전통적인 방법을 사용하여 학생들의 시험 점수를 e러닝 플랫폼을 통해 가르친 점수와 비교
- 피트니스 프로그램 결과 : 유사한 인구통계학적 집단에서 두 가지 8주간 피트니스 프로그램이 체중 감량에 미치는 영향 평가\
- 생산성 소프트웨어: 서로 다른 생산성 앱을 사용하는 두 그룹의 평균 작업 완료 시간을 비교
- 음식 선호도 조사 : 소비자 샘플에서 새로운 음료의 인지된 맛 평가를 표준 경쟁사 제품과 측정하고 비교
카이제곱(Chi-Square Test)
카이제곱 검정 (Chi-Square Test)은 두 범주형 변수 간에 강한 연관성이 있는지를 판단하는 통계적 방법입니다. 카이제곱 검정에는 두 가지 주요 유형이 있습니다
- 독립성 검정 (Chi-Square Test of Independence)
두 범주형 변수가 서로 독립적인지 여부를 확인하는 것이 목적입니다. - 적합도 검정 (Chi-Square Goodness of Fit Test)
주어진 표본의 분포가 전체 모집단의 분포와 일치하는지 여부를 판단합니다.
계산방법
카이제곱 통계량의 공식은 다음과 같습니다
Oi는 관측치이고 Ei 기대치입니다.
간단히 말해, 이는 관찰된 빈도와 기대 빈도 간의 차이를 요약하는 값을 계산하는 것을 포함합니다. 이 값이 클수록, 관찰된 차이가 우연에 의한 것이 아닐 가능성이 높습니다.
간단한 파이썬 코드
이제 그것의 간단한 구현을 살펴보겠습니다.
from scipy.stats import chi2_contingency
import numpy as np
# Example data: 성별 vs. 영화 취향
data = np.array([[30, 10], [5, 25]])
chi2, p, dof, expected = chi2_contingency(data)
print(f"Chi2 Statistic: {chi2}, P-value: {p}")
Chi2 Statistic: 21.058333333333334, P-value: 4.455110459655313e-06
파이썬 코드의 카이제곱 검정 출력 결과는 다음과 같습니다:
카이제곱 통계량: 21.06
P-값: 0.00000446
카이제곱 통계량은 21.06이고, P-값은 약 0.00000446입니다.
이처럼 매우 낮은 P-값은 성별과 영화 선호도 사이에 유의미한 연관성이 있음을 의미합니다.
- 선거 예측: 유권자 연령대와 특정 정치 주제에 대한 선호도 사이의 관계를 분석
- 마케팅 캠페인: 지역별로 두 가지 서로 다른 마케팅 캠페인에 대한 반응 차이가 있는지 확인
- 교육 수준과 기술 사용: 지역 사회 내에서 교육 수준과 신기술 수용 간의 연관성을 탐색
- 질병 발생: 가장 영향을 많이 받은 지역에서 질병 확산과 인구 밀도 간의 관계를 조사
- 고객 만족도: 소매점에서 고객이 서비스를 받는 시간대와 고객 만족도 사이의 관계를 파악
ANOVA (분산 분석)
ANOVA는 세 개 이상의 집단 간 평균을 비교할 때 사용됩니다. 이를 통해 적어도 한 집단의 평균이 통계적으로 유의미하게 다른지를 판단할 수 있습니다.
- 일원분산분석 (One-Way ANOVA): 하나의 독립 변수에 대해 세 개 이상의 수준(집단) 간 평균을 비교합니다.
- 이원분산분석 (Two-Way ANOVA): 두 개의 독립 변수를 고려하여 평균을 비교합니다.
- 반복측정분산분석 (Repeated Measures ANOVA): 동일한 피험자가 모든 집단에서 사용될 때 적용됩니다.
계산방법
ANOVA의 공식은 다음과 같습니다:
쉽게 말해, ANOVA는 F-통계량을 계산합니다. 이는 집단 간 분산과 집단 내 분산의 비율입니다. F-값이 클수록 집단 평균 간의 차이가 더 유의미함을 나타냅니다.
간단한 파이썬 코드
이제 그것의 간단한 구현을 살펴보겠습니다.
from scipy import stats
import numpy as np
# Three different groups
group1 = np.random.normal(7.0, 1.5, 30)
group2 = np.random.normal(8.0, 1.5, 30)
group3 = np.random.normal(9.0, 1.5, 30)
# One-Way ANOVA
f_stat, p_val = stats.f_oneway(group1, group2, group3)
print(f"F-Statistic: {f_stat}, P-Value: {p_val}")
F-Statistic: 11.911789215209941, P-Value: 2.6766286972725935e-05
파이썬 코드의 ANOVA 검정 결과는 다음과 같습니다:
F-통계량: 11.91
P-값: 0.0000267
F-통계량은 11.91이고, P-값은 약 0.0000276입니다.
이처럼 매우 낮은 P-값은 비교된 집단들 중 적어도 하나의 평균이 다른 집단들과 통계적으로 유의미하게 다르다는 것을 나타냅니다.
- 농작물 수확량: 다양한 지역에서 여러 종류의 쌀에 대한 평균 수확량을 비교하여 어떤 품종이 가장 생산성이 높은지 판단
- 직원 생산성: 회사의 여러 부서 간 직원 생산성을 비교하여 유의미한 차이가 있는지 평가
- 치료 전략: 질병을 위한 다양한 치료 기법의 효과를 평가
- 게임 플랫폼: 동일한 비디오 게임을 실행할 때 여러 게임 시스템 간 평균 프레임 속도에 유의미한 차이가 있는지 확인
- 식단이 건강에 미치는 영향: 비건, 채식과 같은 다양한 식단이 참가자의 특정 건강 지표에 어떤 영향을 미치는지 조사
길어져서 다음글은 Mann-Whitney U 검정과 피어슨상관계수에 대한 코드와 활용분야를 공유하겠습니다.
'데이터분석' 카테고리의 다른 글
pandas vs datatable 파일 입출력 성능 비교 (0) | 2025.04.16 |
---|---|
분석을 위한 통계(Statistics)3 (1) | 2025.04.14 |
다중공선성(multicollinearity) (0) | 2025.04.10 |
분석을 위한 통계(Statistics)1 (0) | 2025.04.10 |
Colab 한글폰트 문제 해결 (0) | 2025.04.10 |