Come utilizzare la distribuzione binomiale in python


La distribuzione binomiale è una delle distribuzioni più comunemente utilizzate in statistica. Descrive la probabilità di ottenere k successi in n esperimenti binomiali.

Se una variabile casuale X segue una distribuzione binomiale, la probabilità che X = k successo può essere trovata con la seguente formula:

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

Oro:

  • n: numero di prove
  • k: numero di successi
  • p: probabilità di successo in una determinata prova
  • n C k : il numero di modi per ottenere k successi in n prove

Questo tutorial spiega come utilizzare la distribuzione binomiale in Python.

Come generare una distribuzione binomiale

Puoi generare un array di valori che segue una distribuzione binomiale utilizzando la funzione random.binomial della libreria 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])

Ciascun numero nella tabella risultante rappresenta il numero di “successi” riscontrati nel corso di 10 prove in cui la probabilità di successo in una determinata prova era 0,25 .

Come calcolare le probabilità utilizzando una distribuzione binomiale

Puoi anche rispondere a domande sulla probabilità binomiale utilizzando la funzione binom della libreria Scipy.

Domanda 1: Nathan effettua il 60% dei suoi tiri liberi. Se effettua 12 tiri liberi, qual è la probabilità che ne effettui esattamente 10?

 from scipy.stats import binom

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

0.0639

La probabilità che Nathan effettui esattamente 10 tiri liberi è 0,0639 .

Domanda 2: Marty lancia una moneta equilibrata 5 volte. Qual è la probabilità che esca testa 2 volte o meno?

 from scipy.stats import binom

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

0.5

La probabilità che la moneta esca testa 2 volte o meno è 0,5 .

Domanda 3: Sappiamo che il 70% delle persone sostiene una determinata legge. Se si scelgono a caso 10 individui, qual è la probabilità che tra 4 e 6 di loro sostengano la legge?

 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

La probabilità che tra 4 e 6 individui selezionati casualmente sostengano la legge è 0,3398 .

Come visualizzare una distribuzione binomiale

Puoi visualizzare una distribuzione binomiale in Python utilizzando le librerie seaborn e 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()

Grafico della distribuzione binomiale in Python

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *