Как рассчитать биномиальный доверительный интервал в 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