모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!!
🎲 01. 모평균에 대한 신뢰구간
☑️ 데이터 분포 확인 : seaborn.distplot( )
# 히스토그램 및 kde plot 출력
import pandas as pd
csi = pd.read_csv('D://data//Csi.csv')
import seaborn as sns
import matplotlib.pyplot as plt
sns.distplot(csi.Index)
plt.show()
☑️ 모평균에 대한 신뢰구간 계산 : DescrStatsW( )
# DescrStatsW() : 변수에 대한 기술통계량, 검정통계량, 모평균에 대한 신뢰구간 저장 리스트 생상
# tconfint_mean() : 모분산이 알려지지 않은 경우, 모평균에 대한 신뢰구간 생성
# zconfint_mean() : 모분산이 알려진 경우, 모평균에 대한 신뢰구간 생성
import statsmodels.stats.api as sms
print(sms.DescrStatsW(csi.Index).mean) # 표본평균 -> 점추정치
print(sms.DescrStatsW(csi.Index, ddof = 1).std) # 표본표준편차
print(sms.DescrStatsW(csi.Index).tconfint_mean()) # 모평균의 95% 신뢰구간, 모평균은 모름을 가정
표본평균 >> 72.32
표본표준편차 >> 11.6
95% CI >> (67.53175533702299, 77.108244662977)
🎲 02. 모비율에 대한 신뢰구간
• 상황 : 어떤 선거구의 유권자 중에서 400명을 임의로 추출하여 입후보자 A에 대한 지지여부를 알아본 결과 250명이 지지하는 것으로 나타났다. 지지율 𝒑에 대한 95% 신뢰구간을 구하시오.
☑️ 모비율에 대한 신뢰구간 계산 : proportion_confint( )
# proportion_confint(count, nobs, alpha=0.05, method= )
# norm.interval(신뢰수준, 평균, 표준오차) : 신뢰수준, 평균, 표준편차(오차)를 지정
from statsmodels.stats.proportion import proportion_confint
from scipy.stats import norm
print('표본비율 : ', 250 / 400)
print('베타신뢰구간 : ', proportion_confint(250, 400, alpha = 0.05, method = 'beta'))
print('정규근사 신뢰구간 : ', proportion_confint(250, 400, alpha = 0.05, method = 'normal'))
print('정규근사 신뢰구간 : ', norm.interval(0.95, 0.625, np.sqrt(0.625 * (1-0.625) / 400)))
>> 표본비율 : 0.625
>> 베타신뢰구간 : (0.5755217886614248, 0.67261376127048)
>> 정규근사 신뢰구간 : (0.5775568258044377, 0.6724431741955623)
>> 정규근사 신뢰구간 : (0.5775568258044378, 0.6724431741955622)
🎲 03. 모분산에 대한 신뢰구간
☑️ 모분산에 대한 신뢰구간 계산 : bayes_mvs( ) - 모평균, 모분산, 모표준편차의 신뢰구간 출력
from scipy.stats import bayes_mvs
mean_ci, var_ci, std_ci = bayes_mvs(csi.Index, alpha = 0.95)
print(mean_ci)
print()
print(var_ci)
print()
print(std_ci)
print()
# 모평균의 95% CI
Mean(statistic=72.32, minmax=(67.53175533702299, 77.108244662977))
# 모분산의 95% CI
Variance(statistic=146.79272727272726, minmax=(82.04028250979714, 260.41455376108695))
# 모표준편차의 95% CI
Std_dev(statistic=11.978951328828686, minmax=(9.05760909455675, 16.137365143079798))