SciPy를 사용하여 신뢰 구간 계산

Shiv Yadav 2023년6월21일
SciPy를 사용하여 신뢰 구간 계산

이 기사는 SciPy를 사용하여 Python에서 신뢰 구간을 계산하는 데 도움을 주는 것을 목표로 합니다. 계산 부분으로 들어가기 전에 신뢰 구간에 대한 몇 가지 기본 정보를 이해해야 합니다.

SciPy를 사용하여 신뢰 구간 계산

무언가를 측정할 때 항상 결과의 불확실성 정도를 계산해야 합니다. 신뢰 구간은 높은 확실성으로 관찰 가능한 값의 진정한 값을 찾을 수 있는 범위를 계산하는 데 매우 중요한 도구입니다.

키에 대해 질문한다고 가정합니다. 누군가는 그의 키가 1.55미터라고 말할 수 있지만, 그것은 이 측정의 불확실성에 대해 아무 것도 말해주지 않습니다.

신뢰 구간은 측정 중인 관찰 가능 항목의 실제 값을 결정할 때 높은 신뢰 수준을 갖는 구간입니다. 과학자들은 종종 95% 신뢰 구간을 원하지만 90% 또는 99%도 빈번합니다.

따라서 키를 묻는 경우 추정치 또는 신뢰 구간을 제공해야 합니다. 예를 들어 95% 신뢰도로 키가 1.50미터에서 1.60미터 사이입니다.

이 도구는 관찰 가능 항목의 실제 값을 결정하기 위한 간격을 제공합니다.

신뢰 구간을 계산하려면 다음 공식을 사용해야 합니다.

신뢰 구간 공식

어디:

  • x_bar는 샘플 평균입니다.
  • z는 신뢰 수준 값입니다.
  • n은 샘플 크기입니다.
  • s는 샘플 표준 편차입니다.

샘플이 30개 미만인 데이터에 대해 작업한다고 가정합니다. 그런 다음 t-분포라고 합니다. 신뢰 구간을 계산하기 위해 scipy.stats 라이브러리의 t.interval() 함수를 사용합니다.

서로 다른 마을의 인구 데이터 세트가 있다고 가정합니다. 이 예에서는 크기(n=23)의 데이터 세트를 사용하여 0.95로 설정된 신뢰 매개변수와 함께 Python의 t-분포 및 t.interval() 메서드를 사용하여 95% 신뢰 구간을 계산합니다.

t-Distribution CI 95%

여기에서 t.interval()confidence, data(df), loc(위치 매개변수) 및 scale 매개변수를 취하는 것을 볼 수 있습니다.

99%를 사용할 때 신뢰 수준의 차이를 살펴보겠습니다.

t-Distribution CI 99%

95% 신뢰 구간을 사용하면 구간은 (11.37-20.28)이고 99% 신뢰 구간을 사용하면 구간은 (9.77-21.88)입니다. 두 구간을 비교할 때 99%의 CI를 사용할 때 구간이 더 넓다는 것을 알 수 있습니다. 즉, 구간(9.77-21.88)에 실제 모집단이 포함될 확률이 99%입니다.

샘플 크기가 30보다 큰 데이터 세트가 있는 경우 어떻게 해야 합니까? scipy.stats 라이브러리의 norm.interval() 메서드를 사용하여 데이터 세트가 Python에서 정상적으로 배포될 때 주어진 데이터 세트의 모집단 평균에 대한 신뢰 구간을 얻을 수 있습니다.

이 예에서는 크기(n=60)의 무작위 데이터 세트를 사용하여 정규 분포와 Python의 norm.interval() 메서드를 사용하여 95% 신뢰 구간을 계산합니다. 0.95.

정규분포 CI 95%

99%를 사용할 때 신뢰 수준의 차이를 살펴보겠습니다.

정규분포 CI 99%

95% 신뢰 구간을 사용할 때 구간은 (43.70-45.17)입니다. 99% 신뢰 구간을 사용할 때 구간은 (43.47-45.41)입니다. 두 구간을 비교할 때 99%의 CI를 사용할 때 구간이 더 넓다는 것을 알 수 있습니다. 즉, 구간(43.47-45.41)에 실제 모집단이 포함될 확률이 99%입니다.

신뢰 구간은 계산이 간단하며 데이터 분석가와 과학자에게 귀중한 정보를 제공할 수 있습니다. 그들은 매우 강력한 오류 추정치를 제공하며 적절하게 적용할 경우 데이터에서 가능한 한 많은 정보를 추출하는 데 진정으로 도움이 될 수 있습니다.

작가: Shiv Yadav
Shiv Yadav avatar Shiv Yadav avatar

Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.

LinkedIn