Jak korzystać z rozkładu dwumianowego w pythonie


Rozkład dwumianowy jest jednym z najczęściej stosowanych rozkładów w statystyce. Opisuje prawdopodobieństwo uzyskania k sukcesów w n eksperymentach dwumianowych.

Jeśli zmienna losowa X ma rozkład dwumianowy, prawdopodobieństwo, że X = k powodzenia można obliczyć za pomocą następującego wzoru:

P(X=k) = n C k * p k * (1-p) nk

Złoto:

  • n: liczba prób
  • k: liczba sukcesów
  • p: prawdopodobieństwo sukcesu w danej próbie
  • n C k : liczba sposobów uzyskania k sukcesów w n próbach

W tym samouczku wyjaśniono, jak używać rozkładu dwumianowego w Pythonie.

Jak wygenerować rozkład dwumianowy

Możesz wygenerować tablicę wartości, która ma rozkład dwumianowy, korzystając z funkcji random.binomial biblioteki numpy:

 from numpy import random

#generate an array of 10 values that follows a binomial distribution
random.binomial(n=10, p=.25, size=10)

array([5, 2, 1, 3, 3, 3, 2, 2, 1, 4])

Każda liczba w wynikowej tabeli reprezentuje liczbę „sukcesów” odniesionych w ciągu 10 prób, gdzie prawdopodobieństwo sukcesu w danej próbie wynosiło 0,25 .

Jak obliczyć prawdopodobieństwa za pomocą rozkładu dwumianowego

Możesz także odpowiedzieć na pytania dotyczące prawdopodobieństwa dwumianu, korzystając z funkcji binom biblioteki scipy.

Pytanie 1: Nathan wykonuje 60% swoich prób rzutów wolnych. Jeśli wykona 12 rzutów wolnych, jakie jest prawdopodobieństwo, że trafi dokładnie 10?

 from scipy.stats import binom

#calculate binomial probability
binom.pmf(k= 10 , n= 12 , p= 0.6 )

0.0639

Prawdopodobieństwo, że Nathan wykona dokładnie 10 rzutów wolnych, wynosi 0,0639 .

Pytanie 2: Marty rzuca 5 razy uczciwą monetą. Jakie jest prawdopodobieństwo, że na monecie wypadnie reszka 2 lub mniej?

 from scipy.stats import binom

#calculate binomial probability
binom.cdf(k= 2 , n= 5 , p= 0.5 )

0.5

Prawdopodobieństwo, że na monecie wypadnie reszka 2 lub mniej, wynosi 0,5 .

Pytanie 3: Wiemy, że 70% osób popiera określone prawo. Jeśli losowo wybranych zostanie 10 osób, jakie jest prawdopodobieństwo, że od 4 do 6 z nich poprze prawo?

 from scipy.stats import binom

#calculate binomial probability
binom.cdf(k= 6 , n= 10 , p= 0.7 ) - binom.cdf(k= 3 , n= 10 , p= 0.7 )

0.3398

Prawdopodobieństwo, że od 4 do 6 losowo wybranych osób popiera to prawo, wynosi 0,3398 .

Jak wizualizować rozkład dwumianowy

Możesz wizualizować rozkład dwumianowy w Pythonie, korzystając z bibliotek seaborn i matplotlib :

 from numpy import random
import matplotlib.pyplot as plt
import seaborn as sns

x = random.binomial(n= 10 , p= 0.5 , size= 1000 )

sns.distplot(x, hist= True , kde= False )

plt.show()

Wykres rozkładu dwumianowego w Pythonie

Herbata

Dodaj komentarz

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