Jak wykonać test dwumianowy w pythonie


Test dwumianowy porównuje proporcję próbki z proporcją hipotetyczną.

Załóżmy na przykład, że mamy 6-ścienną kostkę. Jeśli rzucimy 12 razy, spodziewamy się, że liczba „3” pojawi się w 1/6 przypadków, czyli 12 * (1/6) = 2 razy.

Jeśli cyfra „3” faktycznie pojawi się 4 razy, czy jest to dowód na to, że kość jest przechylona na korzyść liczby „3”? Aby odpowiedzieć na to pytanie, moglibyśmy przeprowadzić test dwumianowy.

W Pythonie można wykonać test dwumianowy za pomocą funkcji binom_test() z biblioteki scipy.stats, która wykorzystuje następującą składnię:

binom_test(x, n=Brak, p=0,5, alternatywa=’dwie twarze’)

Złoto:

  • x: liczba „sukcesów”
  • n: całkowita liczba prób
  • p: prawdopodobieństwo powodzenia każdej próby
  • alternatywa: hipoteza alternatywna. Wartość domyślna to „dwustronna”, ale można także określić „wyższą” lub „mniejszą”.

Ta funkcja zwraca wartość p testu. Możemy załadować tę funkcję, używając następującej składni:

 from scipy.stats import binom_test

Poniższe przykłady ilustrują sposób wykonywania testów dwumianowych w języku Python.

Przykład 1: 6-ścienna kostka została rzucona 24 razy i dokładnie 6 razy wypadła na cyfrze „3”. Wykonaj test dwumianu, aby określić, czy kostka jest przesunięta w stronę cyfry „3”.

Hipotezy zerowe i alternatywne naszego testu są następujące:

H 0 : π ≤ 1/6 (kostka nie jest przesunięta w stronę liczby „3”)

H A : π > 1/6

*π to symbol proporcji populacji.

Wprowadzimy w Pythonie następującą formułę:

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

0.1995295129479586

Ponieważ ta wartość p (0,1995) jest nie mniejsza niż 0,05, nie możemy odrzucić hipotezy zerowej. Nie mamy wystarczających dowodów, aby stwierdzić, że kość jest przesunięta w stronę liczby „3”.

Przykład 2: Rzucamy monetą 30 razy i wypadnie reszka dokładnie 19 razy. Wykonaj test dwumianu, aby określić, czy moneta jest skierowana w stronę reszki.

Hipotezy zerowe i alternatywne naszego testu są następujące:

H 0 : π ≤ 1/2 (moneta nie jest skierowana w stronę orła)

H A : π > 1/2

Wprowadzimy w Pythonie następującą formułę:

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

0.10024421103298661

Ponieważ ta wartość p (0,10024) jest nie mniejsza niż 0,05, nie możemy odrzucić hipotezy zerowej. Nie mamy wystarczających dowodów, aby stwierdzić, że moneta jest faworyzowana reszkami.

Przykład 3: Sklep produkuje widgety z wydajnością 80%. Wdrażają nowy system, który, jak mają nadzieję, poprawi wskaźnik wydajności. Wybierają losowo 50 widżetów z najnowszej produkcji i zauważają, że 47 z nich jest skutecznych. Wykonaj test dwumianowy, aby określić, czy nowy system prowadzi do większej wydajności.

Hipotezy zerowe i alternatywne naszego testu są następujące:

H 0 : π ≤ 0,80 (nowy system nie powoduje wzrostu wydajności)

H A : π > 0,80

Wprowadzimy w Pythonie następującą formułę:

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

0.005656361012155314

Ta wartość p (0,00565) jest mniejsza niż 0,05, odrzucamy hipotezę zerową. Mamy wystarczająco dużo dowodów, aby stwierdzić, że nowy system skutkuje wzrostem efektywności.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *