이항검정
: 결과가 두 가지 값을 가지는 확률변수의 분포를 판단하는데 효과적
: 이산변량을 대상으로 한다.
형식 : stats.binom_test() : 명목척도의 비율을 바탕으로 이항분포 검정
귀무가설 : 직원을 대상으로 고객 대응 교육 후 고객 안내 서비스 만족율이 80%다.
대립가설 : 직원을 대상으로 고객 대응 교육 후 고객 안내 서비스 만족율이 80%가 아니다.
* binom.py
import pandas as pd
import scipy.stats as stats
from pandas.core.reshape.pivot import crosstab
data = pd.read_csv("../testdata/one_sample.csv")
print(data.head(3))
print()
'''
no gender survey time
0 1 2 1 5.1
1 2 2 0 5.2
2 3 2 1 4.7
'''
ctab = crosstab(index=data['survey'], columns = 'count')
ctab.index = ['불만족', '만족']
print(ctab)
'''
col_0 count
불만족 14
만족 136
'''
print('양측 검정(기존 80% 만족율 기준 검증을 실시) : 방향성이 없다.')
x = stats.binom_test([136, 14], p = 0.8, alternative="two-sided")
print(x)
stats.binom_test(x, p = , alternative="two-sided") : 양측 검정
p-value : 0.00067 < 0.05 이므로 귀무가설 기각.
대립가설 : 직원을 대상으로 고객 대응 교육 후 고객 안내 서비스 만족율이 80%가 아니다.
양측검정에서는 크다, 작다로 방향성으로 제시 하지않는다.
print('\n양측 검정(기존 80% 불만족율 기준 검증을 실시) : 방향성이 없다.')
x = stats.binom_test([14, 136], p = 0.2, alternative="two-sided")
print(x)
stats.binom_test(x, p = , alternative="two-sided") : 양측 검정(조건 반전)
p-value : 0.00067 < 0.05 이므로 귀무가설 기각.
print('\n단측 검정(기존 80% 만족율 기준 검증을 실시) : 방향성이 있다.')
x = stats.binom_test([136, 14], p = 0.8, alternative="greater")
print(x)# p-value : 0.000317 < 0.05 이므로 귀무가설 기각.
stats.binom_test(x, p = , alternative="greater") : 단측검정
p-value : 0.000317 < 0.05 이므로 귀무가설 기각.
print('\n단측 검정(기존 80% 불만족율 기준 검증을 실시) : 방향성이 있다.')
x = stats.binom_test([14, 136], p = 0.2, alternative="less")
print(x)# p-value : 0.000317 < 0.05 이므로 귀무가설 기각.
stats.binom_test(x, p = , alternative="less") : 단측검정(조건 반전)
p-value : 0.000317 < 0.05 이므로 귀무가설 기각.
비율 검정
: 집단의 비율이 어떤 특정한 값과 같은지를 검정
* one-sample
a회사에는 100명 중 45명이 흡연을 한다. 국가통계에서는 국민 흡연율은 35%라고 한다. 비율의 동일여부를 검정하라.
귀무가설 : a회사의 흡연율과 국민 흡연율의 비율은 같다.
대립가설 : a회사의 흡연율과 국민 흡연율의 비율은 다르다.
import numpy as np
from statsmodels.stats.proportion import proportions_ztest
count = np.array([45])
nobs = np.array([100])
val = 0.35
z, p = proportions_ztest(count=count, nobs=nobs, value=val)
print('z : {}, p : {}'.format(z, p)) # z : [2.01007563], p : [0.04442318]
proportions_ztest(count=count, nobs=nobs, value=val) : 비율 검정.
p-value : 0.04442318 < 0.05 이므로 귀무가설 기각.
대립가설 : a회사의 흡연율과 국민 흡연율의 비율은 다르다.
* two-sample
a회사 직원 300명중 100명이 햄버거를 취식, b회사 직원 400명중 170명이 햄버거를 취식시 두 집단의 햄버거 취식비율의 차이 검정.
귀무 가설 : 차이가 없다.
대립 가설 : 차이가 있다.
count = np.array([100, 170])
nobs = np.array([300, 400])
z, p = proportions_ztest(count=count, nobs=nobs, value=0)
print('z : {}, p : {}'.format(z, p)) # z : -2.4656701201792273, p : 0.013675721698622408
proportions_ztest(count=count, nobs=nobs, value=0) : 비율 검정.
p-value : 0.013675 < 0.05 이므로 귀무가설 기각.
대립 가설 : 차이가 있다.
'BACK END > Deep Learning' 카테고리의 다른 글
[딥러닝] 선형회귀 (0) | 2021.03.10 |
---|---|
[딥러닝] 공분산, 상관계수 (0) | 2021.03.10 |
[딥러닝] ANOVA (0) | 2021.03.08 |
[딥러닝] T 검정 (0) | 2021.03.05 |
[딥러닝] 카이제곱 (0) | 2021.03.04 |