NumPy 신뢰 구간

Vaibhhav Khetarpal 2023년1월30일
  1. 신뢰 구간
  2. T-분포를 사용하여 Python에서 신뢰구간 계산하기
  3. 정규 분포를 사용하여 Python에서 신뢰 구간 계산
NumPy 신뢰 구간

평균에 대한 신뢰 구간은 데이터 분석 분야에서 데이터에 널리 활용되는 통계의 필수 부분입니다. Python은 데이터 분석 분야의 전문가가 사용하는 가장 인기 있는 프로그래밍 언어 중 하나이며 배열에 대한 신뢰구간을 구현할 수 있습니다.

이 튜토리얼에서는 Confidence Interval에 대해 설명하고 Python에서 이를 구현하는 데 사용할 수 있는 다양한 접근 방식을 보여줍니다.

신뢰 구간

평균에 대한 신뢰 구간은 모집단을 정확하게 반영할 수 있는 값을 알아낼 것으로 예상되는 값의 범위로 정의할 수 있습니다.

신뢰구간 계산 공식은 아래와 같습니다.

Confidence Interval =  x̄  +/-  t*(s/√n)

이 공식의 매개변수는 아래에 설명되어 있습니다.

  1. - 표본 데이터의 평균입니다.
  2. t - 신뢰 수준에 대한 해당 t-값입니다.
  3. s - 샘플 데이터의 표준 편차.
  4. n - 샘플 데이터의 크기입니다.

이제 Python에서 Confidence Intervals를 계산하는 데 사용할 수 있는 다양한 접근 방식으로 이동해 보겠습니다. 두 가지 주요 방법을 사용할 수 있습니다. 둘 다 Python의 SciPy 라이브러리에서 나오는 기능이 필요합니다.

Python의 SciPy 라이브러리는 Scientific Python의 약자로 기술 및 과학 컴퓨팅에 도움이 되는 여러 기능을 제공하는 데 사용됩니다. 라이브러리의 SciPy.stats 하위 모듈은 Python에서 통계를 처리하는 다양한 기능을 제공합니다.

T-분포를 사용하여 Python에서 신뢰구간 계산하기

SciPy.stats 라이브러리는 t-분포 접근 방식을 사용하여 신뢰 구간을 계산하는 데 사용할 수 있는 t.interval() 함수를 제공합니다.

t-분포 접근 방식은 일반적으로 데이터에 30개 미만의 요소(n<30)가 있는 더 작은 데이터 세트를 처리할 때 사용할 수 있습니다.

t.interval() 함수에 대한 구문 및 매개변수 설명은 아래에 설명되어 있습니다.

scipy.stats.t.interval(alpha, length, loc, scale)
  1. alpha - 선택한 범위에서 랜덤 변수를 얻을 확률을 정의합니다.
  2. length - 주어진 데이터 세트의 길이를 나타냅니다.
  3. loc - 위치 매개변수 값을 나타냅니다.
  4. scale - 스케일 파라미터 값을 나타냅니다.

다음 코드는 1년 동안 20명의 축구 선수가 득점한 골을 가져와서 t-분포 접근 방식을 사용하여 주어진 데이터에 대한 90% 신뢰 구간을 계산합니다.

import numpy as np
import scipy.stats as st

# data of goals scored by 20 footballers in a calendar year
fb_data = [10, 11, 10, 14, 16, 24, 10, 6, 8, 10, 11, 27, 28, 21, 13, 10, 6, 7, 8, 10]
# create 90% confidence interval
print(
    st.t.interval(
        alpha=0.90, df=len(fb_data) - 1, loc=np.mean(fb_data), scale=st.sem(fb_data)
    )
)

위의 코드는 다음 출력을 제공합니다.

(10.395704943723088, 15.60429505627691)

정규 분포를 사용하여 Python에서 신뢰 구간 계산

동일한 SciPy.stats 라이브러리는 정규 분포 접근 방식을 사용하여 신뢰 구간을 계산하는 데 사용할 수 있는 norm.interval() 함수도 제공합니다.

이 접근 방식은 일반적으로 데이터 세트가 비교적 큰 경우에 사용됩니다. 즉, 요소 ​​수가 30개 이상(n>30)입니다.

norm.interval() 함수에 대한 구문 및 매개변수 설명은 아래에 설명되어 있습니다.

scipy.stats.norm.interval(alpha, loc, scale)
  1. alpha - 선택한 범위에서 랜덤 변수를 얻을 확률을 정의합니다.
  2. loc - 위치 매개변수 값을 나타냅니다.
  3. scale - 스케일 파라미터 값을 나타냅니다.

다음 코드는 80개 요소로 구성된 데이터 세트의 예를 취하고 정규 분포 접근 방식을 사용하여 90% 신뢰 구간을 계산합니다.

import numpy as np
import scipy.stats as st

fb_data = np.random.randint(15, 20, 80)
# create 90% confidence interval
print(st.norm.interval(alpha=0.90, loc=np.mean(fb_data), scale=st.sem(fb_data)))

위의 코드는 다음 출력을 제공합니다.

(16.763325839308074, 17.286674160691923)
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn