비모수 통계 분석 기법

비모수 통계의 이해

비모수 통계 방법은 관측 데이터의 기본 분포에 대한 강한 가정(예: 정규성)을 요구하지 않는 가설 검정 접근법입니다. 이러한 방법은 특히 표본 크기가 작거나, 데이터가 순위형이거나, 분포 가정을 충족하지 못하는 경우에 유용합니다.

주요 비모수 검정법

1. 만-휘트니 U 검정 (독립 표본 순위합 검정)

이 검정은 두 독립 집단의 분포 위치를 비교하며, 정규성을 가정할 수 없는 경우에 적용됩니다. 두 집단의 모든 값을 결합하여 순위를 매긴 후, 순위의 합을 비교합니다.

검정 통계량 계산: U 값은 다음 공식으로 구할 수 있습니다:

U = n₁ * n₂ + (n₁*(n₁+1))/2 - R₁

여기서 n₁과 n₂는 각 집단의 표본 크기이며, R₁은 첫 번째 집단의 순위 합입니다.

실제 사례: 새로운 두 가지 교육 방법의 효과를 평가합니다. 각 방법으로 훈련받은 학생들의 시험 점수를 비교하는 경우를 생각해 보세요.

2. 부호 검정 (대응 표본 검정)

이 방법은 동일한 개체에 대해 측정된 두 개의 관련된(대응) 표본을 비교합니다. 두 측정값 사이의 차이의 부호(증가 또는 감소)만을 고려하여 중앙값 차이가 유의한지 평가합니다.

수행 단계:

  1. 각 쌍의 측정값 간 차이를 계산합니다.
  2. 긍정적인 차이(향상)와 부정적인 차이(악화)의 개수를 셉니다.
  3. 이항 분포를 사용하여 귀무 가설(중앙값 차이가 0)을 검정합니다.

예시: 약물 투여 전후의 환자 혈압 측정값을 비교하여 약물의 효과를 판단하는 경우.

3. 카이제곱 독립성 검정

이 검정은 두 범주형 변수 간의 연관성이 통계적으로 유의한지 평가합니다. 관찰된 빈도와 기대 빈도 간의 불일치를 측정합니다.

카이제곱 통계량: χ² = Σ[(Oᵢ - Eᵢ)² / Eᵢ]

여기서 Oᵢ는 관측 빈도, Eᵢ는 기대 빈도입니다.

사용 예: 교육 수준(고졸, 대졸, 대학원)과 특정 기술에 대한 숙련도(초급, 중급, 고급) 사이의 관계를 조사하는 경우.

비모수 방법의 장단점

장점:

  • 데이터 분포에 대한 가정이 필요하지 않습니다.
  • 소표본, 순위 데이터, 비정규 데이터에 적합합니다.
  • 이상치에 덜 민감합니다.

단점:

  • 동일한 조건에서 모수 검정에 비해 검정력(효율)이 낮을 수 있습니다.
  • 모수(예: 평균, 분산)에 대한 직접적인 추정을 제공하지 않습니다.

파이썬 실습 예제

만-휘트니 U 검정 구현

from scipy.stats import mannwhitneyu

group_A = [85, ★90, 78, 88, 82]
group_B = [72, 80, 75, 70, 78]

statistic, prob = mannwhitneyu(group_A, group_B)
print(f"U 통계량: {statistic:.4f}")
print(f"유의확률(p-value): {prob:.4f}")
if prob < 0.05:
    print("결과: 두 집단의 분포 위치에 유의미한 차이가 있습니다.")
else:
    print("결과: 두 집단의 분포 위치에 유의미한 차이가 없습니다.")

부호 검정 구현

import numpy as np
from scipy.stats import binom_test

baseline = np.array([120, 118, 122, 119, §121])
post_treatment = np.array([115, 116, 119, 113, 118])

differences = post_treatment - baseline
positive_signs = np.sum(differences < 0)  # 혈압 감소를 긍정적인 변화로 간주

p_val = binom_test(positive_signs, n=len(baseline), p=0.5, alternative='two-sided')
print(f"양측 부호 검정 p-value: {p_val:.4f}")

카이제곱 독립성 검정 구현

import scipy.stats as stats
import numpy as np

# 교차표(Contingency Table) 데이터
survey_data = np.array([[25, 15, 10],
                        [20, 25, 5],
                        [5, 10, 25]])

chi2, p, degrees_of_freedom, expected = stats.chi2_contingency(survey_data)
print(f"카이제곱 통계량: {chi2:.2f}")
print(f"자유도: {degrees_of_freedom}")
print(f"유의확률: {p:.4f}")
print("\n기대 빈도표:")
print(expected)

적용 연습 문제

  1. 순위합 검정: 두 가지 다른 농약이 식물 성장에 미치는 영향을 비교하세요. 각 농약을 사용한 식물군의 높이 데이터가 주어졌습니다.
  2. 부호 검정: 새로운 다이어트 프로그램 전후의 체중 측정 데이터를 분석하여 프로그램의 효과를 평가하세요.
  3. 카이제곱 검정: 성별(남/여)과 선호하는 커피 타입(에스프레소, 라떼, 아메리카노) 사이에 유의한 연관성이 있는지 조사하세요.

비모수 방법은 데이터 분석의 유연한 도구 상자를 제공하며, 특히 가정을 충족하기 어려운 실제 데이터를 다룰 때 필수적입니다.

태그: 비모수통계 만휘트니U검정 부호검정 카이제곱검정 가설검정

8월 11일 16:00에 게시됨