Distribuciones Discretas (Jose Castro)

1. Distribución Binomial

Definición Formal

Una variable aleatoria X sigue una distribución binomial B(n,p) si:

  • Se realizan n ensayos independientes
  • Cada ensayo tiene exactamente dos resultados posibles (Ć©xito/fracaso)
  • La probabilidad de Ć©xito p es constante en todos los ensayos
  • X cuenta el nĆŗmero de Ć©xitos en los n ensayos

Función de masa de probabilidad:

P(X = k) = C(n,k) Ɨ p^k Ɨ (1-p)^(n-k)

donde k = 0, 1, 2, …, n

ParÔmetros: n (número de ensayos), p (probabilidad de éxito) Media: μ = np Varianza: σ² = np(1-p)

Ejemplo

# Ejemplo: Lanzar una moneda justa 10 veces, contar caras
n <- 10  # nĆŗmero de lanzamientos
p <- 0.5 # probabilidad de cara

# Probabilidad de obtener exactamente 6 caras
prob_6_caras <- dbinom(6, size = n, prob = p)
print(paste("P(X = 6) =", round(prob_6_caras, 4)))
## [1] "P(X = 6) = 0.2051"
# Probabilidad acumulada P(X ≤ 7)
prob_acum <- pbinom(7, size = n, prob = p)
print(paste("P(X ≤ 7) =", round(prob_acum, 4)))
## [1] "P(X ≤ 7) = 0.9453"
# Simular (1000 veces)
simulaciones <- rbinom(1000, size = n, prob = p)
hist(simulaciones, main = "Distribución Binomial B(10, 0.5)")


2. Distribución Hipergeométrica

Definición Formal

Una variable aleatoria X sigue una distribución hipergeométrica H(N, K, n) cuando:

  • Tenemos una población finita de N elementos
  • K elementos son ā€œĆ©xitosā€ y (N-K) son ā€œfracasosā€
  • Extraemos n elementos sin reemplazo
  • X cuenta el nĆŗmero de Ć©xitos en la muestra

Función de masa de probabilidad:

P(X = k) = [C(K,k) Ɨ C(N-K,n-k)] / C(N,n)

donde k = max(0, n-N+K), …, min(n, K)

ParÔmetros: N (tamaño población), K (éxitos en población), n (tamaño muestra) Media: μ = n(K/N) Varianza: σ² = n(K/N)(1-K/N)(N-n)/(N-1)

Ejemplo

# Ejemplo: Baraja de 52 cartas, 13 corazones, extraer 5 cartas
N <- 52  # total de cartas
K <- 13  # nĆŗmero de corazones
n <- 5   # cartas extraĆ­das

# Probabilidad de obtener exactamente 2 corazones
prob_2_corazones <- dhyper(2, m = K, n = N-K, k = n)
print(paste("P(X = 2) =", round(prob_2_corazones, 4)))
## [1] "P(X = 2) = 0.2743"
# Probabilidad acumulada P(X ≤ 3)
prob_acum <- phyper(3, m = K, n = N-K, k = n)
print(paste("P(X ≤ 3) =", round(prob_acum, 4)))
## [1] "P(X ≤ 3) = 0.9888"
# Simular
simulaciones <- rhyper(1000, m = K, n = N-K, k = n)
hist(simulaciones, main = "Distribución Hipergeométrica H(52,13,5)")


3. Distribución Geométrica

Definición Formal

Una variable aleatoria X sigue una distribución geométrica Geom(p) si:

  • Realizamos ensayos independientes hasta obtener el primer Ć©xito
  • Cada ensayo tiene probabilidad p de Ć©xito
  • X cuenta el nĆŗmero de ensayos necesarios hasta el primer Ć©xito (incluyĆ©ndolo)

Función de masa de probabilidad:

P(X = k) = (1-p)^(k-1) Ɨ p

donde k = 1, 2, 3, …

ParÔmetro: p (probabilidad de éxito) Media: μ = 1/p Varianza: σ² = (1-p)/p²

Ejemplo

# Ejemplo: Lanzar un dado hasta obtener un 6
p <- 1/6  # probabilidad de obtener 6

# Probabilidad de necesitar exactamente 5 lanzamientos
prob_5_intentos <- dgeom(4, prob = p)  # Nota: R usa k-1 ensayos fallidos
print(paste("P(X = 5) =", round(prob_5_intentos, 4)))
## [1] "P(X = 5) = 0.0804"
# Probabilidad de necesitar mƔximo 10 lanzamientos
prob_max_10 <- pgeom(9, prob = p)  # P(X ≤ 10)
print(paste("P(X ≤ 10) =", round(prob_max_10, 4)))
## [1] "P(X ≤ 10) = 0.8385"
# Simular
simulaciones <- rgeom(1000, prob = p) + 1  # +1 para incluir el Ʃxito
hist(simulaciones, main = "Distribución Geométrica Geom(1/6)")


