p-value
귀무가설(H_0): 차이/효과/관계가 없다 (independent)
대립가설(H_A): 차이/효과/관계가 있다 (dependent) == 유의미하다(significant)
: p-value란 귀무가설이 참이라는 전제 하에(조건), "관찰이 완료된 값 혹은 그보다 더 극단적인 값"이 표본(샘플데이터)을 통해 나타날 (조건부)확률
(- 그보다 더 극단적인 값: 극단적으로 차이/효과/관계가 깊어보이는 값 (대립가설을 지지하는 값))
- 쉽게 말하자면, H0이 참일 때, 우리의 데이터를 만날 확률
- p-value가 0.05(5%) 미만일 경우: 귀무가설이 참일 때 해당 관측치가 나타날 확률이 매우 낮다고 판단하며, 귀무가설을 기각한다.
- p-value가 0.05(5%) 이상일 경우: 귀무가설이 참일 때 해당 관측치가 나타날 확률이 충분하다고 판단하며, 귀무가설을 기각하지 않는다.
1. Chi-square 검정
: 두 개의 Categorical Variable 사이의 관계가 있는지 없는지 검정 (독립성 검정)
stats.chisquare(df.propensity, df.skin)
# >Power_divergenceResult(statistic=291.8166666666667, pvalue=0.023890557260065975)
# 2.389% -> 95%가 넘는 확률로 우리 데이터를 만나지 않는다는 말 -> H0 기각, H1 채택
2. 상관관계 분석
- 피어슨 상관계수로, -1에 가까울수록 음의 상관관계, 1에 가까울수록 양의 상관관계, 0에 가까울수록 상관관계가 적다.
df_corr = df[['decision', 'satisf_b', 'satisf_i', 'satisf_al', 'repurchase']]
df_corr.corr()
3. 피어슨 상관계수, p-value
- 피어슨 상관계수와 p-value를 동시에 출력해준다.
result = stats.pearsonr(ad_df['Marketing_Costs'], ad_df['User_Acquired'])
print("피어슨 상관계수 :", result[0])
print('p-value :', result[1])
# >피어슨 상관계수 : 0.8035775069546851
# >p-value : 0.0016386012345537425
- 위의 결과는 p-value가 0.0016이므로, 두 변수 간 통계적으로 유의미한 상관관계가 없다는 전제 하에 이러한 측정 결과가 나올 확률이 0.16%이다.
- 다시 말해, 두 변수 사이에는 통계적으로 유의미한 상관관계(+0.8)가 있다.
4. A/B Test
1) 독립표본 t-test
stats.ttest_ind(web_a["Duration_A"], #.values, # 해당 열의 '값들'
web_b["Duration_B"], #.values, # 해당 열의 '값들'
equal_var=False)
# 독립검정은 반드시 equal_var=False; 두 집단의 수가 다를 경우에도 equal_var=False
2) 카이제곱 검정
- chi2_contingency 함수를 활용해 Contingency table을 기반으로 카이제곱 검정이 가능하다.
- Contingency table (분할표): 데이터가 정리된 표
# "Chi-square" test of independence of variables in a "contingency" table.
# contingency table 형태라면 chisquare()로 쓰면 안됨
# stats.chi2_contingency([click_df['Clicked'], click_df['Unclicked']])
stats.chi2_contingency([click_df['Clicked'], click_df['Unclicked']])[1]
# >0.004968535119697213
'멋쟁이 사자처럼 AI SCHOOL 5기 > Today I Learned' 카테고리의 다른 글
[4주차 총정리] Python 기반 SQL 프로그래밍(2) _SQL 입문자를 위한 기초실습 (0) | 2022.04.08 |
---|---|
[4주차 총정리] Python 기반 SQL 프로그래밍(1) _SQL이란? (0) | 2022.04.08 |
[3주차 총정리] 통계검정 (T검정, ANOVA) (0) | 2022.03.30 |
[3주차 총정리] pd.DataFrame 분포 시각화 (hist, distplot, scatterplot, jointplot, boxplot, crosstab, pairplot) (0) | 2022.03.30 |
[3주차 총정리] pd.Series 특징 총정리 (value_counts, plot, replace, 왜도/첨도) (0) | 2022.03.30 |