본문 바로가기
통계 분석

[기초 통계] 신뢰수준, 신뢰구간, 유의확률(P-value), 유의수준

by DongGoo 2023. 10. 31.

신뢰수준( Confidence Level )

정의 : 특정 범위(신뢰구간)가 모집단의 모수를 포함할 확률

표본이 모집단을 대표하는 정도를 어느 정도까지 신뢰할 수 있는지를 뜻합니다.

95% 신뢰수준이라는 말은 표본의 개수가 100개라면 100번 중 5번은 전체 평균에서 벗어날 수 있다는 것을 의미합니다. 

예시 : 95% 신뢰수준에서 평균은 10 ~ 20사이에 있을 것이다.

위 예시 문장의 의미는 동일한 실험을 100번 반복했을 때, 평균이 10~20이 나올 확률이 95번이라는 것을 뜻합니다.

신뢰수준이 높을수록 가설검정 기준이 엄격해지는 것입니다.

 

유의 수준( Significance Level )

유의 수준은 α(알파)라고 표기합니다.

정의 : 통계적 가설 검정 검정에서 오류를 범할 가능성을 허용하는 최대한계

전체 평균에서 벗어난 정도인 100중 5번은 확률적으로 5%이고, 이는 유의수준( α )을 의미합니다.

통상적으로 0.05(5%) 또는 0.01(1%)를 사용하고, 신뢰수준과 유의수준을 합치면 항상 1이라는 결과가 나타납니다.

위의 예시에서 본다면 평균이 10~20에 포함되지 않는 경우가 5번이라는 것을 뜻합니다.

 

아래의 그래프는 신뢰수준이 95%이고 유의수준이 5%인 그래프입니다.

신뢰구간 ( Confidence Interval )

정의 : 모집단의 모수가 어느 범위에 위치할 것으로 예상되는지 나타내는 구간

신뢰구간이란 정규분포 표 혹인 T분포 표를 통해 도출한 Z 혹인 T값을 통해 계산된 식을 사용해 최소~최댓값까지

허용할 수 있는 구간을 말합니다.

예시 : "집까지 10~15분 사이면 도착할것 같아"

위의 예시로 보았을 때 10~15분에 해당하는 값들이 신뢰구간에 속합니다.

신뢰구간을 구하는 식은 다음과 같습니다.

위의 식을 통해 신뢰구간의 최소와 최댓값을 구할 수 있습니다.

  • X bar =  표본평균
  • Z  =  z-value(정규분포표에서 추출한 값). 이는 표본의 크기가 작을때 t분포를 따르기 때문에 t값으로 대체 될 수 있습니다.
  • n =  표본의 크기
  • s = 표준편차

* t분포를 따를때 t 값을 구하는 설명에 대한 글은 아래 링크를 참고해주시길 바랍니다.

https://big-data97.tistory.com/71

 

[표본 통계량의 분포] t분포

표본 통계량이란? 앞의 글에서 잠깐 이야기 했듯이 모집단 전체를 분석할 수 없기 때문에 표본을 추출하게 됩니다. 그 표본에서 구한값을 표본 통계량이라고 합니다.(ex. 표본평균, 표본분산,표

big-data97.tistory.com

신뢰구간 95%라는 의미는 신뢰수준 95%와 같은뜻을 가집니다.

 

 

신뢰수준과 신뢰구간의 차이

신뢰수준과 신뢰구간은 서로 관련된 개념이지만 같은 의미는 아닙니다.

신뢰수준은 신뢰구간을 계산할 때 사용되는 확률입니다.

신뢰구간은 모수의 예상 범위를 나타냅니다.

 

t분포를 예로 들자면 신뢰수준을 통해 t값을 구하게 됩니다.

파이썬에서 t.ppf()를 통해 t 값을 간단히 구할 수 있는데 매개변수로 넣어야 하는 값이 (신뢰수준, 자유도)이기 때문입니다.

 

파이썬을 통해 신뢰구간 구하기

아래의 데이터를 활용해 신뢰구간을 구해보도록하겠습니다.

import pandas as pd 
df= pd.read_csv('https://raw.githubusercontent.com/Datamanim/datarepo/main/krdatacertificate/e5_p3_1.csv')
df.head()

import numpy as np
from scipy.stats import t

# 표본평균
df_mean = np.round(np.mean(df.height),3)
# 표준편차
std = np.std(df.height, ddof=1)
# 표본 크기
n = len(df.height)

# 신뢰수준, 자유도
confidence_level = 0.95
dof = n - 1

# t 분포의 양쪽 꼬리에서의 t값
t_value= round(t.ppf((1-0.05/2),dof),4)

# 신뢰구간 구하기
lower = round(df_mean - t_value * np.std(df.height) / np.sqrt(len(df)),3)
upper = round(df_mean + t_value * np.std(df.height) / np.sqrt(len(df)),3)
print(lower,upper)

#결과
168.336 171.539

결과해석

신뢰구간은 95%신뢰수준에서 모평균이 168.336 ~ 171.539일것이다 라는것을 뜻합니다.