독립성 : 두 그룹이 연결되어 있는 쌍인지
등분산성 : 두 그룹이 어느정도 유사한 수준의 분산 값을 가지는지
정규성 : 데이터가 정규성을 나타내는지
모집단 분포에 대한 가정 없이 접근하는 통계적 방법
관찰된 빈도가 기대되는 빈도와 의미있게 다른지 여부를 검정하기 위해 사용되는 검정방법
from numpy as np
obs = np.array([56, 783, 1624, 1454])
total_obs = sum(obs)
exp = total_obs / 4
squared = np.power(obs - exp, 2)
x2 = np.sum(squared / exp)
from scipy import chisqure
obs1 = np.array([18, 22, 20, 15, 23, 22])
chi1 = chisqure(obs1)
obs2 = np.array([5, 23, 26, 19, 24, 23])
chi2 = chisqure(obs2)
print(chi1, chi2)
Power_divergenceResult(statistic=2.3000000000000003, pvalue=0.8062668698851285)
Power_divergenceResult(statistic=14.8, pvalue=0.011251979028327346)
p-value를 보면 obs1는 연관이 있고 obs2는 연관이 없다고 볼 수 있다.
obs = np.array([9, 2], [13, 3])
total_obs = np.sum(obs) #obs 값의 합 저장
exp = np.array([[(9+2)*(9+13), (9+2)*(2+3)], [(13+3)*(9+13), (13+3)*(2+3)]])
exp = exp / total_obs
from scipy.stats import chi2_contingency
x2 = chi2_contingency(df)