4. Distribución de Poisson

Definición Formal

Una variable aleatoria X sigue una distribución de Poisson Pois(λ) si:

  • Cuenta eventos raros que ocurren en un intervalo fijo (tiempo/espacio)
  • Los eventos son independientes
  • La tasa promedio de ocurrencia es Ī»

Función de masa de probabilidad:

P(X = k) = (Ī»^k Ɨ e^(-Ī»)) / k!

donde k = 0, 1, 2, …

ParÔmetro: λ (tasa promedio) Media: μ = λ Varianza: σ² = λ

Ejemplo

# Ejemplo: Llamadas telefónicas por hora en un call center
lambda <- 4.5  # promedio de 4.5 llamadas por hora

# Probabilidad de recibir exactamente 3 llamadas
prob_3_llamadas <- dpois(3, lambda = lambda)
print(paste("P(X = 3) =", round(prob_3_llamadas, 4)))
## [1] "P(X = 3) = 0.1687"
# Probabilidad de recibir mƔximo 6 llamadas
prob_max_6 <- ppois(6, lambda = lambda)
print(paste("P(X ≤ 6) =", round(prob_max_6, 4)))
## [1] "P(X ≤ 6) = 0.8311"
# Simular
simulaciones <- rpois(1000, lambda = lambda)
hist(simulaciones, main = "Distribución de Poisson Pois(4.5)")


5. Distribución Binomial Negativa

Definición Formal

Una variable aleatoria X sigue una distribución binomial negativa BN(r,p) si:

  • Realizamos ensayos independientes hasta obtener r Ć©xitos
  • Cada ensayo tiene probabilidad p de Ć©xito
  • X cuenta el nĆŗmero de ensayos necesarios hasta obtener r Ć©xitos

Función de masa de probabilidad:

P(X = k) = C(k-1,r-1) Ɨ p^r Ɨ (1-p)^(k-r)

donde k = r, r+1, r+2, …

ParÔmetros: r (número de éxitos deseados), p (probabilidad de éxito) Media: μ = r/p Varianza: σ² = r(1-p)/p²

Ejemplo

# Ejemplo: Lanzar moneda hasta obtener 3 caras
r <- 3    # número de éxitos deseados
p <- 0.5  # probabilidad de Ʃxito

# Probabilidad de necesitar exactamente 7 lanzamientos
prob_7_intentos <- dnbinom(4, size = r, prob = p)  # 4 fracasos antes del 3er Ʃxito
print(paste("P(X = 7) =", round(prob_7_intentos, 4)))
## [1] "P(X = 7) = 0.1172"
# Probabilidad de necesitar mƔximo 10 lanzamientos
prob_max_10 <- pnbinom(7, size = r, prob = p)  # mƔximo 7 fracasos
print(paste("P(X ≤ 10) =", round(prob_max_10, 4)))
## [1] "P(X ≤ 10) = 0.9453"
# Simular
simulaciones <- rnbinom(1000, size = r, prob = p) + r  # +r para total de ensayos
hist(simulaciones, main = "Distribución Binomial Negativa BN(3,0.5)")


6. Distribución Uniforme Discreta

Definición Formal

Una variable aleatoria X sigue una distribución uniforme discreta U{a,a+1,…,b} si:

  • X puede tomar valores enteros desde a hasta b
  • Todos los valores tienen la misma probabilidad

Función de masa de probabilidad:

P(X = k) = 1/(b-a+1)

donde k = a, a+1, a+2, …, b

ParÔmetros: a (valor mínimo), b (valor mÔximo) Media: μ = (a+b)/2 Varianza: σ² = [(b-a+1)²-1]/12

Ejemplo

# Ejemplo: Lanzamiento de un dado justo (valores 1 a 6)
a <- 1  # valor mĆ­nimo
b <- 6  # valor mƔximo

# No encontré función específica para R, pero simulé lo siguiente:
valores_posibles <- a:b
n_valores <- length(valores_posibles)

# Probabilidad de cualquier valor (todos iguales)
prob_uniforme <- 1/n_valores
print(paste("P(X = k) =", round(prob_uniforme, 4), "para cualquier k"))
## [1] "P(X = k) = 0.1667 para cualquier k"
# Simular ( otra vez;) )
simulaciones <- sample(valores_posibles, 1000, replace = TRUE)
hist(simulaciones, breaks = (a-0.5):(b+0.5), 
     main = "Distribución Uniforme Discreta U{1,2,3,4,5,6}")

# Función para calcular probabilidades uniformes discretas
dunif_disc <- function(x, min, max) {
  ifelse(x >= min & x <= max & x == floor(x), 1/(max-min+1), 0)
}

# Ejemplo de uso
print(paste("P(X = 3) =", dunif_disc(3, a, b)))
## [1] "P(X = 3) = 0.166666666666667"