Estudiante: Juan Sebastian Merlano Mendoza
Código estudiantil: T00097320
Curso: Estadística Inferencial

Preparación del entorno

Para este laboratorio usamos R base, por lo que no hace falta instalar paquetes adicionales. Las funciones de cada distribución siguen el mismo patrón:

  • d da la probabilidad exacta P(X = k), por ejemplo dbinom().
  • p da la probabilidad acumulada P(X ≤ k), por ejemplo pbinom().
cat("¡Entorno listo para el laboratorio!\n")
## ¡Entorno listo para el laboratorio!

Función para graficar distribuciones discretas

Esta función recibe los valores posibles de X y sus probabilidades, y grafica la distribución. Las barras que resaltemos se pintan con otro color.

graficar_distribucion <- function(valores, probs, titulo, resaltar = NULL, colores_resaltar = CORAL) {
  colores <- rep(AZUL, length(valores))
  if (!is.null(resaltar)) colores[valores %in% resaltar] <- colores_resaltar
  barplot(probs, names.arg = valores, col = colores, border = "white",
          main = paste0(titulo, "\n", NOMBRE),
          xlab = "Valores (k)", ylab = "P(X = k)")
  grid(nx = NA, ny = NULL, col = "gray85", lty = "dotted")
}

Exploración de modelos probabilísticos discretos

Distribución de Bernoulli

Definición: modela un experimento con dos resultados posibles, éxito (1) o fracaso (0). La probabilidad de éxito es p.

  • Función de probabilidad: \(P(X=k) = p^k (1-p)^{1-k}\), para \(k = 0, 1\).
  • Media: \(E(X) = p\)
  • Varianza: \(Var(X) = p(1-p)\)

Ejemplo: una moneda cargada que da cara con probabilidad 0.58 se lanza una vez.

n_bernoulli <- 1
p_bernoulli <- 0.58   # probabilidad de cara (moneda cargada)

x_bernoulli <- 0:n_bernoulli
pmf_bernoulli <- dbinom(x_bernoulli, n_bernoulli, p_bernoulli)

graficar_distribucion(x_bernoulli, pmf_bernoulli,
                      paste0("Distribución de Bernoulli (p = ", p_bernoulli, ")"))

cat("Media (esperanza):", n_bernoulli * p_bernoulli, "\n")
## Media (esperanza): 0.58
cat("Varianza:", n_bernoulli * p_bernoulli * (1 - p_bernoulli), "\n")
## Varianza: 0.2436

Distribución Binomial

Definición: modela el número de éxitos en n ensayos independientes de Bernoulli, cada uno con probabilidad de éxito p.

  • Función de probabilidad: \(P(X=k) = \binom{n}{k} p^k (1-p)^{n-k}\)
  • Media: \(E(X) = n \cdot p\)
  • Varianza: \(Var(X) = n \cdot p \cdot (1-p)\)

Ejemplo básico: lanzar una moneda justa 10 veces. X = número de caras, con n = 10 y p = 0.5.

n_binom <- 10
p_binom <- 0.5

x_binom <- 0:n_binom
pmf_binom <- dbinom(x_binom, n_binom, p_binom)

graficar_distribucion(x_binom, pmf_binom,
                      paste0("Distribución Binomial (n = ", n_binom, ", p = ", p_binom, ")"))

cat("Media (esperanza):", n_binom * p_binom, "\n")
## Media (esperanza): 5
cat("Varianza:", n_binom * p_binom * (1 - p_binom), "\n")
## Varianza: 2.5

Ejemplo 1: exactamente 6 caras

Moneda justa, n = 10 y p = 0.5. ¿Cuál es la probabilidad de obtener exactamente 6 caras?

prob_6 <- dbinom(6, 10, 0.5)
cat("P(X = 6) =", round(prob_6, 5), "\n")
## P(X = 6) = 0.20508
graficar_distribucion(0:10, dbinom(0:10, 10, 0.5),
                      "Distribución Binomial (n = 10, p = 0.5): P(X = 6)",
                      resaltar = 6)

