Fonction SciPy scipy.stats.binom

Bhuwan Bhatt 30 janvier 2023
  1. Syntaxe de scipy.stats.binom() pour calculer la distribution binomiale :
  2. Exemples de codes : Calcul de la fonction de masse de probabilité (pmf) de la distribution discrète à l’aide de binom
  3. Code supplémentaire
  4. Exemples de codes : Calcul de la fonction de distribution cumulative (cdf) Utilisation de binom
  5. Exemples de codes : Calcul de la moyenne, de la variance, de l’asymétrie, de l’aplatissement de la distribution à l’aide de binom
Fonction SciPy scipy.stats.binom

La fonction Python Scipy scipy.stats.binom() calcule la distribution binomiale d’une expérience qui a deux résultats possibles succès ou échec. De plus, nous pouvons appliquer la méthode binom() pour obtenir séparément la fonction de masse de probabilité(pmf), la fonction de densité de probabilité(pdf), la fonction de distribution cumulative(cdf), les stats, et ainsi de suite de toute distribution binomiale.

Syntaxe de scipy.stats.binom() pour calculer la distribution binomiale :

scipy.stats.binom(n, p)

Paramètres

n C’est le nombre d’essais qu’une expérience est effectuée.
p C’est la probabilité de succès d’un essai. L’autre résultat possible est failure, noté q et égal à 1-p.

Exemples de codes : Calcul de la fonction de masse de probabilité (pmf) de la distribution discrète à l’aide de binom

import scipy
from scipy import stats
from scipy.stats import binom

n = 12
p = 0.8
x = range(0, n)
pmf_result = binom.pmf(x, n, p)

print("x:\n", list(x))
print("The pmf of x is:\n", pmf_result)

Production :

x:
 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
The pmf of x is:
 [4.09600000e-09 1.96608000e-07 4.32537600e-06 5.76716800e-05
 5.19045120e-04 3.32188877e-03 1.55021476e-02 5.31502203e-02
 1.32875551e-01 2.36223201e-01 2.83467842e-01 2.06158430e-01]

Si nous essayons de visualiser la sortie ci-dessus dans un graphique à barres, cela ressemblera à ceci :

Code supplémentaire

import scipy
from scipy import stats
from scipy.stats import binom
import matplotlib.pyplot as plt

n = 12
p = 0.8
x = range(0, n)
pmf_result = binom.pmf(x, n, p)

dist = [binom.pmf(r, n, p) for r in x]
plt.bar(x, dist)
plt.xlabel("Number of Success")
plt.ylabel("Probability ")
plt.show()

Production :

Tracé PMF de la distribution binaire

Ici, une expérience qui a une probabilité de réussite de 80% est prise en compte et l’expérience est effectuée 12 fois. Étant donné que notre probabilité de réussite à chaque essai est assez élevée, le résultat peut être visualisé comme suit :

  1. La chance d’obtenir le succès une seule fois sera très inférieure à 4.09600000e-09.
  2. La chance d’obtenir près de 8 fois le succès est assez élevée, comme le montre le graphique à barres.

Exemples de codes : Calcul de la fonction de distribution cumulative (cdf) Utilisation de binom

Nous utilisons la fonction cdf() pour calculer la probabilité d’obtenir un certain nombre de succès dans une certaine plage.

import scipy
from scipy import stats
from scipy.stats import binom

n = 10
p = 0.8
k = 5
cdf_result = binom.cdf(k, n, p)

print("The cdf of k=5 is in given binomial distribution is: ", cdf_result)

Production :

The cdf of k=5 is in given binomial distribution is:  0.032793497599999964

Ici, nous essayons de connaître le taux de réussite lorsque 10 essais répétés sont effectués avec une probabilité de réussite de 80%.

Et notre sortie 0.03279349759999386 montre que les chances d’obtenir 5 succès ou moins en 10 essais sont de près de 3%.

Exemples de codes : Calcul de la moyenne, de la variance, de l’asymétrie, de l’aplatissement de la distribution à l’aide de binom

import scipy
from scipy import stats
from scipy.stats import binom

n = 12
p = 0.8
mean, variance, skewness, kurtosis = binom.stats(n, p, moments="mvsk")

print("The mean of the given distribution is:", mean)
print("The variance of the given distribution is:", variance)
print("The skewness of the given distribution is:", skewness)
print("The kurtosis of the given distribution is:", kurtosis)

Production :

The mean of given distribution is: 9.600000000000001
The variance of given distribution is: 1.92
The skewness of given distribution is: -0.4330127018922194
The kurtosis of given distribution is: 0.020833333333333353

Ici, l’asymétrie négative signifie que la queue du côté gauche de la distribution est plus grosse ou plus longue que le côté droit.

Article connexe - SciPy Stats