La distribución hipergeométrica describe la probabilidad de obtener un número específico de éxitos en una muestra extraída sin reemplazo de una población finita que contiene éxitos y fracasos.
La fórmula de la probabilidad hipergeométrica es:
\[ P(X = x) = \frac{{\binom{K}{x} \cdot \binom{N-K}{n-x}}}{{\binom{N}{n}}} \]
donde:
\(N\) es el tamaño total de la población,
\(K\) es el número total de éxitos en la población,
\(n\) es el tamaño de la muestra,
\(x\) es el número de éxitos en la muestra.
O alternativamente, según la notación del paquete estadístico R:
\[ P(X = x) = \frac{{\binom{m}{x} \cdot \binom{n}{k-x}}}{{\binom{m+n}{k}}} \]
donde:
\(m+n\) es el tamaño total de la población,
\(m\) es el número total de éxitos en la población,
\(k\) es el tamaño de la muestra,
\(x\) es el número de éxitos en la muestra.
Las restricciones son:
\(0 \leq k \leq n + m\)
\(\max(0, k - n) \leq x \leq \min(k, m)\)
La distribución hipergeométrica es útil en situaciones donde:
Se extrae una muestra sin reemplazo.
Se conoce el número total de éxitos en la población.
El tamaño de la población es finito.
El combinatorio calcula cuántas formas hay de elegir \(x\) elementos de un conjunto de \(n\) elementos, sin importar el orden:
\[ \binom{n}{x} = \frac{n!}{x!(n-x)!} \]
¿Cuántas formas puedo elegir 3 personas de un grupo de 5 para un comité?
choose(n = 5, k = 3)
## [1] 10
# [1] 10
El factorial de un número \(n\) se define como el producto de todos los números enteros positivos hasta \(n\):
\[ n!=n(n−1)(n−2)\cdots1 \]
¿Cuántas formas hay de organizar 5 atletas en una fila?
factorial(5)
## [1] 120
# [1] 120
Supongamos que en una urna hay 10 bolitas rojas y 5 azules. Si seleccionamos 5 bolitas sin reemplazo, ¿cuál es la probabilidad de que 3 sean rojas?
La fórmula de la distribución hipergeométrica es:
\[ \begin{aligned} P(X = 3) &= \frac{{\binom{10}{3} \cdot \binom{15-10}{5-3}}}{{\binom{15}{5}}}\\ &= \frac{{\binom{10}{3} \cdot \binom{5}{2}}}{{\binom{15}{5}}} \end{aligned} \]
Cálculo de la probabilidad:
hipergeometrica <- function(x, K, n, N) {
choose(K, x) * choose(N - K, n - x) / choose(N, n)
}
hipergeometrica(x = 3, K = 10, n = 5, N = 15)
## [1] 0.3996004
HIPERGEOMETRICA <- function(x, m, n, k) {
choose(m, x) * choose(n, k - x) / choose(m + n, k)
}
HIPERGEOMETRICA(x = 3, m = 10, n = 5, k = 5)
## [1] 0.3996004
Graficar la distribución
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
data.frame(
exitos = 0:5,
probabilidades = sapply(0:5, function(x) hipergeometrica(x, K = 10, n = 5, N = 15))
) %>%
ggplot(mapping = aes(x = exitos, y = probabilidades)) +
geom_col(fill = "darkred", color = "black") +
geom_text(aes(label = round(probabilidades, 3)), vjust = -0.5) +
labs(
title = "Distribución Hipergeométrica: Selección de Bolitas",
x = "Número de Bolitas Rojas",
y = "Probabilidad"
) +
theme_minimal()
library(tidyverse)
data.frame(
exitos = 0:5,
probabilidades = sapply(0:5, function(x) HIPERGEOMETRICA(x, m = 10, n = 5, k = 5))
) %>%
ggplot(mapping = aes(x = exitos, y = probabilidades)) +
geom_col(fill = "darkred", color = "black") +
geom_text(aes(label = round(probabilidades, 3)), vjust = -0.5) +
labs(
title = "Distribución Hipergeométrica: Selección de Bolitas",
x = "Número de Bolitas Rojas",
y = "Probabilidad"
) +
theme_minimal()
En una baraja de 52 cartas, ¿cuál es la probabilidad de sacar 4 ases al elegir 13 cartas?
K <- 4 # Número de ases
n <- 13 # Tamaño de la muestra
N <- 52 # Tamaño de la población
x <- 4 # Número de éxitos
hipergeometrica(x = x, K = K, n = n, N = N)
## [1] 0.002641056
m <- 4 # Número de ases
n <- 48 # Número de no ases
k <- 13 # Tamaño de la muestra
x <- 4 # Número de éxitos
HIPERGEOMETRICA(x = x, m = m, n = n, k = k)
## [1] 0.002641056
El valor esperado de una distribución hipergeométrica es:
\[ \begin{aligned} E(X) &= n{\cdot}\frac{K}{N}\\ &= k{\cdot}\frac{m}{m+n} \end{aligned} \]
Valor esperado de obtener ases al sacar 13 cartas:
n <- 13
K <- 4
N <- 52
n * (K / N)
## [1] 1
k <- 13
m <- 4
n <- 48
k * (m / (m + n))
## [1] 1
La varianza de una distribución hipergeométrica es:
\[ \begin{aligned} Var(X) &= n{\cdot}\frac{K}{N}\left(1-\frac{K}{N}\right)\frac{N-n}{N-1}\\ &= k{\cdot}\frac{m}{m+n}\left(1-\frac{m}{m+n}\right)\frac{m+n-k}{m+n-1} \end{aligned} \]
Calculando la varianza:
n <- 13
K <- 4
N <- 52
Var_X <- n * (K / N) * (1 - K / N) * ((N - n) / (N - 1))
Var_X
## [1] 0.7058824
k <- 13
m <- 4
n <- 48
Var_X <- (m * n * k * (m + n - k)) / ((m + n)^2 * (m + n - 1))
Var_X
## [1] 0.7058824
Ejercicio 1: Selección de familias
En un grupo de 100 familias, 30 tienen mascotas. Si seleccionamos 10 familias al azar, ¿cuál es la probabilidad de que exactamente 5 tengan mascotas?
K <- 30
n <- 10
N <- 100
x <- 5
hipergeometrica(x = x, K = K, n = n, N = N)
## [1] 0.09963728
m <- 30 # Número de familias con mascotas
n <- 70 # Número de familias sin mascotas
k <- 10 # Tamaño de la muestra
x <- 5 # Número de éxitos
HIPERGEOMETRICA(x = x, m = m, n = n, k = k)
## [1] 0.09963728
Ejercicio 2: Muestreo de estudiantes
En una clase de 40 estudiantes, 12 son mujeres. Si seleccionamos 8 estudiantes, calcular la probabilidad de que exactamente 4 sean mujeres.
K <- 12
n <- 8
N <- 40
x <- 4
hipergeometrica(x = x, K = K, n = n, N = N)
## [1] 0.1317881
m <- 12 # Número de mujeres
n <- 28 # Número de hombres
k <- 8 # Tamaño de la muestra
x <- 4 # Número de éxitos
HIPERGEOMETRICA(x = x, m = m, n = n, k = k)
## [1] 0.1317881