Ejemplo 2: a lo sumo 4 piezas defectuosas

Probabilidad de defecto 0.1 y muestra de 25 piezas. Calcula P(X ≤ 4).

n <- 25; p <- 0.1
valores <- 0:10                       # valores de X que tienen probabilidad apreciable
probs <- dbinom(valores, n, p)
p_acum <- pbinom(4, n, p)

graficar_distribucion(valores, probs,
                      "Distribución Binomial (n = 25, p = 0.1): P(X ≤ 4)",
                      resaltar = 0:4)

cat("P(X ≤ 4) =", round(p_acum, 5), "\n")
## P(X ≤ 4) = 0.90201

Ejemplo 3: psicólogos que encuentran trabajo

El 60% de los psicólogos encuentra trabajo el primer año. En un curso de 100 psicólogos, ¿cuántos se espera que se coloquen y cuál es la varianza?

n <- 100; p <- 0.6
cat("Se espera que", n * p, "psicólogos encuentren trabajo en el primer año.\n")
## Se espera que 60 psicólogos encuentren trabajo en el primer año.
cat("La varianza es:", round(n * p * (1 - p), 2), "\n")
## La varianza es: 24

Ejemplo 4: comunicadores sociales con Rh−

El 40% de los comunicadores tiene Rh−. En una muestra de 7:

  • (a) ¿Probabilidad de que todos sean Rh−?
  • (b) ¿Probabilidad de que máximo cuatro sean Rh−?
n <- 7; p <- 0.4

# (a) P(X = 7)
prob_a <- dbinom(7, n, p)
cat("(a) P(X = 7) =", round(prob_a, 5), "\n")
## (a) P(X = 7) = 0.00164
graficar_distribucion(0:n, dbinom(0:n, n, p),
                      "Distribución Binomial (n = 7, p = 0.4): P(X = 7)",
                      resaltar = 7)

# (b) P(X ≤ 4)
prob_b <- pbinom(4, n, p)
cat("(b) P(X ≤ 4) =", round(prob_b, 5), "\n")
## (b) P(X ≤ 4) = 0.90374
graficar_distribucion(0:n, dbinom(0:n, n, p),
                      "Distribución Binomial (n = 7, p = 0.4): P(X ≤ 4)",
                      resaltar = 0:4)

Ejemplo 5: al menos tres con efectos secundarios

Un antibiótico causa efectos secundarios al 25% de los pacientes. En una muestra de 8, ¿cuál es la probabilidad de que al menos tres los sufran?

n <- 8; p <- 0.25
# P(X >= 3) = 1 - P(X <= 2)
prob_al_menos_3 <- 1 - pbinom(2, n, p)
cat("P(X ≥ 3) =", round(prob_al_menos_3, 5), "\n")
## P(X ≥ 3) = 0.32146
graficar_distribucion(0:n, dbinom(0:n, n, p),
                      "Distribución Binomial (n = 8, p = 0.25): P(X ≥ 3)",
                      resaltar = 3:n)

Ejemplo 6: menos de tres con efectos secundarios

Con los mismos datos del ejemplo 5, ¿cuál es la probabilidad de que menos de tres sufran efectos secundarios?

prob_menos_3 <- pbinom(2, 8, 0.25)
cat("P(X < 3) =", round(prob_menos_3, 5), "\n")
## P(X < 3) = 0.67854
graficar_distribucion(0:8, dbinom(0:8, 8, 0.25),
                      "Distribución Binomial (n = 8, p = 0.25): P(X < 3)",
                      resaltar = 0:2)

Distribución Binomial Negativa

Definición: modela el número de fracasos que ocurren antes de obtener r éxitos. En R se usa dnbinom(x, size = r, prob = p), donde x es el número de fracasos.

  • Función de probabilidad: \(P(X=k) = \binom{k+r-1}{k} p^r (1-p)^k\), para \(k = 0, 1, 2, \dots\)
  • Media: \(E(X) = r(1-p)/p\)
  • Varianza: \(Var(X) = r(1-p)/p^2\)

