| Autor: Eduardo Enriquez

Probabilidad: variables aleatorias discretas famosas: Binomial en Python.

Probabilidad: estudio de variables aleatorias famosas de valor discreto.

Debemos a Jakob Bernoulli (Suiza, 1654-1705) el primer tratado importante sobre probabilidad. La distribución binomial es apropiada para una variedad de procesos que describe datos discretos, que son resultado de un experimento aleatorio conocido como proceso de Bernoulli, el cual llevará a uno de dos resultados posibles que son mutuamente excluyentes, tales como muerto o vivo, enfermo o saludable, encendido o apagado,  verdadero o falso, posee la característica o no la posee, etc., en donde la obtención del resultado deseado se considera como éxito p y el resultado no deseado como fracaso q o no p:

n = "repeticiones independientes de un experimento. ej: tirar un dado o moneda con repetición"
p = "probabilidad de que suceda algo"
x = "cantidad de veces que quiero que suceda algo"
q = (1 – p)

La distribución binomial es uno de los primeros ejemplos de las llamadas distribuciones discretas (que sólo pueden tomar un número finito, o infinito numerable, de valores).

La formula para calcular utiliza coeficientes binomialesnúmeros combinatorios o combinaciones:

 {n\choose k} 

El coeficiente binomial  es el número de subconjuntos de k elementos escogidos de un conjunto con n elementos y se calcula así:

Y el signo de exclamación no es otra cosa que el factorial y calcularlo en Python es muy sencillo. Se utiliza del módulo math la funcion factorial. Y para calcular el numbero de combinatorias solo hace falta definir uan funcion que haga uso del factorial:

from math import factorial as f

def comb(n, k):
    return f(n) / (f(k) * f(n-k))

El resto de la formula de la binomial es la probabilidad elevada al numero de repeticiones que buscamos y multiplicado por 1 menos la probabilidad elevedad al total de la muestra menos el numero de repeticiones buscado, o más graficamente:

binomial 

o

 variable_aleatoria_binomial

Así que de esto a Python hay solo un paso:

"""
Dada una muestra de 50 estudiantes y sabiendo que la probabilidad de estudiantes fumadores es del 20%:
a) calcular la probabilidad de que hayan 7 fumadores.
b) calcular la probabilidad de que haya menos de 3 fumadores
c) ¿Cuál es la probabilidad de 
"""

from math import factorial as f

def comb(n, k):
    return f(n) / (f(k) * f(n-k))

n = 50             # muestra
k = 7              # el numero buscado
p = 0.2            # probabilidad de fumadores
q = 1 - p          # probabilidad de no fumadores

# a)

probabilidad_de_k = comb(n, k) * p**k * q**(n-k)

# b) 

probabilidad_de_0 = comb(n, 0) * p**0 * q**(n-0)
probabilidad_de_1 = comb(n, 1) * p**1 * q**(n-1)
probabilidad_de_2 = comb(n, 2) * p**2 * q**(n-2)

probabilidad_menor_a_3 = probabilidad_de_0 + probabilidad_de_1 + probabilidad_de_2

 

Related Posts