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


Биномиальный тест сравнивает пропорцию выборки с гипотетической пропорцией.

Например, предположим, что у нас есть шестигранный кубик. Если мы бросим его 12 раз, мы ожидаем, что число «3» появится в 1/6 случаев, что будет 12 * (1/6) = 2 раза.

Если число «3» на самом деле выпадает 4 раза, является ли это доказательством того, что кубик смещен в сторону числа «3»? Мы могли бы выполнить биномиальный тест, чтобы ответить на этот вопрос.

В Python мы можем выполнить биномиальный тест, используя функцию binom_test() из библиотеки scipy.stats, которая использует следующий синтаксис:

binom_test(x, n=Нет, p=0,5, альтернатива='двусторонний')

куда:

  • x: количество «успехов»
  • n: общее количество испытаний
  • p: вероятность успеха в каждом испытании
  • альтернатива: альтернативная гипотеза. По умолчанию используется «двусторонний», но вы также можете указать «больше» или «меньше».

Эта функция возвращает p-значение теста. Мы можем загрузить эту функцию, используя следующий синтаксис:

from scipy.stats import binom_test

В следующих примерах показано, как выполнять биномиальные тесты в Python.

Пример 1: Мы бросаем шестигранный кубик 24 раза, и он выпадает на число «3» ровно 6 раз. Выполните биномиальный тест, чтобы определить, смещена ли кость в сторону числа «3».

Нулевая и альтернативная гипотезы для нашего теста следующие:

H 0 : π ≤ 1/6 (игральная кость не смещается в сторону числа «3»)

Н А : π > 1/6

* π - символ доли населения.

Мы введем следующую формулу в Python:

binom_test(x= 6 , n= 24 , p= 1/6 , alternative='greater')

0.1995295129479586

Поскольку это значение p (0,1995) не меньше 0,05, мы не можем отвергнуть нулевую гипотезу. У нас нет достаточных доказательств, чтобы сказать, что кость смещена в сторону числа «3».

Пример 2: Мы подбрасываем монету 30 раз, и она выпадает орлом ровно 19 раз. Выполните биномиальный тест, чтобы определить, смещена ли монета в сторону орла.

Нулевая и альтернативная гипотезы для нашего теста следующие:

H 0 : π ≤ 1/2 (монета не смещена в сторону орла)

Н А : π > 1/2

Мы введем следующую формулу в Python:

binom_test(x= 19 , n= 30 , p= 1/2 , alternative='greater')

0.10024421103298661

Поскольку это значение p (0,10024) не меньше 0,05, мы не можем отвергнуть нулевую гипотезу. У нас нет достаточных доказательств, чтобы сказать, что монета смещена в сторону орла.

Пример 3: Магазин производит виджеты с эффективностью 80%. Они внедряют новую систему, которая, как они надеются, повысит эффективность. Они случайным образом выбирают 50 виджетов из недавнего производственного цикла и обнаруживают, что 47 из них эффективны. Выполните биномиальный тест, чтобы определить, приводит ли новая система к более высокой эффективности.

Нулевая и альтернативная гипотезы для нашего теста следующие:

H 0 : π ≤ 0,80 (новая система не приводит к увеличению эффективности)

Н А : π > 0,80

Мы введем следующую формулу в Python:

binom_test(x= 47 , n= 50 , p= 0.8 , alternative='greater')

0.005656361012155314

Поскольку это значение p (0,00565) меньше 0,05, мы отвергаем нулевую гипотезу. У нас есть достаточно доказательств, чтобы сказать, что новая система ведет к повышению эффективности.

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.