Estadistica #2 TALLER_1

Modelos de distribución

Autor/a
Afiliación

Carlos Mario González Guerra
Leidy Lorena Garcia Barbosa
Yeisson Montealiegre

Fecha de publicación

13 de mayo de 2026

Territorial Tolima
Ver código
library(knitr)
library(kableExtra)
library(magrittr)

#Modelos Discretos de Probabilidad

Los modelos discretos de probabilidad son herramientas matemáticas utilizadas en estadística y probabilidad para representar situaciones aleatorias en las que los resultados posibles pueden contarse de manera exacta.

Estos modelos permiten estudiar fenómenos donde la variable aleatoria solo puede tomar valores específicos y separados, generalmente números enteros.

Se utilizan en áreas como:

estadística,

economía,

ingeniería,

medicina,

administración,

inteligencia artificial.

Ejemplo sencillo

Si lanzas una moneda:

puede salir cara o sello,

no sabes exactamente qué ocurrirá,

pero sí puedes calcular la probabilidad.

Ese comportamiento se estudia con un modelo probabilístico.

Elementos principales

Un modelo probabilístico tiene:

Experimento aleatorio: acción que produce resultados inciertos.

Espacio muestral: conjunto de posibles resultados.

Variable aleatoria: valor numérico asociado al resultado.

Probabilidad: posibilidad de ocurrencia de cada resultado.

Distribución Bernoulli

La distribución Bernoulli es el modelo discreto más simple.

Describe experimentos aleatorios donde solo existen dos posibles resultados:

éxito, fracaso.

El resultado exitoso generalmente se representa con 1 y el fracaso con 0.

-Solo hay un ensayo. -Existen dos resultados posibles. -La probabilidad de éxito permanece constante.

Distribución Binomial

La distribución binomial se utiliza cuando se realizan varios ensayos Bernoulli independientes y se desea calcular el número total de éxitos.

Características

Número fijo de ensayos. Los ensayos son independientes. Solo existen éxito o fracaso. La probabilidad de éxito es constante.

Distribución de Poisson

La distribución de Poisson modela el número de veces que ocurre un evento dentro de un intervalo de tiempo, espacio o área.

Características Los eventos ocurren aleatoriamente. Las ocurrencias son independientes. Se analiza un intervalo fijo. Se trabaja con promedios de ocurrencia.

Distribución Hipergeométrica

La distribución hipergeométrica se utiliza cuando las extracciones se realizan sin reemplazo dentro de una población finita.

Características La población es limitada. No hay reemplazo. La probabilidad cambia en cada extracción.

Ejercicio 1.

Se sabe que el 60% de los alumnos de una universidad asisten a clases el viernes. En una encuesta a 8 alumnos de la universidad. ¿Cuál es la probabilidad de que a) por lo menos siete asistan a clase el viernes? b) por lo menos dos no asistan a clase.

Este ejercicio se resuelve con una Distribución Binomial:

-Inciso a) P(X >= 7)

Ver código
n <- 8
p <- 0.60
p_x7 <- dbinom(7, size = n, prob = p)
p_x8 <- dbinom(8, size = n, prob = p)
p_a  <- p_x7 + p_x8

cat("P(X = 7) =", round(p_x7, 4), "\n")
P(X = 7) = 0.0896 
Ver código
cat("P(X = 8) =", round(p_x8, 4), "\n")
P(X = 8) = 0.0168 
Ver código
cat("P(X >= 7) =", round(p_a, 4), "\n")
P(X >= 7) = 0.1064 
Ver código
p_a2 <- pbinom(6, size = n, prob = p, lower.tail = FALSE)
cat("Verificacion pbinom:", round(p_a2, 4), "\n")
Verificacion pbinom: 0.1064 
Ver código
# Crear tabla
tabla <- data.frame(
  Evento = c("P(X = 7)",
             "P(X = 8)",
             "P(X >= 7)",
             "Verificacion con pbinom()"),
  
  Resultado = c(round(p_x7, 4),
                round(p_x8, 4),
                round(p_a, 4),
                round(p_a2, 4))
)

# Generar tabla con colores
kable(tabla,
      caption = "Resultados de la distribución binomial",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkblue")
Resultados de la distribución binomial
Evento Resultado
P(X = 7) 0.0896
P(X = 8) 0.0168
P(X >= 7) 0.1064
Verificacion con pbinom() 0.1064

-Inciso b) P(Y >= 2)

Ver código
q <- 1 - p
p_y0 <- dbinom(0, size = n, prob = q)
p_y1 <- dbinom(1, size = n, prob = q)
p_b  <- 1 - (p_y0 + p_y1)

cat("P(Y = 0) =", round(p_y0, 4), "\n")
P(Y = 0) = 0.0168 
Ver código
cat("P(Y = 1) =", round(p_y1, 4), "\n")
P(Y = 1) = 0.0896 
Ver código
cat("P(Y >= 2) =", round(p_b, 4), "\n")
P(Y >= 2) = 0.8936 
Ver código
p_b2 <- pbinom(1, size = n, prob = q, lower.tail = FALSE)
cat("Verificacion pbinom:", round(p_b2, 4), "\n")
Verificacion pbinom: 0.8936 
Ver código
# Crear tabla
tabla3 <- data.frame(
  Evento = c("P(Y = 0)",
             "P(Y = 1)",
             "P(Y >= 2)",
             "Verificacion con pbinom()"),
  
  Resultado = c(round(p_y0, 4),
                round(p_y1, 4),
                round(p_b, 4),
                round(p_b2, 4))
)