Ejemplo 1: 5 éxitos antes de 3 fracasos

Con p = 0.7, ¿cuál es la probabilidad de obtener 5 éxitos antes de 3 fracasos? Como X cuenta fracasos, usamos x = 3 fracasos y r = 5 éxitos.

r <- 5; p <- 0.7; k <- 3
cat("P(X = 3) =", round(dnbinom(k, size = r, prob = p), 5), "\n")
## P(X = 3) = 0.15883
esperanza <- r * (1 - p) / p
varianza <- r * (1 - p) / p^2
cat("Esperanza E(X) =", round(esperanza, 2), "\n")
## Esperanza E(X) = 2.14
cat("Varianza V(X) =", round(varianza, 2), "\n")
## Varianza V(X) = 3.06
cat("Desviación estándar =", round(sqrt(varianza), 2), "\n")
## Desviación estándar = 1.75

Ejemplo 2: el décimo niño que es el tercero en contagiarse

La probabilidad de contagio es 0.6. ¿Cuál es la probabilidad de que el 10.º niño expuesto sea el tercero en contagiarse?

Para que el 10.º sea el 3.er contagio, deben haber ocurrido 7 niños no contagiados (fracasos) antes del tercer contagio.

n <- 10; r <- 3; p <- 0.6
k <- n - r                           # 7 niños no contagiados antes del 3.er contagio
cat("P =", round(dnbinom(k, size = r, prob = p), 5), "\n")
## P = 0.01274

Distribución de Poisson

Definición: modela el número de eventos que ocurren en un intervalo de tiempo o espacio, con un promedio de ocurrencia λ.

  • Función de probabilidad: \(P(X=k) = \dfrac{\lambda^k e^{-\lambda}}{k!}\), para \(k = 0, 1, 2, \dots\)
  • Media: \(E(X) = \lambda\)
  • Varianza: \(Var(X) = \lambda\)

Ejemplo 1: exactamente 3 llamadas

Una central recibe 2 llamadas por minuto en promedio. ¿Cuál es la probabilidad de recibir exactamente 3 llamadas en un minuto?

lambda <- 2; k <- 3
prob_3 <- dpois(k, lambda)
cat("P(X = 3) =", round(prob_3, 5), "\n")
## P(X = 3) = 0.18045
graficar_distribucion(0:14, dpois(0:14, lambda),
                      "Distribución de Poisson (λ = 2): P(X = 3)",
                      resaltar = 3)

Ejemplo 2: 6 o más erizos en una hora

Los erizos cruzan la autovía a razón de 4 cada 30 minutos. ¿Cuál es la probabilidad de que 6 o más crucen en una hora?

lambda <- 4 * 2                      # 4 erizos por 30 min, en una hora son 8
prob_6_mas <- 1 - ppois(5, lambda)   # P(X >= 6) = 1 - P(X <= 5)
cat("P(X ≥ 6) =", round(prob_6_mas, 5), "\n")
## P(X ≥ 6) = 0.80876
graficar_distribucion(0:19, dpois(0:19, lambda),
                      "Distribución de Poisson (λ = 8): P(X ≥ 6)",
                      resaltar = 6:19)

Ejemplo 3: más de 3 accidentes en 5 años

En una carretera ocurren en promedio 2 accidentes al año. ¿Cuál es la probabilidad de que en 5 años ocurran más de 3 accidentes?

lambda <- 2 * 5
prob_mas_3 <- 1 - ppois(3, lambda)   # P(X > 3) = 1 - P(X <= 3)
cat("P(X > 3) =", round(prob_mas_3, 5), "\n")
## P(X > 3) = 0.98966
graficar_distribucion(0:24, dpois(0:24, lambda),
                      "Distribución de Poisson (λ = 10): P(X > 3)",
                      resaltar = 4:24)

