Как выполнить биномиальный тест в 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 раза, и ровно 6 раз он выпадает на число «3». Выполните биномиальный тест, чтобы определить, смещена ли игральная кость в сторону числа «3».
Нулевая и альтернативная гипотезы нашего теста таковы:
H 0 : π ≤ 1/6 (игральная кость не смещена в сторону числа «3»)
H A : π > 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 (монета не смещена в сторону орла)
H A : π > 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, мы отвергаем нулевую гипотезу. У нас есть достаточно доказательств, чтобы сказать, что новая система приводит к повышению эффективности.