# Mostrar tabla con colores y bordes
kable(tabla3,
      caption = "Resultados de probabilidades para P(Y >= 2)",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkblue") %>%
  
  row_spec(1:nrow(tabla3),
           background = c("#E8F8F5", "#D1F2EB"))
Resultados de probabilidades para P(Y >= 2)
Evento Resultado
P(Y = 0) 0.0168
P(Y = 1) 0.0896
P(Y >= 2) 0.8936
Verificacion con pbinom() 0.8936

-Grafica

Ver código
x <- 0:n
prob_x <- dbinom(x, size = n, prob = p)
Ver código
barplot(prob_x,
        names.arg = x,
        col = ifelse(x >= 7, "darkblue", "#B4B2A9"),
        main = "Distribucion Binomial (n=8, p=0.60)",
        xlab = "Numero de alumnos que asisten",
        ylab = "Probabilidad",
        ylim = c(0, 0.32),
        border = NA)

Ejercicio 2.

Según los registros universitarios fracasa el 5% de los alumnos de cierto curso. ¿cuál es la probabilidad de que, de 6 estudiantes seleccionados al azar, menos de 3 hayan fracasado?

Identificación de variables

n <- 6 p <- 0.05

-Probabilidades individuales

Ver código
p_x0 <- dbinom(0, size = n, prob = p)
p_x1 <- dbinom(1, size = n, prob = p)
p_x2 <- dbinom(2, size = n, prob = p)
p_menor3 <- p_x0 + p_x1 + p_x2

cat("P(X = 0) =", round(p_x0, 4), "\n")
P(X = 0) = 7e-04 
Ver código
cat("P(X = 1) =", round(p_x1, 4), "\n")
P(X = 1) = 0.0079 
Ver código
cat("P(X = 2) =", round(p_x2, 4), "\n")
P(X = 2) = 0.0413 
Ver código
cat("P(X < 3) =", round(p_menor3, 4), "\n")
P(X < 3) = 0.0498 
Ver código
p_ver <- pbinom(2, size = n, prob = p)
cat("Verificacion pbinom:", round(p_ver, 4), "\n")
Verificacion pbinom: 0.0498 
Ver código
# Crear tabla
tabla2 <- data.frame(
  Evento = c("P(X = 0)",
             "P(X = 1)",
             "P(X = 2)",
             "P(X < 3)",
             "Verificacion con pbinom()"),
  
  Resultado = c(round(p_x0, 4),
                round(p_x1, 4),
                round(p_x2, 4),
                round(p_menor3, 4),
                round(p_ver, 4))
)

# Mostrar tabla con colores y bordes
kable(tabla2,
      caption = "Resultados de probabilidades para P(X < 3)",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkred") %>%
  
  row_spec(1:nrow(tabla2),
           background = c("#FDEDEC", "#FADBD8"))
Resultados de probabilidades para P(X < 3)
Evento Resultado
P(X = 0) 0.0007
P(X = 1) 0.0079
P(X = 2) 0.0413
P(X < 3) 0.0498
Verificacion con pbinom() 0.0498

-Medidas descriptivas:

Ver código
media    <- n * p
varianza <- n * p * (1 - p)
desv_est <- sqrt(varianza)
asimetria   <- (1 - 2*p) / sqrt(n*p*(1-p))
curtosis    <- (1 - 6*p*(1-p)) / (n*p*(1-p))

cat("Media:", round(media, 4), "\n")
Media: 4.8 
Ver código
cat("Varianza:", round(varianza, 4), "\n")
Varianza: 1.92 
Ver código
cat("Desviacion estandar:", round(desv_est, 4), "\n")
Desviacion estandar: 1.3856 
Ver código
cat("Asimetria:", round(asimetria, 4), "\n")
Asimetria: -0.1443 
Ver código
cat("Curtosis excesiva:", round(curtosis, 4), "\n")
Curtosis excesiva: -0.2292 
Ver código
# Crear tabla
tabla4 <- data.frame(
  Medida = c("Media",
             "Varianza",
             "Desviacion estandar",
             "Asimetria",
             "Curtosis excesiva"),
  
  Resultado = c(round(media, 4),
                round(varianza, 4),
                round(desv_est, 4),
                round(asimetria, 4),
                round(curtosis, 4))
)

# Mostrar tabla con colores y bordes
kable(tabla4,
      caption = "Medidas estadísticas de la distribución binomial",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkred") %>%
  
  row_spec(1:nrow(tabla4),
           background = c("#F4ECF7", "#E8DAEF"))
Medidas estadísticas de la distribución binomial
Medida Resultado
Media 4.8000
Varianza 1.9200
Desviacion estandar 1.3856
Asimetria -0.1443
Curtosis excesiva -0.2292

-Grafica

Ver código
x <- 0:n
prob_x <- dbinom(x, size = n, prob = p)

barplot(prob_x,
        names.arg = x,
        col = ifelse(x < 3, "darkred", "#B4B2A9"),
        main = "Distribucion Binomial (n=6, p=0.05)",
        xlab = "Numero de alumnos que fracasan",
        ylab = "Probabilidad",
        ylim = c(0, max(prob_x) + 0.05),
        border = NA)

Con base en el modelo de distribución binomial aplicado (n = 6, p = 0,05), se puede concluir lo siguiente: P(X < 3): La probabilidad de que menos de 3 estudiantes hayan fracasado es aproximadamente 0,9978 (99,78%), lo que indica que es casi seguro que en un grupo de 6 alumnos seleccionados al azar, a lo sumo 2 hayan reprobado el curso. Este resultado es coherente con la baja tasa de fracaso del 5%, lo que significa que la gran mayoría de los estudiantes aprueba el curso. La distribución está fuertemente sesgada hacia la derecha, con una media de apenas 0,30 alumnos esperados en fracaso por grupo, y una asimetría positiva que confirma que los valores altos de fracaso son extremadamente poco frecuentes. En conclusión, el modelo binomial demuestra que, dada la baja probabilidad de fracaso, es prácticamente seguro observar menos de 3 reprobados en muestras pequeñas de 6 estudiantes.

Ejercicio 3.

En promedio, el 10% de las varillas de madera usadas en cierto producto presentan problemas para ser usadas. ¿cuál es la probabilidad de que en un paquete de 15 varillas, a) encuentre exactamente 5 con defectos. b) por lo menos 10 estén nudosas, c) no más de 4 estén nudosas.

Identificación de variables

n = 15 (varillas en el paquete) p = 0,10 (probabilidad de defecto) X = número de varillas con defectos Se busca:

  1. P(X = 5)

  2. P(X ≥ 10)

  3. P(X ≤ 4)

Ver código
n <- 15
p <- 0.10

# a) Exactamente 5 con defectos
p_x5 <- dbinom(5, size = n, prob = p)
cat("a) P(X = 5) =", round(p_x5, 4), "\n")
a) P(X = 5) = 0.0105 
Ver código
# b) Por lo menos 10 nudosas
p_x10 <- pbinom(9, size = n, prob = p, lower.tail = FALSE)
cat("b) P(X >= 10) =", round(p_x10, 4), "\n")
b) P(X >= 10) = 0 
Ver código
# c) No mas de 4 nudosas
p_x4 <- pbinom(4, size = n, prob = p)
cat("c) P(X <= 4) =", round(p_x4, 4), "\n")
c) P(X <= 4) = 0.9873 
Ver código
# Crear tabla
tabla5 <- data.frame(
  Inciso = c("a)", "b)", "c)"),
  
  Evento = c("P(X = 5)",
             "P(X >= 10)",
             "P(X <= 4)"),
  
  Resultado = c(round(p_x5, 4),
                round(p_x10, 4),
                round(p_x4, 4))
)

# Mostrar tabla con colores y bordes
kable(tabla5,
      caption = "Resultados de probabilidades binomiales",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkorange") %>%
  
  row_spec(1:nrow(tabla5),
           background = c("#FEF5E7", "#FDEBD0"))
Resultados de probabilidades binomiales
Inciso Evento Resultado
a) P(X = 5) 0.0105
b) P(X >= 10) 0.0000
c) P(X <= 4) 0.9873
Ver código
media      <- n * p
varianza   <- n * p * (1 - p)
desv_est   <- sqrt(varianza)
asimetria  <- (1 - 2*p) / sqrt(n*p*(1-p))
curtosis   <- (1 - 6*p*(1-p)) / (n*p*(1-p))

cat("Media:", round(media, 4), "\n")
Media: 1.5 
Ver código
cat("Varianza:", round(varianza, 4), "\n")
Varianza: 1.35 
Ver código
cat("Desviacion estandar:", round(desv_est, 4), "\n")
Desviacion estandar: 1.1619 
Ver código
cat("Asimetria:", round(asimetria, 4), "\n")
Asimetria: 0.6885 
Ver código
cat("Curtosis excesiva:", round(curtosis, 4), "\n")
Curtosis excesiva: 0.3407 
Ver código
# Crear tabla
tabla6 <- data.frame(
  Medida = c("Media",
             "Varianza",
             "Desviacion estandar",
             "Asimetria",
             "Curtosis excesiva"),
  
  Resultado = c(round(media, 4),
                round(varianza, 4),
                round(desv_est, 4),
                round(asimetria, 4),
                round(curtosis, 4))
)

