Distribuciones
Marisol Hernández
2025-05-06
Distribución Normal
Problema: La altura de una población de adultos sigue una distribución normal con media de 170 cm y
desviación estándar de 10 cm. ¿Cuál es la probabilidad de que una persona seleccionada aleatoriamente
tenga una altura entre 160 cm y 180 cm?
Parámetros: Media = 170, Desviación estándar = 10
media <- 170
sd <- 10
x <- seq(130, 210, 0.1)
y <- dnorm(x, mean = media, sd = sd)
plot(x, y, type = "l", lwd = 2, col = "blue",
main = "Distribución Normal N(170, 10^2)",
xlab = "Altura", ylab = "Densidad")
polygon(c(160, seq(160, 180, 0.1), 180),
c(0, dnorm(seq(160, 180, 0.1), media, sd), 0),
col = rgb(0.2, 0.4, 0.6, 0.5), border = NA)
1
Distribución Normal N(170, 10^2)
0.04
0.03
Densidad
0.02
0.01
0.00
140 160 180 200
Altura
p <- pnorm(180, mean = media, sd = sd) - pnorm(160, mean = media, sd = sd)
cat("P(160 < X < 180) =", round(p, 4), "\n")
## P(160 < X < 180) = 0.6827
Distribución Binomial
Problema: En una empresa, el 60% de los empleados aprueban una evaluación. Si se seleccionan aleatoria-
mente 8 empleados, ¿cuál es la probabilidad de que exactamente 5 aprueben la evaluación?
Parámetros: n = 8, p = 0.6, k = 5
n <- 8
p <- 0.6
x <- 0:n
prob <- dbinom(x, size = n, prob = p)
barplot(prob, names.arg = x, col = ifelse(x == 5, "red", "gray"),
main = "Distribución Binomial B(8, 0.6)",
xlab = "Éxitos", ylab = "Probabilidad")
2
Distribución Binomial B(8, 0.6)
0.00 0.05 0.10 0.15 0.20 0.25
Probabilidad
0 1 2 3 4 5 6 7 8
Éxitos
cat("P(X = 5) =", dbinom(5, n, p), "\n")
## P(X = 5) = 0.2786918
Distribución Poisson
Problema: En un centro de llamadas, el número promedio de llamadas recibidas por minuto es de 3. ¿Cuál
es la probabilidad de que en un minuto reciban exactamente 2 llamadas?
Parámetros: � = 3, k = 2
lambda <- 3
x <- 0:10
prob <- dpois(x, lambda)
barplot(prob, names.arg = x, col = ifelse(x == 2, "red", "gray"),
main = "Distribución Poisson � = 3",
xlab = "Llamadas por minuto", ylab = "Probabilidad")
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## conversion failure on 'Distribución Poisson � = 3' in 'mbcsToSbcs': dot
## substituted for <ce>
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## conversion failure on 'Distribución Poisson � = 3' in 'mbcsToSbcs': dot
## substituted for <bb>
3
Distribución Poisson .. = 3
0.20
0.15
Probabilidad
0.10
0.05
0.00
0 1 2 3 4 5 6 7 8 9 10
Llamadas por minuto
cat("P(X = 2) =", dpois(2, lambda), "\n")
## P(X = 2) = 0.2240418
Distribución Exponencial
Problema: El tiempo entre llegadas de clientes a un supermercado sigue una distribución exponencial con
una tasa de llegada de 4 clientes por hora. ¿Cuál es la probabilidad de que entre dos llegadas de clientes
transcurran más de 20 minutos?
Parámetros: � = 4, x = 20 minutos
lambda <- 4
x <- seq(0, 1, by = 0.01)
y <- dexp(x, rate = lambda)
plot(x, y, type = "l", lwd = 2, col = "blue",
main = "Distribución Exponencial � = 4",
xlab = "Tiempo entre llegadas (horas)", ylab = "Densidad")
## Warning in title(...): conversion failure on 'Distribución Exponencial � = 4'
## in 'mbcsToSbcs': dot substituted for <ce>
## Warning in title(...): conversion failure on 'Distribución Exponencial � = 4'
## in 'mbcsToSbcs': dot substituted for <bb>
4
polygon(c(1/3, seq(1/3, 1, 0.01), 1),
c(0, dexp(seq(1/3, 1, 0.01), rate = lambda), 0),
col = rgb(0.2, 0.4, 0.6, 0.5), border = NA)
Distribución Exponencial .. = 4
4
3
Densidad
2
1
0
0.0 0.2 0.4 0.6 0.8 1.0
Tiempo entre llegadas (horas)
p <- 1 - pexp(1/3, rate = lambda) # P(X > 1/3 horas)
cat("P(X > 20 minutos) =", round(p, 4), "\n")
## P(X > 20 minutos) = 0.2636
Distribución Normal Estándar
Problema: En una distribución normal estándar (media = 0, desviación estándar = 1), ¿cuál es la probabil-
idad de que un valor aleatorio sea menor que -1.5?
Parámetros: Media = 0, Desviación estándar = 1, x = -1.5
x <- seq(-4, 4, 0.1)
y <- dnorm(x, mean = 0, sd = 1)
plot(x, y, type = "l", lwd = 2, col = "blue",
main = "Distribución Normal Estándar N(0, 1)",
xlab = "Valor", ylab = "Densidad")
polygon(c(-4, seq(-4, -1.5, 0.1), -1.5),
5
c(0, dnorm(seq(-4, -1.5, 0.1), 0, 1), 0),
col = rgb(0.2, 0.4, 0.6, 0.5), border = NA)
Distribución Normal Estándar N(0, 1)
0.4
0.3
Densidad
0.2
0.1
0.0
−4 −2 0 2 4
Valor
p <- pnorm(-1.5)
cat("P(X < -1.5) =", round(p, 4), "\n")
## P(X < -1.5) = 0.0668
Distribución t de Student
Problema: Se toma una muestra de 15 estudiantes de un curso para estimar su tiempo promedio de estudio
semanal. Supón que el tiempo de estudio sigue una distribución t de Student con 14 grados de libertad.
¿Cuál es la probabilidad de que el tiempo promedio de estudio esté por debajo de 10 horas a la semana?
Parámetros: 14 grados de libertad, x = 10
df <- 14
x <- seq(-4, 4, 0.1)
y <- dt(x, df = df)
plot(x, y, type = "l", lwd = 2, col = "blue",
main = "Distribución t de Student (14 grados de libertad)",
xlab = "Valor", ylab = "Densidad")
6
polygon(c(-4, seq(-4, 10, 0.1), 10),
c(0, dt(seq(-4, 10, 0.1), df = df), 0),
col = rgb(0.2, 0.4, 0.6, 0.5), border = NA)
Distribución t de Student (14 grados de libertad)
0.4
0.3
Densidad
0.2
0.1
0.0
−4 −2 0 2 4
Valor
p <- pt(10, df)
cat("P(X < 10 horas) =", round(p, 4), "\n")
## P(X < 10 horas) = 1
Distribución Chi-Cuadrada
Problema: Se lanza un dado 60 veces y se registra la frecuencia de cada cara. Usando una distribución chi-
cuadrada, ¿cuál es la probabilidad de obtener una desviación mayor que 10 respecto a la frecuencia esperada
para una cara específica, con 5 grados de libertad?
Parámetros: 5 grados de libertad, �² = 10
df <- 5
x <- seq(0, 20, 0.1)
y <- dchisq(x, df = df)
plot(x, y, type = "l", lwd = 2, col = "blue",
main = "Distribución Chi-Cuadrada (5 grados de libertad)",
xlab = "Valor", ylab = "Densidad")
7
polygon(c(10, seq(10, 20, 0.1), 20),
c(0, dchisq(seq(10, 20, 0.1), df = df), 0),
col = rgb(0.2, 0.4, 0.6, 0.5), border = NA)
Distribución Chi−Cuadrada (5 grados de libertad)
0.15
0.10
Densidad
0.05
0.00
0 5 10 15 20
Valor
p <- 1 - pchisq(10, df)
cat("P(X > 10) =", round(p, 4), "\n")
## P(X > 10) = 0.0752
Distribución Uniforme
Problema: Un vehículo recorre una distancia de entre 0 y 100 kilómetros cada día, de manera uniforme.
¿Cuál es la probabilidad de que un día recorra entre 30 y 50 kilómetros?
Parámetros: a = 0, b = 100, x1 = 30, x2 = 50
a <- 0
b <- 100
x <- seq(a, b, 0.1)
y <- dunif(x, min = a, max = b)
plot(x, y, type = "l", lwd = 2, col = "blue",
main = "Distribución Uniforme U(0, 100)",
xlab = "Distancia recorrida (km)", ylab = "Densidad")
8
polygon(c(30, seq(30, 50, 0.1), 50),
c(0, dunif(seq(30, 50, 0.1), min = a, max = b), 0),
col = rgb(0.2, 0.4, 0.6, 0.5), border = NA)
Distribución Uniforme U(0, 100)
0.014
0.012
Densidad
0.010
0.008
0.006
0 20 40 60 80 100
Distancia recorrida (km)
p <- punif(50, min = a, max = b) - punif(30, min = a, max = b)
cat("P(30 < X < 50) =", round(p, 4), "\n")
## P(30 < X < 50) = 0.2
Distribución de Bernoulli
Problema: Una moneda sesgada tiene una probabilidad de 0.7 de caer en cara. Si lanzamos la moneda una
vez, ¿cuál es la probabilidad de que caiga cara?
Parámetros: p = 0.7
p <- 0.7
x <- c(0, 1)
prob <- dbinom(x, size = 1, prob = p)
barplot(prob, names.arg = c("Cara", "Cruz"), col = c("red", "gray"),
main = "Distribución Bernoulli (p = 0.7)",
xlab = "Resultado", ylab = "Probabilidad")
9
Distribución Bernoulli (p = 0.7)
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
Probabilidad
Cara Cruz
Resultado
cat("P(X = 1) =", round(dbinom(1, 1, p), 4), "\n")
## P(X = 1) = 0.7
Distribución Binomial
Problema: Imagina que lanzas una moneda 10 veces, y la probabilidad de obtener cara en cada lanzamiento
es 0.5. Queremos calcular la probabilidad de obtener exactamente 6 caras en 10 lanzamientos
Parámetros: n=10 (número de lanzamientos) p=0.5 (probabilidad de obtener cara) k=6 (número de caras
deseadas)
# Parámetros
n <- 10 # Número de lanzamientos
p <- 0.5 # Probabilidad de cara
k <- 6 # Número de caras deseadas
# Calcular la probabilidad de obtener exactamente 6 caras
probabilidad_k <- dbinom(k, n, p)
cat("La probabilidad de obtener exactamente", k, "caras es:", probabilidad_k, "\n")
## La probabilidad de obtener exactamente 6 caras es: 0.2050781
10
# Graficar la distribución binomial para diferentes valores de k
k_values <- 0:n # Valores de k desde 0 hasta n
probabilidades <- dbinom(k_values, n, p) # Probabilidades para cada valor de k
# Graficar
barplot(probabilidades, names.arg = k_values, col = "blue",
main = "Distribución Binomial",
xlab = "Número de Caras", ylab = "Probabilidad")
Distribución Binomial
0.20
0.15
Probabilidad
0.10
0.05
0.00
0 1 2 3 4 5 6 7 8 9 10
Número de Caras
11