Distribución Hipergeométrica

 i. De los 60 solicitantes a una universidad, 40 son del sur. Si se seleccionan al azar 20 solicitantes, encuentre la probabilidad de que las personas seleccionadas del sur sean


(a) 10 exactamente.


(b) no más de 2.


ii. Resuelva (a) el problema anterior utilizando la aproximación binomial. Explica la precisión obtenida. £Cuál es el factor de correlación de población finita?.


iii. Encuentre la media, la varianza y la desviación estándar de la variable aleatoria X del ejemplo anterior.


Programa echo en Python 

import math


# De los 60 solicitantes, 40 son del sur

total_applicants = 60

southern_applicants = 40

selected_applicants = 20


# Definimos una función para calcular la probabilidad binomial

def binomial_probability(n, x, p):

    """

    Calcula la probabilidad binomial


    Parameters:

    n (int): Número total de ensayos

    x (int): Número de éxitos deseados

    p (float): Probabilidad de éxito en un solo ensayo


    Returns:

    float: Probabilidad binomial

    """

    return (math.comb(n, x) * (p * x) * ((1 - p) * (n - x)))


# (a) Probabilidad de que exactamente 10 de los 20 seleccionados sean del sur

exact_southern_applicants_10 = binomial_probability(selected_applicants, 10, southern_applicants/total_applicants)

print(f"La probabilidad de seleccionar exactamente 10 solicitantes del sur es: {exact_southern_applicants_10}")


# (b) Probabilidad de que no más de 2 de los 20 seleccionados sean del sur

at_most_2_southern_applicants = sum([binomial_probability(selected_applicants, i, southern_applicants/total_applicants) for i in range(3)])

print(f"La probabilidad de seleccionar no más de 2 solicitantes del sur es: {at_most_2_southern_applicants}")


# ii. Aproximación binomial y factor de correlación de población finita

# La aproximación binomial es precisa cuando la población es grande en comparación con la muestra

# El factor de correlación de población finita se utiliza para corregir la varianza en muestras pequeñas de una gran población


# iii. Cálculo de la media, varianza y desviación estándar de la variable aleatoria X

mean = selected_applicants * (southern_applicants/total_applicants)

variance = selected_applicants * (southern_applicants/total_applicants) * ((total_applicants - southern_applicants) / total_applicants) * ((total_applicants - selected_applicants) / (total_applicants - 1))

std_deviation = math.sqrt(variance)


print(f"Media: {mean}")

print(f"Varianza: {variance}")

print(f"Desviación Estándar: {std_deviation}")

Comentarios