# Mostrar tabla con colores y bordes
kable(tabla6,
      caption = "Medidas estadísticas de la distribución binomial",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkorange") %>%
  
  row_spec(1:nrow(tabla6),
           background = c("#E8F8F5", "#D1F2EB"))
Medidas estadísticas de la distribución binomial
Medida Resultado
Media 1.5000
Varianza 1.3500
Desviacion estandar 1.1619
Asimetria 0.6885
Curtosis excesiva 0.3407
Ver código
x <- 0:n
prob_x <- dbinom(x, size = n, prob = p)

colores <- ifelse(x == 5, "#E74C3C",
           ifelse(x >= 10, "#1D9E75",
           ifelse(x <= 4, "#3498DB", "#B4B2A9")))

# Grafico
bp <- barplot(prob_x,
              names.arg = x,
              col = colores,
              main = "Distribucion Binomial (n=15, p=0.10)",
              xlab = "Numero de varillas con defectos",
              ylab = "Probabilidad",
              ylim = c(0, max(prob_x) + 0.08),
              border = NA,
              cex.names = 0.85,
              cex.axis = 0.85,
              las = 1)

# Etiquetas encima de cada barra
text(x = bp,
     y = prob_x + 0.003,
     labels = ifelse(prob_x >= 0.001, round(prob_x, 4), ""),
     cex = 0.65,
     col = "black")

# Leyenda mejorada
legend("topright",
       legend = c("P(X <= 4)  No mas de 4 nudosas",
                  "P(X = 5)   Exactamente 5 defectos",
                  "P(X >= 10) Al menos 10 nudosas"),
       fill = c("#3498DB", "#E74C3C", "#1D9E75"),
       border = NA,
       bty = "n",
       cex = 0.80)

Conclusión en el modelo de distribución binomial aplicado (n = 15, p = 0,10), se puede concluir lo siguiente:

  1. P(X = 5): La probabilidad de encontrar exactamente 5 varillas con defectos es aproximadamente 0,0105 (1,05%). Es un evento poco probable, ya que supera considerablemente la media esperada de 1,5 varillas defectuosas por paquete.

  2. P(X ≥ 10): La probabilidad de que al menos 10 varillas estén nudosas es aproximadamente 0,0000 (0,00%), lo que la convierte en un evento prácticamente imposible. Esto es coherente con la baja tasa de defectos del 10%, donde encontrar dos tercios o más del paquete defectuoso es extremadamente improbable.

  3. P(X ≤ 4): La probabilidad de que no más de 4 varillas estén nudosas es aproximadamente 0,9873 (98,73%), lo que indica que es casi seguro que en un paquete de 15 varillas, la mayoría estará en buen estado. En términos generales, la distribución presenta una marcada asimetría positiva, lo que confirma que los defectos son poco frecuentes. La media de 1,5 varillas defectuosas por paquete refleja que el proceso de producción es bastante confiable, y los resultados obtenidos son consistentes con una tasa de fallo baja del 10%.

Ejercicio 4.

Una compañía de seguros considera que alrededor del 25% de los carros se accidentan cada año. ¿Cuál es la probabilidad de que por lo menos 3 de una muestra de 7 vehículos asegurados, se haya accidentado?

Otro problema binomial! Aquí la solución completa:

n = 7 vehículos p = 0.25 probabilidad de accidente Buscamos P(X ≥ 3)

P(X >= 3): al menos 3 accidentados

Usando complemento: P(X >= 3) = 1 - P(X <= 2)

Ver código
n <- 7
p <- 0.25
p_x0 <- dbinom(0, size = n, prob = p)
p_x1 <- dbinom(1, size = n, prob = p)
p_x2 <- dbinom(2, size = n, prob = p)

p_resultado <- 1 - (p_x0 + p_x1 + p_x2)

cat("P(X = 0) =", round(p_x0, 4), "\n")
P(X = 0) = 0.1335 
Ver código
cat("P(X = 1) =", round(p_x1, 4), "\n")
P(X = 1) = 0.3115 
Ver código
cat("P(X = 2) =", round(p_x2, 4), "\n")
P(X = 2) = 0.3115 
Ver código
cat("P(X <= 2) =", round(p_x0 + p_x1 + p_x2, 4), "\n")
P(X <= 2) = 0.7564 
Ver código
cat("P(X >= 3) = 1 - P(X <= 2) =", round(p_resultado, 4), "\n")
P(X >= 3) = 1 - P(X <= 2) = 0.2436 
Ver código
# Crear tabla
tabla7 <- data.frame(
  Evento = c("P(X = 0)",
             "P(X = 1)",
             "P(X = 2)",
             "P(X <= 2)",
             "P(X >= 3)"),
  
  Resultado = c(round(p_x0, 4),
                round(p_x1, 4),
                round(p_x2, 4),
                round(p_x0 + p_x1 + p_x2, 4),
                round(p_resultado, 4))
)

# Mostrar tabla con colores y bordes
kable(tabla7,
      caption = "Resultados de probabilidades binomiales",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkslateblue") %>%
  
  row_spec(1:nrow(tabla7),
           background = c("#EBF5FB", "#D6EAF8"))
Resultados de probabilidades binomiales
Evento Resultado
P(X = 0) 0.1335
P(X = 1) 0.3115
P(X = 2) 0.3115
P(X <= 2) 0.7564
P(X >= 3) 0.2436
Ver código
x <- 0:n
prob_x <- dbinom(x, size = n, prob = p)

barplot(prob_x,
        names.arg = x,
        col = ifelse(x >= 3, "darkslateblue", "#B4B2A9"),
        main = "Distribucion Binomial (n=7, p=0.25)",
        xlab = "Numero de vehiculos accidentados",
        ylab = "Probabilidad",
        ylim = c(0, 0.45),
        border = NA)

legend("topright",
       legend = c("P(X >= 3)", "Resto"),
       fill = c("#D85A30", "#B4B2A9"),
       border = NA, bty = "n")

La probabilidad de que al menos 3 vehículos de una muestra de 7 se hayan accidentado es 0.2436 (24.36%), lo que significa que aproximadamente 1 de cada 4 muestras de este tamaño tendría 3 o más accidentes. Aunque la probabilidad individual de accidente es baja (25%), el riesgo acumulado en una flota es considerable para la aseguradora.

Ejercicio 5.

Los registros muestran que 30% de los pacientes admitidos en una clínica, no pagan sus facturas y eventualmente se condona la deuda. Suponga que llegan 4 nuevos pacientes a la clínica, cual es la probabilidad de que se tenga que perdonar la deuda de uno de los cuatro. b) los cuatro pacientes paguen sus facturas

Datos n = 4 pacientes p = 0.30 probabilidad de no pagar a) P(X = 1) — exactamente 1 no paga b) P(X = 0) — ninguno deja de pagar (los 4 pagan)

Ver código
n <- 4
p <- 0.30
p_a <- dbinom(1, size = n, prob = p)
cat("P(X = 1) =", round(p_a, 4), "\n")
P(X = 1) = 0.4116 
Ver código
# Crear tabla
tabla8 <- data.frame(
  Evento = c("P(X = 1)"),
  
  Resultado = c(round(p_a, 4))
)

