Як виконати біноміальний тест у python
Біноміальний тест порівнює вибіркову пропорцію з гіпотетичною пропорцією.
Наприклад, припустимо, що у нас є 6-гранний кубик. Якщо ми кинемо його 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: 6-гранний кубик кидають 24 рази, і він потрапляє на число «3» рівно 6 разів. Виконайте біноміальний тест, щоб визначити, чи зміщений кубик у бік числа «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 (нова система не призводить до підвищення ефективності)
H A : π > 0,80
Ми введемо таку формулу на Python:
binom_test(x= 47 , n= 50 , p= 0.8 , alternative=' greater ') 0.005656361012155314
Це p-значення (0,00565) менше 0,05, ми відхиляємо нульову гіпотезу. Ми маємо достатньо доказів, щоб стверджувати, що нова система призводить до підвищення ефективності.