Función SciPy scipy.stats.binom

Bhuwan Bhatt 30 enero 2023
  1. Sintaxis de scipy.stats.binom() para calcular la distribución binomial:
  2. Códigos de ejemplo: Cálculo de la función de masa de probabilidad (pmf) de distribución discreta usando binom
  3. Código adicional
  4. Códigos de ejemplo: Calcular la función de distribución acumulada (cdf) Usando binom
  5. Códigos de ejemplo: Cálculo de la media, la varianza, la asimetría, la curtosis de la distribución usando binom
Función SciPy scipy.stats.binom

La función Python Scipy scipy.stats.binom() calcula la distribución binomial de un experimento que tiene dos posibles resultados éxito o fracaso. Además, podemos aplicar el método binom() para obtener por separado función de masa de probabilidad (pmf), función de densidad de probabilidad (pdf), función de distribución acumulativa (cdf), stats, etc. Distribución binomial.

Sintaxis de scipy.stats.binom() para calcular la distribución binomial:

scipy.stats.binom(n, p)

Parámetros

n Es el número de ensayos que se realiza un experimento.
p Es la probabilidad de éxito en un intento. El otro resultado posible es fracaso, denotado por q e igual a 1-p.

Códigos de ejemplo: Cálculo de la función de masa de probabilidad (pmf) de distribución discreta usando 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)

Producción:

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 tratamos de visualizar el resultado anterior en un gráfico de barras, se verá así:

Código adicional

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()

Producción:

Gráfico PMF de distribución binaria

Aquí, se toma en consideración un experimento que tiene una probabilidad de éxito del 80 por ciento, y el experimento se realiza 12 veces. Dado que nuestra probabilidad de éxito en cada prueba es bastante alta, el resultado se puede visualizar como:

  1. La posibilidad de obtener el éxito solo una vez será muy inferior a 4.09600000e-09.
  2. La posibilidad de tener éxito casi 8 veces es bastante alta, como se muestra en el gráfico de barras.

Códigos de ejemplo: Calcular la función de distribución acumulada (cdf) Usando binom

Usamos la función cdf() para calcular la probabilidad de obtener un número de éxitos dentro de un cierto rango.

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)

Producción:

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

Aquí, estamos tratando de conocer la tasa de éxito cuando se realizan 10 intentos repetidos donde la probabilidad de éxito es del 80 por ciento.

Y nuestro resultado 0.03279349759999386 muestra que las posibilidades de obtener 5 éxitos o menos en 10 intentos son casi del 3 por ciento.

Códigos de ejemplo: Cálculo de la media, la varianza, la asimetría, la curtosis de la distribución usando 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)

Producción:

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

Aquí, la asimetría negativa significa que la cola del lado izquierdo de la distribución es más gruesa o más larga que el lado derecho.

Artículo relacionado - SciPy Stats