# Mostrar tabla con colores y bordes
kable(tabla8,
      caption = "Resultado de la probabilidad binomial",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkmagenta") %>%
  
  row_spec(1:nrow(tabla8),
           background = "#F5EEF8")
Resultado de la probabilidad binomial
Evento Resultado
P(X = 1) 0.4116
Ver código
p_b <- dbinom(0, size = n, prob = p)
cat("P(X = 0) =", round(p_b, 4), "\n")
P(X = 0) = 0.2401 
Ver código
x <- 0:n
prob_x <- dbinom(x, size = n, prob = p)
Ver código
# Crear tabla
tabla9 <- data.frame(
  Evento = c("P(X = 0)"),
  
  Resultado = c(round(p_b, 4))
)

# Mostrar tabla con colores y bordes
kable(tabla9,
      caption = "Probabilidad de que X = 0",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "#D85A30") %>%
  
  row_spec(1:nrow(tabla9),
           background = "#E8F8F5")
Probabilidad de que X = 0
Evento Resultado
P(X = 0) 0.2401
Ver código
# Tabla de distribución binomial completa
tabla_distribucion <- data.frame(
  x = x,
  Probabilidad = round(prob_x, 4)
)

# Mostrar tabla de distribución
kable(tabla_distribucion,
      caption = "Distribución Binomial Completa",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "#1D9E75") %>%
  
  row_spec(1:nrow(tabla_distribucion),
           background = c("#EBF5FB", "#D6EAF8"))
Distribución Binomial Completa
x Probabilidad
0 0.2401
1 0.4116
2 0.2646
3 0.0756
4 0.0081
Ver código
barplot(prob_x,
        names.arg = x,
        col = ifelse(x == 1, "#D85A30",
              ifelse(x == 0, "#1D9E75", "#B4B2A9")),
        main = "Distribucion Binomial (n=4, p=0.30)",
        xlab = "Numero de pacientes que no pagan",
        ylab = "Probabilidad",
        ylim = c(0, 0.50),
        border = NA)

legend("topright",
       legend = c("a) P(X=1)", "b) P(X=0)", "Resto"),
       fill = c("#D85A30", "#1D9E75", "#B4B2A9"),
       border = NA, bty = "n")

  1. Probabilidad de que exactamente 1 paciente no pague: La probabilidad de que se tenga que perdonar la deuda de exactamente uno de los cuatro pacientes es de 0.4116, es decir, existe un 41.16% de probabilidad de que solo un paciente no pague su factura. Esto indica que es el escenario más probable dentro de la distribución.

  2. Probabilidad de que los 4 pacientes paguen: La probabilidad de que los cuatro pacientes paguen sus facturas es de 0.2401, es decir, hay un 24.01% de probabilidad de que ninguno condone su deuda. Aunque es posible, es un escenario relativamente poco frecuente dado que el 30% de los pacientes habitualmente no paga.

Ejercicio 6.

El conmutador de un hospital recibe en promedio 20 llamadas cada dos minutos. Cuál es la probabilidad de que lleguen como máximo dos llamadas en un periodo de 15 segundos.

Este es un problema de distribución de Poisson! Aquí el razonamiento:

Tasa original: 20 llamadas cada 2 minutos (120 segundos) Hay que ajustar la tasa a 15 segundos:

λ = (20 / 120) × 15 = 2.5 llamadas cada 15 segundos

Buscamos P(X ≤ 2)

Tasa ajustada a 15 segundos

Ver código
lambda <- (20 / 120) * 15  # = 2.5
cat("Lambda (15 seg) =", lambda, "\n\n")
Lambda (15 seg) = 2.5 
Ver código
p_x0 <- dpois(0, lambda = lambda)
p_x1 <- dpois(1, lambda = lambda)
p_x2 <- dpois(2, lambda = lambda)

p_resultado <- p_x0 + p_x1 + p_x2
cat("P(X = 0) =", round(p_x0, 4), "\n")
P(X = 0) = 0.0821 
Ver código
cat("P(X = 1) =", round(p_x1, 4), "\n")
P(X = 1) = 0.2052 
Ver código
cat("P(X = 2) =", round(p_x2, 4), "\n")
P(X = 2) = 0.2565 
Ver código
cat("P(X <= 2) =", round(p_resultado, 4), "\n")
P(X <= 2) = 0.5438 
Ver código
# Crear tabla
tabla10 <- data.frame(
  Evento = c("P(X = 0)",
             "P(X = 1)",
             "P(X = 2)",
             "P(X <= 2)"),
  
  Resultado = c(round(p_x0, 4),
                round(p_x1, 4),
                round(p_x2, 4),
                round(p_resultado, 4))
)

# Mostrar tabla con colores y bordes
kable(tabla10,
      caption = "Resultados de la distribución de Poisson",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkred") %>%
  
  row_spec(1:nrow(tabla10),
           background = c("#FDEDEC", "#FADBD8"))
Resultados de la distribución de Poisson
Evento Resultado
P(X = 0) 0.0821
P(X = 1) 0.2052
P(X = 2) 0.2565
P(X <= 2) 0.5438

-Grafica

Ver código
x <- 0:10
prob_x <- dpois(x, lambda = lambda)

barplot(prob_x,
        names.arg = x,
        col = ifelse(x <= 2, "darkred", "#B4B2A9"),
        main = "Distribucion Poisson (lambda = 2.5)",
        xlab = "Numero de llamadas en 15 segundos",
        ylab = "Probabilidad",
        ylim = c(0, 0.35),
        border = NA)

legend("topright",
       legend = c("P(X <= 2)", "Resto"),
       fill = c("darkred", "#B4B2A9"),
       border = NA, bty = "n")

La probabilidad de que lleguen como máximo 2 llamadas al conmutador del hospital en un periodo de 15 segundos es de 0.5438, es decir, existe un 54.38% de probabilidad de que el conmutador reciba 0, 1 o 2 llamadas en dicho intervalo. Dado que la tasa promedio es de 2.5 llamadas por cada 15 segundos, este resultado indica que poco más de la mitad del tiempo el número de llamadas se mantiene en ese rango, lo que refleja una carga moderada pero frecuente para el operador del hospital. Ejercicio 7.

Los clientes llegan a una exhibición a razón de 6,8 clientes / hora Calcule la probabilidad de que a) en la primera media hora por lo menos lleguen dos clientes; b) en cualquier hora dada llegue más de uno.

problema de distribución de Poisson! Ajustando las tasas:

Tasa original: 6.8 clientes/hora a) Ajuste a 30 minutos: λ = 6.8 / 2 = 3.4 clientes por media hora b) Se mantiene: λ = 6.8 clientes por hora.

Ver código
lambda_a <- 6.8 / 2  # = 3.4

p_x0_a <- dpois(0, lambda = lambda_a)
p_x1_a <- dpois(1, lambda = lambda_a)
p_a    <- 1 - (p_x0_a + p_x1_a)