Ejemplo 4: 16 coches en 2 minutos

En un semáforo pasan 10 coches por minuto en promedio. ¿Cuál es la probabilidad de que pasen exactamente 16 coches en 2 minutos?

lambda <- 10 * 2
prob_16 <- dpois(16, lambda)
cat("P(X = 16) =", round(prob_16, 5), "\n")
## P(X = 16) = 0.06456
graficar_distribucion(0:39, dpois(0:39, lambda),
                      "Distribución de Poisson (λ = 20): P(X = 16)",
                      resaltar = 16)

Ejemplo 5: cheques sin fondo

Un banco recibe en promedio 6 cheques sin fondo por día. Calcula las probabilidades de:

  • a. 4 cheques en un día.
  • b. 50 cheques en una semana.
  • c. 10 cheques en 12 horas.
  • d. 5 cheques en 4 horas.
lambda_dia <- 6

# a. 4 cheques en un día
cat("a. P(X = 4) en un día =", round(dpois(4, lambda_dia), 5), "\n")
## a. P(X = 4) en un día = 0.13385
# b. 50 cheques en una semana (7 días)
cat("b. P(X = 50) en una semana =", round(dpois(50, lambda_dia * 7), 5), "\n")
## b. P(X = 50) en una semana = 0.02748
# c. 10 cheques en 12 horas (medio día)
cat("c. P(X = 10) en 12 horas =", round(dpois(10, lambda_dia * 0.5), 5), "\n")
## c. P(X = 10) en 12 horas = 0.00081
# d. 5 cheques en 4 horas
cat("d. P(X = 5) en 4 horas =", round(dpois(5, lambda_dia * 4 / 24), 5), "\n")
## d. P(X = 5) en 4 horas = 0.00307

Ejemplo 6: al menos 2 accidentes en un mes

En una empresa ocurren 5 accidentes por mes en promedio. ¿Cuál es la probabilidad de que ocurran como mínimo 2 accidentes en un mes?

lambda <- 5
# P(X >= 2) = 1 - [P(X = 0) + P(X = 1)]
prob_al_menos_2 <- 1 - (dpois(0, lambda) + dpois(1, lambda))
cat("P(X ≥ 2) =", round(prob_al_menos_2, 5), "\n")
## P(X ≥ 2) = 0.95957

Ejemplo 7: 8 accidentes en un trimestre

Con el mismo promedio de 5 accidentes por mes, ¿cuál es la probabilidad de que ocurran exactamente 8 accidentes en un trimestre?

lambda_trim <- 5 * 3
cat("P(X = 8) en un trimestre =", round(dpois(8, lambda_trim), 5), "\n")
## P(X = 8) en un trimestre = 0.01944

Distribución Hipergeométrica

Definición: modela el número de éxitos en una muestra de tamaño n extraída sin reemplazo de una población de tamaño N que contiene K éxitos. En R se usa dhyper(x, m, n_fracasos, k), donde m es el número de éxitos en la población, n_fracasos = N − K y k es el tamaño de la muestra.

  • Función de probabilidad: \(P(X=k) = \dfrac{\binom{K}{k}\binom{N-K}{n-k}}{\binom{N}{n}}\)
  • Media: \(E(X) = n \cdot \dfrac{K}{N}\)
  • Varianza: \(Var(X) = n \cdot \dfrac{K}{N} \cdot \left(1-\dfrac{K}{N}\right) \cdot \dfrac{N-n}{N-1}\)

Ejemplo 1: 3 bolas rojas

Una urna tiene 10 bolas rojas y 20 azules (N = 30). Se seleccionan 5 bolas sin reemplazo. ¿Cuál es la probabilidad de seleccionar exactamente 3 rojas?

N <- 30; K <- 10; n <- 5; k <- 3

