Как рассчитать биномиальный доверительный интервал в python


Доверительный интервал для биномиальной вероятности рассчитывается по следующей формуле:

Доверительный интервал = p +/- z*(√ p(1-p) / n )

Золото:

  • p: доля «успехов»
  • z: выбранное значение z
  • n: размер выборки

Самый простой способ вычислить этот тип доверительного интервала в Python — использовать функциюпропорции_confint () из пакета statsmodels :

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

Золото:

  • count : количество успехов
  • nobs : Общее количество попыток
  • альфа : уровень значимости (по умолчанию 0,05).
  • метод : метод, используемый для доверительного интервала (по умолчанию «нормальный»)

В следующем примере показано, как использовать эту функцию на практике.

Пример: расчет биномиального доверительного интервала в Python

Предположим, мы хотим оценить долю жителей округа, которые поддерживают определенный закон.

Мы решили выбрать случайную выборку из 100 жителей и обнаружили, что 56 из них поддерживают закон.

Мы можем использовать функцию пропорциональности_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% доверительный интервал для истинной доли жителей округа, поддерживающих закон, составляет [0,4627, 0,6573] .

По умолчанию эта функция использует асимптотическое нормальное приближение для расчета доверительного интервала. Однако мы можем использовать аргумент метода , чтобы использовать другой метод.

Например, функцией по умолчанию, используемой в языке программирования R для расчета биномиального доверительного интервала, является интервал оценки Вильсона.

Мы можем использовать следующий синтаксис, чтобы указать этот метод при расчете доверительного интервала в 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% доверительный интервал для истинной доли жителей округа, поддерживающих закон, составляет [0,4623, 0,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% доверительный интервал для истинной доли жителей округа, поддерживающих закон, составляет [0,4778, 0,6390] .

Примечание . Полную документацию по функциипропорции_confint () можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в Python:

Как построить доверительный интервал в Python
Как использовать биномиальное распределение в Python

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *