Python에서 이항 신뢰 구간을 계산하는 방법


이항 확률에 대한 신뢰 구간은 다음 공식을 사용하여 계산됩니다.

신뢰구간 = p +/- z*(√ p(1-p) / n )

금:

  • p: “성공” 비율
  • z: 선택된 z 값
  • n: 표본 크기

Python에서 이러한 유형의 신뢰 구간을 계산하는 가장 쉬운 방법은 statsmodels 패키지의 ratio_confint() 함수를 사용하는 것입니다.

 proportion_confint ( count , nobs , alpha = 0.05 , method = ' normal ' )

금:

  • count : 성공 횟수
  • nobs : 총 시도 횟수
  • alpha : 유의수준(기본값은 0.05)
  • method : 신뢰 구간에 사용할 방법(기본값은 “normal”)

다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.

예: Python에서 이항 신뢰 구간 계산

특정 법률을 선호하는 카운티 주민의 비율을 추정한다고 가정해 보겠습니다.

우리는 주민 100명의 무작위 표본을 선택하기로 결정했고 그 중 56명이 법에 찬성한다는 것을 알아냈습니다.

ratio_confint() 함수를 사용하여 전체 카운티에서 이 법을 적용한 주민의 실제 비율에 대한 95% 신뢰 구간을 계산할 수 있습니다.

 from statsmodels. stats . proportion import proportion_confint

#calculate 95% confidence interval with 56 successes in 100 trials
proportion_confint(count= 56 , nobs= 100 )

(0.4627099463758483, 0.6572900536241518)

해당 법을 지지하는 카운티 주민의 실제 비율에 대한 95% 신뢰 구간은 [.4627, .6573] 입니다.

기본적으로 이 함수는 점근 정규 근사를 사용하여 신뢰 구간을 계산합니다. 그러나 method 인수를 사용하여 다른 방법을 사용할 수 있습니다.

예를 들어 R 프로그래밍 언어에서 이항 신뢰 구간을 계산하는 데 사용되는 기본 함수는 Wilson 점수 구간입니다.

Python에서 신뢰 구간을 계산할 때 다음 구문을 사용하여 이 방법을 지정할 수 있습니다.

 from statsmodels. stats . proportion import proportion_confint

#calculate 95% confidence interval with 56 successes in 100 trials
proportion_confint(count= 56 , nobs= 100 , method=' wilson ')

(0.4622810465167698, 0.6532797336983921)

이는 해당 법을 지지하는 카운티 주민의 실제 비율에 대한 95% 신뢰 구간이 [.4623, .6533] 임을 알 수 있습니다.

이 신뢰 구간은 정규 근사를 사용하여 계산된 신뢰 구간과 약간 다릅니다.

다른 신뢰 구간을 계산하기 위해 알파 값을 조정할 수도 있습니다.

예를 들어, 알파를 0.10으로 설정하여 90% 신뢰 구간을 계산할 수 있습니다.

 from statsmodels. stats . proportion import proportion_confint

#calculate 90% confidence interval with 56 successes in 100 trials
proportion_confint(count= 56 , nobs= 100 , alpha= 0.10 , method=' wilson ')

(0.47783814499647415, 0.6390007285095451)

이는 해당 법을 지지하는 카운티 주민의 실제 비율에 대한 90% 신뢰 구간이 [.4778, .6390] 임을 알 수 있습니다.

참고 : 여기서 ratio_confint() 함수에 대한 전체 문서를 찾을 수 있습니다.

추가 리소스

다음 튜토리얼에서는 Python에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Python에서 신뢰 구간을 그리는 방법
Python에서 이항 분포를 사용하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다