prob_3_rojas <- dhyper(k, K, N - K, n)
cat("P(X = 3) =", round(prob_3_rojas, 5), "\n")
## P(X = 3) = 0.15999
esperanza <- n * (K / N)
varianza <- n * (K / N) * ((N - K) / N) * ((N - n) / (N - 1))
cat("Esperanza E(X) =", round(esperanza, 2), "\n")
## Esperanza E(X) = 1.67
cat("Varianza V(X) =", round(varianza, 2), "\n")
## Varianza V(X) = 0.96
cat("Desviación estándar =", round(sqrt(varianza), 2), "\n")
## Desviación estándar = 0.98
graficar_distribucion(0:5, dhyper(0:5, K, N - K, n),
                      "Distribución Hipergeométrica (N = 30, K = 10, n = 5)",
                      resaltar = 3)

Ejercicios propuestos

Resuelve los siguientes problemas con el código que aprendiste. En cada uno calcula la probabilidad y grafica la distribución.

  1. Binomial: un estudiante responde un examen de 15 preguntas de opción múltiple (4 opciones cada una) al azar. ¿Cuál es la probabilidad de que acierte exactamente 6? ¿Y de que acierte 5 o menos?
n <- 15; p <- 0.25
prob_6 <- dbinom(6, n, p)
prob_5_o_menos <- pbinom(5, n, p)
cat("P(X = 6) =", round(prob_6, 5), "\n")
## P(X = 6) = 0.09175
cat("P(X ≤ 5) =", round(prob_5_o_menos, 5), "\n")
## P(X ≤ 5) = 0.85163
graficar_distribucion(0:n, dbinom(0:n, n, p),
                      "Distribución Binomial (n = 15, p = 0.25): P(X = 6)",
                      resaltar = 6)

graficar_distribucion(0:n, dbinom(0:n, n, p),
                      "Distribución Binomial (n = 15, p = 0.25): P(X ≤ 5)",
                      resaltar = 0:5)

  1. Poisson: en un sitio web se reciben en promedio 3 visitas por minuto. ¿Cuál es la probabilidad de recibir exactamente 5 visitas en un minuto? ¿Y de recibir 2 o menos?
lambda <- 3
prob_5 <- dpois(5, lambda)
prob_2_o_menos <- ppois(2, lambda)
cat("P(X = 5) =", round(prob_5, 5), "\n")
## P(X = 5) = 0.10082
cat("P(X ≤ 2) =", round(prob_2_o_menos, 5), "\n")
## P(X ≤ 2) = 0.42319
graficar_distribucion(0:12, dpois(0:12, lambda),
                      "Distribución de Poisson (λ = 3): P(X = 5)",
                      resaltar = 5)

graficar_distribucion(0:12, dpois(0:12, lambda),
                      "Distribución de Poisson (λ = 3): P(X ≤ 2)",
                      resaltar = 0:2)

  1. Hipergeométrica: un lote de 50 piezas contiene 10 defectuosas. Se seleccionan 8 piezas al azar sin reemplazo. ¿Cuál es la probabilidad de encontrar exactamente 2 defectuosas en la muestra?
N <- 50; K <- 10; n <- 8; k <- 2
prob_2 <- dhyper(k, K, N - K, n)
cat("P(X = 2) =", round(prob_2, 5), "\n")
## P(X = 2) = 0.32172
graficar_distribucion(0:n, dhyper(0:n, K, N - K, n),
                      "Distribución Hipergeométrica (N = 50, K = 10, n = 8): P(X = 2)",
                      resaltar = 2)

  1. Binomial negativa: una máquina produce piezas con probabilidad de defecto del 5%. ¿Cuál es la probabilidad de que la tercera pieza defectuosa sea la décima producida?
r <- 3; p <- 0.05
k <- 10 - r                          # 7 piezas no defectuosas antes de la 3.ª defectuosa
prob <- dnbinom(k, size = r, prob = p)
cat("P(la 3.ª defectuosa es la 10.ª pieza) =", round(prob, 5), "\n")
## P(la 3.ª defectuosa es la 10.ª pieza) = 0.00314