ADP/통계분석

[통계분석] 부호 검정

rtw0202 2024. 10. 10. 19:25
728x90

부호 검정이란?

두 집단 간의 중앙값 차이를 비교할 때 사용

독립변수 X : 범주형 변수 (성별, 종교, 부서)

종속변수 y : 연속형 변수

wilcoxon 부호 순위 검정은 순위를 이용하지만, 부호 검정은 단순히 두 값의 차이에 대해 부호(+, -)만을 고려함

 

1. 중위수(median)와 같은 데이터 제외

median_value = df[X1].median()

df_filtered = df[df[X1]!=median_value] # 중앙값과 동일한 관측값 제외

valid_samples = df_filtered.shape[0] # 유효한 데이터의 개수

 

2. 나머지 데이터에서 부호(+, -) 판별

n_positive = sum(df_filtered[X1] > median_value) # 중앙값보다 큰 값의 개수
n_negative = sum(df_filtered[X1] < median_value) # 중앙값보다 작은 값의 개수

3. 부호 검정 수행

귀무가설 : 데이터의 중위수는 **이다.

대립가설 : 데이터의 중위수는 **이 아니다.

from scipy.stats as stats

result = stats.binomtest(n_positive, n=n_positive + n_negative, p=0.5, alternative='검정 방법')

result.pvalue

alternative='greater' # '데이터의 중위수가 **보다 크다'라는 대립가설을 검정 (오른쪽 단측검정)
alternative='less' # '데이터의 중위수가 **보다 작다'라는 대립가설을 검정 (왼쪽 단측검정)
alternative='two-sided' # '데이터의 중위수는 **이 아니다'라는 대립가설을 검정 (양측검정)

=> p-value가 유의수준(0.05)보다 작으면 '데이터의 중위수는 **이 아니다'라는 대립가설 채택

=> p-value가 유의수준(0.05)보다 크면 '데이터의 중위수는 **이다'라는 귀무가설 채택

728x90