평균을 이용해 두 변수 간 상관관계의 유무를 찾는 것인가보다.
평균의 차이가 통계적 의미를 가지는가? 를 찾는... 추후 추가
서로 다른 두 집단 간 평균차이를 검정
stats.ttest_ind(array-series, array-series, equal_var=False)
p-value가 나온다. 값이 높으면 두 집단 간 평균차이가 통계적으로 의미를 가지지 않는다고 생각할 수 있다.(귀무가설)
equal_var
은 말 그대로 두 집단의 분산이 같고, 표본수가 같을 때 True
로 놓고 사용한다. 기본은 False
이다.
한 집단 내 평균차이를 검정
stats.ttest_rel(array-series, array-series)
ex) 시험시간 변경 전후 시험 성적 평균을 검정
ex) 국어점수와 수학점수 평균 간 검정
Analysis of variance (ANOVA)
세개 이상의 표본으로 적어도 평균차이검정을 해 최소 하나의 관계가 있는지 찾는다.
표본이 세개인 독립표본 t-test라고 생각하면 편할듯하다.
stats.f_oneway(series, series, series)
f_oneway인 이유는 함수 실행시 뱉는 statistic 값이 f값이라고...한다...
pvalue도 나온다.
oneway인 이유는 세 집단의 차이(변수)가 한가지.. 예를들면 나이대를 세개로 쪼개놓는다던가..(나이 하나가 변수)
여기서 대립가설 : 변수에 따라 세 집단의 평균값이 3C2중 적어도 하나는 유의미한 차이가 있다
df.corr()
메소드를 통해 변수간 피어슨 상관계수를 구할 수 있다.
피어슨 상관계수는 0에 가까울수록 상관관계가 적다고 본다.
여기서 이산적인 데이터들 간의 피어슨 상관계수는 잘 구 하지 않는다.
예를 들어 범주형 데이터들의 범주가 3개, 5개등 범주가 너무 적으면 상관계수가 구해지더라도 산점도 위에선 관계가 안보이기 때문이다. 범주형 데이터들의 경우 보통 chi-square 검정을 사용한다고 함.
numerical data라도 피어슨 상관계수만 보고 상관관계를 판단하면 위험하다. 산점도를 그려보면 모양이 추세선에서 많이 벗어나는 경우도 있기 때문. (심슨의 역설 참고)
sns.pairplot(df)
(산점도 그리기, sns는 seaborn)
그래서 상관계수에 대해서도 pvalue를 구하기도 한다.
stats.pearsonr(series, series) # 피어슨 상관계수와 p-value를 리턴한다.
상관계수가 믿을만한 것인가? 를 알 수 있다.
그러니까 지금껏 배운 검정은