statistic이 양수이고, pvalue가 0.05미만의 아주 작은 숫자이므로 확실한 양의 효과가 있다.
양의 효과라는 것은 before가 after가 크다라는 의미
일원분산분석
셋 이상의 그룹 간 차이가 존재하는지 확인
영 가설과 대립 가설 H0:μa=μb=μc(μa:그룹 a의 표본 평균, μb:그룹 b의 표본 평균, μc:그룹 c의 표본 평균) H1: 최소한 한 개 그룹에는 차이를 보인다.
일원분산분석의 선행조건
독립성: 두 그룹은 서로 독립적이어야 함
정규성: 데이터는 정규분포를 따라야 함
정규성을 따르지 않으면 비모수 검정인 Kruskal-Wallis H Test를 수행
등분산성:두 그룹 데이터에 대한 분산이 같아야 함.
등분산성을 따르지 않으면 Kruskal-Wallis H Test를 수행
scipy.stats을 이용한 일원분산분석
from scipy.stats import*# 세 그룹 모두 정규 분포를 띄는 것을 확인
kstest(A,'norm')
kstest(B,'norm')
kstest(C,'norm')
f_oneway(A, B, C)>> F_onewayResult(statistic=178.43825416847133, pvalue=1.6337420285664805e-31
결과 해석
pvalue가 0에 수렴: A, B, C의 평균은 유의한 차이가 존재 (어떤 차이인지는 모름 --> 사후 분석 수행)
statemodels를 이용한 사후 분석
from statsmodels.stats.multicomp import pairwise_tukeyhsd
Group =["A"]*len(A)+["B"]*len(B)+["C"]*len(C)
Data = A.tolist()+ B.tolist()+ C.tolist()
pairwise_tukeyhsd(Data, Group)>> Multiple Comparison of Means - Tukey HSD, FWER=0.05==========================================================
group1 group2 meandiff p-adj lower upper reject
A B -1.40.9-10.57457.7745False
A C 62.23330.00153.058971.4078True
B C 63.63330.00154.458972.8078True
상관분석
두 연속형 변수 간에 어떠한 선형 관계를 가지는지 파악
영 가설과 대립 가설 H0: 두 변수 간에는 유의미한 상관성이 존재하지 않는다. H1:두 변수 간에는 유의미한 상관성이 존재한다.
피어슨 상관 계수
상관 계수가 1에 가까울수록 양의 상관관계가 강하다고 하며, 상관 계수가 -1에 가까울수록 음의 상관관계가 강하다고 한다. 0에 가까울 수록 상관관계가 약하다고 한다.
scipy.stats.pearsonr(x, y)
스피어만 상관 계수
두 변수의 순위 사이의 단조 관련성을 측정하는 상관 계수
scipy.stats.spearmanr(x, y)
카이제곱검정
두 범주형 변수가 서로 독립적인지 검정
교차 테이블을 통해 시각화
영 가설과 대립 가설 H0: 두 변수가 서로 독립이다. H1: 두 변수가 종속관계에 있다.
교차 테이블 : > 두 변수가 취할 수 있는 값의 조합의 출현 빈도를 나타냄
scipy.stats을 이용한 카이제곱검정
import pandas as pd
from scipy.state import*
cross_table = pd.crosstab(S1, S2)
obs = cross_table.values
statistics, pvalue, dof, expected = chi2_contingency(obs)
pvalue가 0.05 미만이면 두 변수가 서로 독립이 아님
# 기대값(expected)을 데이터 프레임으로 생성
pd.DataFrame(expected, columns = cross_table.columns, index = cross_table.index)