cat("Lambda (30 min) =", lambda_a, "\n")
Lambda (30 min) = 3.4 
Ver código
cat("P(X = 0) =", round(p_x0_a, 4), "\n")
P(X = 0) = 0.0334 
Ver código
cat("P(X = 1) =", round(p_x1_a, 4), "\n")
P(X = 1) = 0.1135 
Ver código
cat("P(X >= 2) =", round(p_a, 4), "\n\n")
P(X >= 2) = 0.8532 
Ver código
# Verificacion
cat("Verificacion ppois:", round(ppois(1, lambda_a, lower.tail = FALSE), 4), "\n\n")
Verificacion ppois: 0.8532 
Ver código
# Crear tabla
tabla11 <- data.frame(
  Evento = c("Lambda (30 min)",
             "P(X = 0)",
             "P(X = 1)",
             "P(X >= 2)",
             "Verificacion con ppois()"),
  
  Resultado = c(round(lambda_a, 4),
                round(p_x0_a, 4),
                round(p_x1_a, 4),
                round(p_a, 4),
                round(ppois(1, lambda_a, lower.tail = FALSE), 4))
)

# Mostrar tabla con colores y bordes
kable(tabla11,
      caption = "Resultados de la distribución de Poisson",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkorange") %>%
  
  row_spec(1:nrow(tabla11),
           background = c("#FEF5E7", "#FDEBD0"))
Resultados de la distribución de Poisson
Evento Resultado
Lambda (30 min) 3.4000
P(X = 0) 0.0334
P(X = 1) 0.1135
P(X >= 2) 0.8532
Verificacion con ppois() 0.8532

# - Inciso b) P(X > 1) en una hora

Ver código
lambda_b <- 6.8

p_x0_b <- dpois(0, lambda = lambda_b)
p_x1_b <- dpois(1, lambda = lambda_b)
p_b    <- 1 - (p_x0_b + p_x1_b)

cat("Lambda (1 hora) =", lambda_b, "\n")
Lambda (1 hora) = 6.8 
Ver código
cat("P(X = 0) =", round(p_x0_b, 4), "\n")
P(X = 0) = 0.0011 
Ver código
cat("P(X = 1) =", round(p_x1_b, 4), "\n")
P(X = 1) = 0.0076 
Ver código
cat("P(X > 1) =", round(p_b, 4), "\n\n")
P(X > 1) = 0.9913 
Ver código
# Verificacion
cat("Verificacion ppois:", round(ppois(1, lambda_b, lower.tail = FALSE), 4), "\n\n")
Verificacion ppois: 0.9913 
Ver código
# Crear tabla
tabla12 <- data.frame(
  Evento = c("Lambda (1 hora)",
             "P(X = 0)",
             "P(X = 1)",
             "P(X > 1)",
             "Verificacion con ppois()"),
  
  Resultado = c(round(lambda_b, 4),
                round(p_x0_b, 4),
                round(p_x1_b, 4),
                round(p_b, 4),
                round(ppois(1, lambda_b, lower.tail = FALSE), 4))
)

# Mostrar tabla con colores y bordes
kable(tabla12,
      caption = "Resultados de la distribución de Poisson",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkorange") %>%
  
  row_spec(1:nrow(tabla12),
           background = c("#EBF5FB", "#D6EAF8"))
Resultados de la distribución de Poisson
Evento Resultado
Lambda (1 hora) 6.8000
P(X = 0) 0.0011
P(X = 1) 0.0076
P(X > 1) 0.9913
Verificacion con ppois() 0.9913
Ver código
par(mfrow = c(1, 2))

x_a <- 0:12
barplot(dpois(x_a, lambda_a),
        names.arg = x_a,
        col = ifelse(x_a >= 2, "darkorange", "#B4B2A9"),
        main = "a) Poisson (lambda=3.4)",
        xlab = "Clientes en 30 min",
        ylab = "Probabilidad",
        ylim = c(0, 0.35),
        border = NA)

x_b <- 0:20
barplot(dpois(x_b, lambda_b),
        names.arg = x_b,
        col = ifelse(x_b > 1, "#D85A30", "#B4B2A9"),
        main = "b) Poisson (lambda=6.8)",
        xlab = "Clientes en 1 hora",
        ylab = "Probabilidad",
        ylim = c(0, 0.20),
        border = NA)

Ver código
par(mfrow = c(1, 1))

) En la primera media hora lleguen por lo menos 2 clientes: Con una tasa ajustada de 3.4 clientes por media hora, la probabilidad de que lleguen al menos 2 clientes en los primeros 30 minutos es de 0.8531, es decir un 85.31%. Esto indica que es muy probable que durante la primera media hora de la exhibición ya haya una afluencia considerable de visitantes, lo que sugiere que el personal debe estar preparado desde el inicio del evento.

  1. En cualquier hora dada llegue más de un cliente: Manteniendo la tasa original de 6.8 clientes por hora, la probabilidad de que lleguen más de un cliente en cualquier hora es de 0.9913, es decir un 99.13%. Este resultado es prácticamente una certeza, lo que significa que en casi cualquier hora de la exhibición se puede esperar la llegada de al menos 2 clientes.

Conclusión general: Dado que los clientes llegan a razón de 6.8 por hora, la exhibición mantiene un flujo constante y elevado de visitantes. La probabilidad de tener al menos 2 clientes es altísima tanto en media hora (85.31%) como en una hora completa (99.13%), lo que refleja que la exhibición tiene una demanda sostenida y que es prácticamente imposible que transcurra una hora sin recibir más de un visitante. Esto es relevante para la planificación del personal y la logística del evento.

Ejercicio 8.

El número promedio de urgencias que llega a un hospital en una hora es de 12. Cuál es la probabilidad de que en un minuto lleguen por lo menos 2 urgencias. ¿Cuál es el número de urgencias esperado por minuto?

Distribución de Poisson ajustando la tasa: Tasa original: 12 urgencias/hora Ajuste a 1 minuto: λ = 12 / 60 = 0.2 urgencias por minuto

Ver código
lambda <- 12 / 60  # = 0.2 urgencias por minuto

cat("Lambda (1 minuto) =", lambda, "\n\n")
Lambda (1 minuto) = 0.2 
Ver código
# --- P(X >= 2): por lo menos 2 urgencias en 1 minuto ---
p_x0 <- dpois(0, lambda = lambda)
p_x1 <- dpois(1, lambda = lambda)
p_resultado <- 1 - (p_x0 + p_x1)

cat("P(X = 0) =", round(p_x0, 4), "\n")
P(X = 0) = 0.8187 
Ver código
cat("P(X = 1) =", round(p_x1, 4), "\n")
P(X = 1) = 0.1637 
Ver código
cat("P(X >= 2) =", round(p_resultado, 4), "\n\n")
P(X >= 2) = 0.0175 
Ver código
# Verificacion
cat("Verificacion ppois:", round(ppois(1, lambda, lower.tail = FALSE), 4), "\n\n")
Verificacion ppois: 0.0175 
Ver código
# --- Numero esperado de urgencias por minuto ---
esperado <- lambda
cat("Numero esperado de urgencias por minuto:", esperado, "\n")
Numero esperado de urgencias por minuto: 0.2 
Ver código
# Crear tabla
tabla13 <- data.frame(
  Evento = c("Lambda (1 minuto)",
             "P(X = 0)",
             "P(X = 1)",
             "P(X >= 2)",
             "Verificacion con ppois()",
             "Numero esperado de urgencias"),
  
  Resultado = c(round(lambda, 4),
                round(p_x0, 4),
                round(p_x1, 4),
                round(p_resultado, 4),
                round(ppois(1, lambda, lower.tail = FALSE), 4),
                round(esperado, 4))
)

# Mostrar tabla con colores y bordes
kable(tabla13,
      caption = "Resultados de la distribución de Poisson",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkgreen") %>%
  
  row_spec(1:nrow(tabla13),
           background = c("#E8F8F5", "#D1F2EB"))
Resultados de la distribución de Poisson
Evento Resultado
Lambda (1 minuto) 0.2000
P(X = 0) 0.8187
P(X = 1) 0.1637
P(X >= 2) 0.0175
Verificacion con ppois() 0.0175
Numero esperado de urgencias 0.2000
Ver código
x <- 0:6
prob_x <- dpois(x, lambda = lambda)

barplot(prob_x,
        names.arg = x,
        col = ifelse(x >= 2, "darkgreen", "#B4B2A9"),
        main = "Distribucion Poisson (lambda = 0.2)",
        xlab = "Numero de urgencias por minuto",
        ylab = "Probabilidad",
        ylim = c(0, 0.85),
        border = NA)

legend("topright",
       legend = c("P(X >= 2)", "Resto"),
       fill = c("darkgreen", "#B4B2A9"),
       border = NA, bty = "n")

A nivel de minuto, el flujo de urgencias es muy bajo y esporádico, con una probabilidad mínima (1.76%) de recibir 2 o más casos simultáneamente. Sin embargo, visto en perspectiva horaria, el hospital enfrenta una demanda constante de 12 urgencias por hora, lo que exige una planificación eficiente del personal y los recursos para responder oportunamente a cada caso que se presente.

Ejercicio 9.

Las estadísticas indican que en una fábrica se presentan en promedio 10 accidentes por trimestre. Determine la probabilidad de que no haya más de 12 accidentes en el último trimestre.

Ver código
lambda <- 10

# -- ---
p_resultado <- ppois(12, lambda = lambda)

cat("Lambda =", lambda, "\n\n")
Lambda = 10 
Ver código
# Calculo manual
for(k in 0:12){
  cat("P(X =", k, ") =", round(dpois(k, lambda), 4), "\n")
}
P(X = 0 ) = 0 
P(X = 1 ) = 5e-04 
P(X = 2 ) = 0.0023 
P(X = 3 ) = 0.0076 
P(X = 4 ) = 0.0189 
P(X = 5 ) = 0.0378 
P(X = 6 ) = 0.0631 
P(X = 7 ) = 0.0901 
P(X = 8 ) = 0.1126 
P(X = 9 ) = 0.1251 
P(X = 10 ) = 0.1251 
P(X = 11 ) = 0.1137 
P(X = 12 ) = 0.0948 
Ver código
cat("\nP(X <= 12) =", round(p_resultado, 4), "\n")

P(X <= 12) = 0.7916 
Ver código
# Crear vector de valores
x <- 0:12

# Calcular probabilidades
probabilidades <- round(dpois(x, lambda), 4)

# Crear tabla de probabilidades
tabla14 <- data.frame(
  Evento = paste("P(X =", x, ")"),
  Probabilidad = probabilidades
)

# Mostrar tabla de probabilidades
kable(tabla14,
      caption = "Probabilidades individuales de la distribución de Poisson",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkred") %>%
  
  row_spec(1:nrow(tabla14),
           background = c("#FDEDEC", "#FADBD8"))
Probabilidades individuales de la distribución de Poisson
Evento Probabilidad
P(X = 0 ) 0.0000
P(X = 1 ) 0.0005
P(X = 2 ) 0.0023
P(X = 3 ) 0.0076
P(X = 4 ) 0.0189
P(X = 5 ) 0.0378
P(X = 6 ) 0.0631
P(X = 7 ) 0.0901
P(X = 8 ) 0.1126
P(X = 9 ) 0.1251
P(X = 10 ) 0.1251
P(X = 11 ) 0.1137
P(X = 12 ) 0.0948
Ver código
# Tabla resumen
tabla15 <- data.frame(
  Concepto = c("Lambda",
               "P(X <= 12)"),
  
  Resultado = c(round(lambda, 4),
                round(p_resultado, 4))
)

# Mostrar tabla resumen
kable(tabla15,
      caption = "Resultado acumulado de la distribución de Poisson",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkblue") %>%
  
  row_spec(1:nrow(tabla15),
           background = c("#EBF5FB", "#D6EAF8"))
Resultado acumulado de la distribución de Poisson
Concepto Resultado
Lambda 10.0000
P(X <= 12) 0.7916
Ver código
x <- 0:20
prob_x <- dpois(x, lambda = lambda)

barplot(prob_x,
        names.arg = x,
        col = ifelse(x <= 12, "darkred", "#B4B2A9"),
        main = "Distribucion Poisson (lambda = 10)",
        xlab = "Numero de accidentes por trimestre",
        ylab = "Probabilidad",
        ylim = c(0, 0.14),
        border = NA)

legend("topright",
       legend = c("P(X <= 12)", "Resto"),
       fill = c("darkblue", "#B4B2A9"),
       border = NA, bty = "n")

Con una tasa promedio de 10 accidentes por trimestre, la fábrica enfrenta un riesgo considerable en materia de seguridad laboral. Sin embargo, existe una probabilidad alta (79.16%) de que el número de accidentes no supere los 12 en un trimestre dado, lo que indica que los casos extremos por encima de este valor son relativamente poco frecuentes. Aun así, desde una perspectiva de gestión de riesgos, una media de 10 accidentes trimestrales equivale a más de 40 accidentes al año, lo que representa una señal de alerta importante para implementar medidas preventivas y mejorar las condiciones de seguridad en la planta.

Ejercicio 10.

El número de personas que ingresan a la unidad de cuidados intensivos de un hospital en un día cualquiera, es de 5 personas diarias. ¿Cuál es la probabilidad de que el número de personas que ingresan a la unidad de cuidados intensivos en un día particular sea menor o igual a 2 personas?

Distribución de Poisson! Sin ajuste de tasa: Tasa: λ = 5 personas por día Buscamos P(X ≤ 2)

Ver código
lambda <- 5

# --- P(X <= 2): menor o igual a 2 ingresos ---
p_x0 <- dpois(0, lambda = lambda)
p_x1 <- dpois(1, lambda = lambda)
p_x2 <- dpois(2, lambda = lambda)

p_resultado <- p_x0 + p_x1 + p_x2

cat("Lambda =", lambda, "\n\n")
Lambda = 5 
Ver código
cat("P(X = 0) =", round(p_x0, 4), "\n")
P(X = 0) = 0.0067 
Ver código
cat("P(X = 1) =", round(p_x1, 4), "\n")
P(X = 1) = 0.0337 
Ver código
cat("P(X = 2) =", round(p_x2, 4), "\n")
P(X = 2) = 0.0842 
Ver código
cat("P(X <= 2) =", round(p_resultado, 4), "\n\n")
P(X <= 2) = 0.1247 
Ver código
# Verificacion
cat("Verificacion ppois:", round(ppois(2, lambda), 4), "\n")
Verificacion ppois: 0.1247 
Ver código
# Crear tabla
tabla16 <- data.frame(
  Evento = c("Lambda",
             "P(X = 0)",
             "P(X = 1)",
             "P(X = 2)",
             "P(X <= 2)",
             "Verificacion con ppois()"),
  
  Resultado = c(round(lambda, 4),
                round(p_x0, 4),
                round(p_x1, 4),
                round(p_x2, 4),
                round(p_resultado, 4),
                round(ppois(2, lambda), 4))
)

# Mostrar tabla con colores y bordes
kable(tabla16,
      caption = "Resultados de la distribución de Poisson",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkmagenta") %>%
  
  row_spec(1:nrow(tabla16),
           background = c("#F5EEF8", "#EBDEF0"))
Resultados de la distribución de Poisson
Evento Resultado
Lambda 5.0000
P(X = 0) 0.0067
P(X = 1) 0.0337
P(X = 2) 0.0842
P(X <= 2) 0.1247
Verificacion con ppois() 0.1247
Ver código
x <- 0:15
prob_x <- dpois(x, lambda = lambda)

barplot(prob_x,
        names.arg = x,
        col = ifelse(x <= 2, "darkmagenta", "#B4B2A9"),
        main = "Distribucion Poisson (lambda = 5)",
        xlab = "Numero de ingresos diarios a UCI",
        ylab = "Probabilidad",
        ylim = c(0, 0.20),
        border = NA)

legend("topright",
       legend = c("P(X <= 2)", "Resto"),
       fill = c("#1D9E75", "#B4B2A9"),
       border = NA, bty = "n")

Con una tasa promedio de 5 ingresos diarios, la UCI opera bajo una demanda constante y elevada. La baja probabilidad de recibir 2 o menos pacientes en un día (12.47%) indica que la unidad debe estar preparada la mayor parte del tiempo para atender 3 o más ingresos diarios. Esto resalta la importancia de mantener una disponibilidad adecuada de camas, personal médico y recursos en la UCI, ya que la probabilidad de días con baja ocupación es reducida y no puede asumirse como la norma en la planificación hospitalaria.

Ejercicio 11.

Un jefe de almacén sabe que 6 de las 25 bicicletas que tiene para la venta presentan fallas en los frenos y necesitan ajuste. Si el vendedor que no tenía conocimiento de lo anterior vendió en el día 4 bicicletas, ¿cuál es la probabilidad de que vendiera dos de las que requerían ajuste.

Este es un problema de distribución Hipergeométrica Ya que se selecciona una muestra sin reemplazo de una población finita:

N = 25 bicicletas en total K = 6 bicicletas con fallas n = 4 bicicletas vendidas Buscamos P(X = 2)

Ver código
N <- 25   # total de bicicletas
K <- 6    # bicicletas con fallas
n <- 4    # bicicletas vendidas

# --- P(X = 2): exactamente 2 con fallas ---
p_resultado <- dhyper(2, m = K, n = N - K, k = n)

cat("N =", N, "\n")
N = 25 
Ver código
cat("K =", K, "(con fallas)\n")
K = 6 (con fallas)
Ver código
cat("n =", n, "(vendidas)\n\n")
n = 4 (vendidas)
Ver código
cat("P(X = 2) =", round(p_resultado, 4), "\n")
P(X = 2) = 0.2028 
Ver código
# Distribucion completa
cat("\nDistribucion completa:\n")

Distribucion completa:
Ver código
for(x in 0:4){
  cat("P(X =", x, ") =", round(dhyper(x, m = K, n = N - K, k = n), 4), "\n")
}
P(X = 0 ) = 0.3064 
P(X = 1 ) = 0.4596 
P(X = 2 ) = 0.2028 
P(X = 3 ) = 0.03 
P(X = 4 ) = 0.0012 
Ver código
# Crear distribución completa
x <- 0:4
probabilidades <- round(dhyper(x, m = K, n = N - K, k = n), 4)

# Tabla principal
tabla17 <- data.frame(
  Concepto = c("N (total bicicletas)",
               "K (bicicletas con fallas)",
               "n (bicicletas vendidas)",
               "P(X = 2)"),
  
  Resultado = c(N,
                K,
                n,
                round(p_resultado, 4))
)

# Mostrar tabla principal
kable(tabla17,
      caption = "Resultados de la distribución hipergeométrica",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkgreen") %>%
  
  row_spec(1:nrow(tabla17),
           background = c("#E8F8F5", "#D1F2EB"))
Resultados de la distribución hipergeométrica
Concepto Resultado
N (total bicicletas) 25.0000
K (bicicletas con fallas) 6.0000
n (bicicletas vendidas) 4.0000
P(X = 2) 0.2028
Ver código
# Tabla de distribución completa
tabla18 <- data.frame(
  Evento = paste("P(X =", x, ")"),
  Probabilidad = probabilidades
)

# Mostrar tabla distribución
kable(tabla18,
      caption = "Distribución completa",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkblue") %>%
  
  row_spec(1:nrow(tabla18),
           background = c("#EBF5FB", "#D6EAF8"))
Distribución completa
Evento Probabilidad
P(X = 0 ) 0.3064
P(X = 1 ) 0.4596
P(X = 2 ) 0.2028
P(X = 3 ) 0.0300
P(X = 4 ) 0.0012
Ver código
x <- 0:4
prob_x <- dhyper(x, m = K, n = N - K, k = n)

barplot(prob_x,
        names.arg = x,
        col = ifelse(x == 2, "#D85A30", "#B4B2A9"),
        main = "Distribucion Hipergeometrica\n(N=25, K=6, n=4)",
        xlab = "Bicicletas con fallas vendidas",
        ylab = "Probabilidad",
        ylim = c(0, 0.50),
        border = NA)

legend("topright",
       legend = c("P(X = 2)", "Resto"),
       fill = c("#D85A30", "#B4B2A9"),
       border = NA, bty = "n")

Resultado: P(X = 2) = 0.2028 → 20.28%

Ejercicio 12.

De un grupo de 20 ingenieros con doctorado, se seleccionan 10 para un alto cargo de una compañía. ¿Cuál es la probabilidad de que los 10 seleccionados incluya a los 5 ingenieros que tienen las mejores calificaciones del grupo de 20?

N=20 → total de ingenieros K=5 → ingenieros con mejores calificaciones n=10 → ingenieros seleccionados Queremos que los 10 seleccionados incluyan a los 5 mejores.

La probabilidad se calcula con distribución hipergeométrica:

Ver código
# Datos
N <- 20
K <- 5
n <- 10

# Probabilidad de incluir a los 5 mejores
p_resultado <- dhyper(5, m = K, n = N - K, k = n)

# Mostrar resultado
cat("P(X = 5) =", round(p_resultado, 6), "\n")
P(X = 5) = 0.016254 

-Grafica

Ver código
# Crear tabla
tabla19 <- data.frame(
  Concepto = c("Total ingenieros (N)",
               "Ingenieros destacados (K)",
               "Seleccionados (n)",
               "P(Incluir los 5 mejores)"),
  
  Resultado = c(N,
                K,
                n,
                round(p_resultado, 6))
)

# Mostrar tabla
kable(tabla19,
      caption = "Distribución Hipergeométrica",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkred") %>%
  
  row_spec(1:nrow(tabla19),
           background = c("#FDEDEC", "#FADBD8"))
Distribución Hipergeométrica
Concepto Resultado
Total ingenieros (N) 20.000000
Ingenieros destacados (K) 5.000000
Seleccionados (n) 10.000000
P(Incluir los 5 mejores) 0.016254

La probabilidad de que en la selección de 10 ingenieros queden incluidos exactamente los 5 ingenieros con las mejores calificaciones es aproximadamente: P(X=5)≈0.0163P(X = 5) 0.0163P(X=5)≈0.0163 Esto significa que existe solamente un 1.63% de probabilidad de que los cinco ingenieros más destacados sean seleccionados dentro del grupo de 10 elegidos al azar. Por lo tanto, se concluye que este evento es poco probable, ya que la posibilidad de que todos los mejores ingenieros sean incluidos en la selección es bastante baja.

Ejercicio 13.

Un almacén contiene diez maquinas impresoras, cuatro de las cuales están defectuosas. Una compañía selecciona al azar cinco de las maquinas, pensando que todas están en condiciones de trabajar, ¿cuál es la probabilidad de que las cinco maquinas estén en buen estado?

Datos:

Total de máquinas: N=10 Máquinas defectuosas: 4 Máquinas en buen estado: 6 Máquinas seleccionadas: n=5

Ver código
# Datos
N <- 10
buenas <- 6
n <- 5

# Probabilidad de seleccionar 5 buenas
p_resultado <- dhyper(5,
                      m = buenas,
                      n = N - buenas,
                      k = n)

# Mostrar resultado
cat("P(X = 5) =", round(p_resultado, 4), "\n")
P(X = 5) = 0.0238 

-Grafica

Ver código
# Crear tabla
tabla20 <- data.frame(
  Concepto = c("Total de maquinas",
               "Maquinas buenas",
               "Maquinas defectuosas",
               "Maquinas seleccionadas",
               "P(5 maquinas buenas)"),
  
  Resultado = c(N,
                buenas,
                N - buenas,
                n,
                round(p_resultado, 4))
)

# Mostrar tabla
kable(tabla20,
      caption = "Distribución Hipergeométrica",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkblue") %>%
  
  row_spec(1:nrow(tabla20),
           background = c("#EBF5FB", "#D6EAF8"))
Distribución Hipergeométrica
Concepto Resultado
Total de maquinas 10.0000
Maquinas buenas 6.0000
Maquinas defectuosas 4.0000
Maquinas seleccionadas 5.0000
P(5 maquinas buenas) 0.0238

La probabilidad de que las cinco máquinas seleccionadas estén en buen estado es aproximadamente:

P(X=5)≈0.0238

Esto significa que existe solamente un 2.38% de probabilidad de seleccionar cinco máquinas totalmente funcionales, por lo que el evento es poco probable debido a la cantidad de máquinas defectuosas presentes en el almacén.

Ejercicio 14.

En promedio una casa de cada 2000 en cierta zona de Barranquilla se incendia durante el año, si hay 6000 casas en dicha zona ¿Cuál es la probabilidad de que más de 3 casas se incendien durante el año?

Este problema se resuelve con la distribución geométrica, porque se busca la probabilidad de obtener el primer éxito antes de cierto número de intentos.

Datos:

Probabilidad de aprobar: p=0.7 Probabilidad de fallar: q=1−p=0.3

Queremos encontrar la probabilidad de que el estudiante apruebe antes del cuarto intento, es decir:

P(X<4)

Equivale a aprobar en el intento 1, 2 o 3:

Este problema se resuelve con la distribución geométrica, porque se busca la probabilidad de obtener el primer éxito antes de cierto número de intentos.

Datos:

Probabilidad de aprobar: p=0.7 Probabilidad de fallar: q=1−p=0.3

Queremos encontrar la probabilidad de que el estudiante apruebe antes del cuarto intento, es decir:

P(X<4)

Equivale a aprobar en el intento 1, 2 o 3:

P(X<4)=1−P(X≥4) P(X<4)=1−q 3 P(X<4)=1−(0.3) 3 P(X<4)=1−0.027 P(X<4)=0.973

Ver código
# Datos
p <- 0.7
q <- 1 - p

# Probabilidad de aprobar antes del 4 intento
p_resultado <- 1 - (q^3)

# Mostrar resultado
cat("P(X < 4) =", round(p_resultado, 4), "\n")
P(X < 4) = 0.973 
Ver código
# Crear tabla
tabla22 <- data.frame(
  Concepto = c("Probabilidad de aprobar (p)",
               "Probabilidad de fallar (q)",
               "P(Aprobar antes del 4 intento)"),
  
  Resultado = c(p,
                q,
                round(p_resultado, 4))
)

# Mostrar tabla
kable(tabla22,
      caption = "Distribución Geométrica",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkblue") %>%
  
  row_spec(1:nrow(tabla22),
           background = c("#EBF5FB", "#D6EAF8"))
Distribución Geométrica
Concepto Resultado
Probabilidad de aprobar (p) 0.700
Probabilidad de fallar (q) 0.300
P(Aprobar antes del 4 intento) 0.973

La probabilidad de que el estudiante apruebe la prueba antes del cuarto intento es:

P(X<4)=0.973

Es decir, existe un 97.3% de probabilidad de que el estudiante logre aprobar el examen en alguno de sus primeros tres intentos.

Ejercicio 15.

La probabilidad de que un estudiante de aviación pase la prueba escrita para obtener su licencia de piloto privado es de 0.7. encuentre la probabilidad de que una persona pase la prueba antes del cuarto intento.

Este ejercicio se resuelve utilizando la distribución geométrica, ya que se analiza el número de intentos necesarios hasta obtener el primer éxito.

Datos:

Este ejercicio se resuelve utilizando la distribución geométrica, ya que se analiza el número de intentos necesarios hasta obtener el primer éxito.

Datos:

Probabilidad de aprobar: p=0.7 Probabilidad de reprobar: q=1−p=0.3

Se pide la probabilidad de que la persona apruebe antes del cuarto intento, es decir, en el intento 1, 2 o 3.

P(X<4)=1−P(X≥4)

La probabilidad de llegar al cuarto intento significa fallar tres veces seguidas:

P(X≥4)=q 3

Entonces:

P(X<4)=1−(0.3) 3 P(X<4)=1−0.027 P(X<4)=0.973

Ver código
# Datos
p <- 0.7
q <- 1 - p

# Probabilidad de aprobar antes del cuarto intento
p_resultado <- 1 - (q^3)

# Mostrar resultado
cat("P(X < 4) =", round(p_resultado, 4), "\n")
P(X < 4) = 0.973 

-Grafica

Ver código
# Crear tabla
tabla23 <- data.frame(
  Concepto = c("Probabilidad de aprobar (p)",
               "Probabilidad de fallar (q)",
               "P(Aprobar antes del cuarto intento)"),
  
  Resultado = c(p,
                q,
                round(p_resultado, 4))
)

# Mostrar tabla
kable(tabla23,
      caption = "Distribución Geométrica",
      align = "c") %>%
  
  kable_styling(
    bootstrap_options = c("striped", "bordered", "hover"),
    full_width = FALSE
  ) %>%
  
  row_spec(0,
           bold = TRUE,
           color = "white",
           background = "darkgreen") %>%
  
  row_spec(1:nrow(tabla23),
           background = c("#E8F8F5", "#D1F2EB"))
Distribución Geométrica
Concepto Resultado
Probabilidad de aprobar (p) 0.700
Probabilidad de fallar (q) 0.300
P(Aprobar antes del cuarto intento) 0.973

La probabilidad de que el estudiante apruebe la prueba antes del cuarto intento es:

0.973

Es decir, existe un 97.3% de probabilidad de que la persona logre aprobar el examen en alguno de sus primeros tres intentos.

##gracias