Pregunta de apertura. Una tienda puede recibir un pedido en cualquier instante de la próxima media hora. En cambio, el valor de las ventas diarias suele concentrarse alrededor de un promedio. ¿Deberíamos usar el mismo modelo para ambos fenómenos? No. Y elegir el modelo correcto cambia las decisiones.
Propósito. Comprender qué significa una variable aleatoria continua, interpretar probabilidades como áreas, utilizar las distribuciones uniforme y normal, resolver problemas manualmente y contrastar resultados con R para apoyar decisiones empresariales.
Ruta de trabajo: pregunta de negocio → modelo → dibujo y planteamiento → cálculo manual → R → interpretación → decisión.
Al terminar podrás: (i) reconocer situaciones
continuas, (ii) distinguir densidad y probabilidad, (iii) calcular
probabilidades e indicadores en modelos uniforme y normal, (iv)
interpretar valores estandarizados y percentiles, (v) usar las funciones
d*, p*, q*, r* de R,
y (vi) traducir resultados en recomendaciones.
En una variable aleatoria discreta podemos enumerar sus valores posibles: número de clientes, facturas con errores o productos defectuosos. En una variable aleatoria continua modelamos cantidades que pueden tomar valores en un intervalo: duración de una operación, peso, longitud o tiempo de entrega. Que el sistema registre minutos enteros o redondee pesos a centavos no transforma automáticamente el fenómeno en discreto: debemos distinguir la variable conceptual de cómo se registra.
| Pregunta de negocio | Variable aleatoria | Tipo | Posible modelo |
|---|---|---|---|
| ¿Cuántos clientes llegaron hoy? | Conteo de clientes | Discreta | Poisson, según supuestos |
| ¿Cuánto tardó cada atención? | Minutos de atención | Continua | Uniforme o normal si se justifica |
| ¿Cuántos pagos se rechazaron? | Conteo de rechazos | Discreta | Binomial, según supuestos |
| ¿Cuánto pesa una bolsa de café? | Peso en gramos | Continua | Normal, si los datos la respaldan |
Punto conceptual: si \(X\) es absolutamente continua y tiene función de densidad \(f\), entonces
\[P(X=x)=0,\qquad P(a<X<b)=\int_a^b f(x)\,dx.\]
La primera igualdad no significa que el valor sea imposible; significa que un punto tiene área nula. Para modelos continuos, \(P(a\le X\le b)=P(a<X<b)\).
Una función de densidad debe cumplir \(f(x)\ge 0\) y que el área total sea 1. Su altura no es una probabilidad: incluso puede superar 1 si el intervalo es estrecho. Una función acumulada \(F(x)=P(X\le x)\) representa el área a la izquierda de \(x\).
Ejecuta una vez el bloque siguiente. La función
area_continua() dibuja la densidad y sombrea el intervalo
asociado a cualquier probabilidad uniforme o normal.
area_continua <- function(modelo=c("uniforme", "normal"),
a=NA_real_, b=NA_real_,
minimo=0, maximo=1, media=0, de=1,
titulo=NULL) {
modelo <- match.arg(modelo)
if (modelo == "uniforme") {
stopifnot(maximo > minimo)
dens <- function(x) dunif(x, min=minimo, max=maximo)
lim <- c(minimo-(maximo-minimo)*0.12, maximo+(maximo-minimo)*0.12)
p <- punif(b, min=minimo, max=maximo) - punif(a, min=minimo, max=maximo)
} else {
stopifnot(de > 0)
dens <- function(x) dnorm(x, mean=media, sd=de)
lim <- c(media-4*de, media+4*de)
p <- pnorm(b, mean=media, sd=de) - pnorm(a, mean=media, sd=de)
}
x <- seq(lim[1], lim[2], length.out=1200)
y <- dens(x)
plot(x,y,type="l",lwd=2,col="#16456A",xlab="Valor de X",
ylab="Densidad (no probabilidad)",
main=if(is.null(titulo)) "Probabilidad como área" else titulo)
iz <- max(lim[1], a); de_ <- min(lim[2], b)
if (is.finite(iz) && is.finite(de_) && iz < de_) {
xx <- seq(iz,de_,length.out=500)
polygon(c(iz,xx,de_),c(0,dens(xx),0),
col=adjustcolor("#C83D45",alpha.f=.48),border=NA)
lines(x,y,lwd=2,col="#16456A")
}
abline(v=c(a,b)[is.finite(c(a,b))],col="#B52B34",lty=2)
legend("topright", legend=paste0("Área ≈ ",sprintf("%.4f",p)),
bty="n",cex=.9)
invisible(p)
}Anticipa. ¿El área sombreada crece o disminuye si ampliamos un intervalo sin cambiar la distribución? Explica antes de ejecutar.
Una variable \(X\sim U(a,b)\) tiene densidad constante entre \(a\) y \(b\):
\[ f(x)=\begin{cases}\dfrac{1}{b-a},& a\le x\le b,\\0,&\text{en otro caso.}\end{cases} \]
Para \(a\le c<d\le b\):
\[ P(c<X<d)=\frac{d-c}{b-a},\qquad E(X)=\frac{a+b}{2},\qquad Var(X)=\frac{(b-a)^2}{12}. \]
Supuesto que hay que defender: la densidad es constante. No basta saber que \(X\) está entre dos límites para afirmar que es uniforme.
Una aplicación de reparto modela el tiempo de entrega \(X\) como uniforme entre 20 y 50 minutos. Calculemos: (a) probabilidad de entregar en menos de 30; (b) entre 25 y 40; (c) esperanza y desviación estándar.
Modelo: \(X\sim U(20,50)\). Cálculo manual:
\[P(X<30)=\frac{30-20}{50-20}=\frac13\approx0.3333.\] \[P(25<X<40)=\frac{40-25}{50-20}=0.50.\] \[E(X)=35,\qquad \sigma=\frac{30}{\sqrt{12}}\approx8.6603\ \text{minutos}.\]
p_30 <- punif(30, min=20, max=50)
p_25_40 <- punif(40,20,50) - punif(25,20,50)
media_tiempo <- (20+50)/2
sd_tiempo <- (50-20)/sqrt(12)
c(p_menos_30=p_30, p_entre_25_40=p_25_40,
media=media_tiempo, desviacion=sd_tiempo)## p_menos_30 p_entre_25_40 media desviacion
## 0.3333333 0.5000000 35.0000000 8.6602540
area_continua("uniforme",a=25,b=40,minimo=20,maximo=50,
titulo="Caso 1 | Entregas de 25 a 40 minutos")Interpretación. Bajo este modelo, aproximadamente uno de cada tres pedidos llega antes de 30 minutos. Por tanto, prometer 30 minutos como un plazo que se cumpla casi siempre sería mala idea. No confundas el promedio de 35 minutos con una garantía.
Un proveedor puede llegar en cualquier instante entre las 8:00 y las 9:20 a. m., con densidad uniforme. Si llega después de las 9:00, debe pagar una penalización de $120.000. ¿Qué probabilidad hay de sanción y cuál es su costo esperado por entrega?
Definamos \(X=\) minutos después de las 8:00. Así \(X\sim U(0,80)\), y las 9:00 corresponden a \(60\) minutos.
\[P(X>60)=\frac{80-60}{80}=0.25.\] \[E(\text{penalización})=120000(0.25)=\$30.000.\]
prob_penalizacion <- punif(60, min=0, max=80, lower.tail=FALSE)
costo_esperado <- 120000 * prob_penalizacion
c(prob_penalizacion=prob_penalizacion,
costo_esperado_pesos=costo_esperado)## prob_penalizacion costo_esperado_pesos
## 0.25 30000.00
Decisión. Si por mejorar logística el proveedor gastara $20.000 por entrega y evitara todas las penalizaciones, la mejora ahorraría en promedio $10.000 por entrega. Hay que comprobar que la mejora realmente elimina el atraso; es un supuesto del cálculo.
En una venta B2B, la próxima oferta se modela como uniforme entre $80 y $110 millones. Hoy existe una oferta segura de $92 millones. ¿Cuánto vale en promedio esperar? ¿Cuál es la probabilidad de recibir más de $100 millones?
\[E(X)=\frac{80+110}{2}=95\ \text{millones},\qquad P(X>100)=\frac{10}{30}=\frac13.\]
esperado_millones <- (80+110)/2
p_superior_100 <- punif(100, min=80, max=110, lower.tail=FALSE)
c(esperado_millones=esperado_millones,
diferencia_esperada_vs_hoy=esperado_millones-92,
prob_mayor_100=p_superior_100)## esperado_millones diferencia_esperada_vs_hoy
## 95.0000000 3.0000000
## prob_mayor_100
## 0.3333333
Decisión. Esperar ofrece un ingreso esperado $3 millones mayor, antes de costos, tiempo, riesgo y preferencias de la empresa. Mayor valor esperado no equivale a mejor decisión para cualquier gerente.
Regresemos a los tiempos \(U(20,50)\). ¿Qué plazo \(t\) cumple \(P(X\le t)=0.90\)?
\[t=a+0.90(b-a)=20+0.90(30)=47\ \text{minutos}.\]
## [1] 47
## [1] 0.9
Pregunta para discutir: ¿Qué tiene más sentido como promesa comercial: 35 minutos (promedio) o 47 minutos (percentil 90)? ¿Por qué?
runif() genera datos artificiales bajo el
supuesto del modelo. Simular no demuestra que el mundo real sea
uniforme.
set.seed(2026)
entregas <- runif(10000, min=20, max=50)
hist(entregas, breaks=25, probability=TRUE, border="white",
col="#8BB6C7", main="10.000 entregas simuladas",
xlab="Tiempo de entrega (minutos)")
curve(dunif(x,min=20,max=50),from=18,to=52,
col="#A72636",lwd=3,add=TRUE)c(estimacion=mean(entregas < 30), teoria=punif(30,20,50),
media_simulada=mean(entregas),media_teorica=35)## estimacion teoria media_simulada media_teorica
## 0.3348000 0.3333333 34.9657681 35.0000000
Anticipación. Si repetimos la simulación con 100 observaciones en vez de 10.000, ¿cuál de los dos histogramas sería usualmente más irregular? ¿Por qué?
Sea \(X\sim N(\mu,\sigma^2)\) con media \(\mu\) y desviación estándar \(\sigma>0\). Su densidad es
\[ f(x)=\frac{1}{\sigma\sqrt{2\pi}}\exp\!\left[-\frac{(x-\mu)^2}{2\sigma^2}\right]. \]
No es necesario integrar esta expresión a mano en este curso. Sí debemos comprender que es una curva simétrica, con área total 1, y que \(\mu\) fija el centro y \(\sigma\) controla la dispersión.
Advertencia empresarial. Una variable continua no tiene por qué ser normal. Los ingresos personales, tiempos de espera con fuertes colas y ventas con estacionalidad pueden mostrar mucha asimetría o mezcla de comportamientos. Usaremos modelos normales cuando el supuesto sea razonable o como escenario didáctico declarado.
x <- seq(40,160,length.out=1200)
plot(x,dnorm(x,100,5),type="l",lwd=3,col="#B52B34",
xlab="Resultado",ylab="Densidad",main="Misma media, distinta dispersión")
lines(x,dnorm(x,100,15),col="#155A85",lwd=3,lty=2)
legend("topright",legend=c("Media 100; DE 5","Media 100; DE 15"),
col=c("#B52B34","#155A85"),lwd=3,lty=c(1,2),bty="n")Antes de mirar el gráfico, predice: ¿cuál proceso es más estable? ¿Cuál arroja más resultados muy alejados de 100? En control de calidad, igual media no implica igual riesgo.
En cualquier normal, aproximadamente el 68.27 % de los valores está en \(\mu\pm\sigma\); el 95.45 % en \(\mu\pm2\sigma\) y el 99.73 % en \(\mu\pm3\sigma\).
probabilidades <- sapply(1:3, function(k) {
pnorm(k) - pnorm(-k)
})
data.frame(intervalo=c("mu ± 1 sigma","mu ± 2 sigma","mu ± 3 sigma"),
porcentaje=round(100*probabilidades,2))## intervalo porcentaje
## 1 mu ± 1 sigma 68.27
## 2 mu ± 2 sigma 95.45
## 3 mu ± 3 sigma 99.73
\[ Z=\frac{X-\mu}{\sigma},\qquad Z\sim N(0,1). \]
Un valor \(Z=2\) significa dos desviaciones estándar por encima de la media; \(Z=-1.5\) significa una y media por debajo. La estandarización permite comparar situaciones medidas en unidades muy diferentes.
La familia de funciones en R:
dnorm(x, mean, sd) calcula la densidad;
pnorm(x, mean, sd) la probabilidad
acumulada; qnorm(p, mean, sd) el
cuantil; y rnorm(n, mean, sd) genera
observaciones simuladas. Para uniforme ocurre lo mismo
con dunif, punif, qunif y
runif.
## densidad_en_cero prob_menor_que_cero percentil_95
## 0.3989423 0.5000000 1.6448536
pnorm(c, media, de).pnorm(c, media, de, lower.tail=FALSE).pnorm().La p de pnorm significa
probabilidad acumulada, no densidad; la q
de qnorm significa cuantil. ¡Nunca se usa
dnorm como si fuera una probabilidad de un punto!
Las ventas diarias, en millones de pesos, se modelan como \(X\sim N(10,2^2)\). Determine (a) la probabilidad de superar \(13\) millones y (b) la probabilidad de vender entre \(8\) y \(12\) millones.
Manual: \(z_{13}=(13-10)/2=1.5\); \(z_{8}=-1\) y \(z_{12}=1\).
\[P(X>13)=P(Z>1.5)\approx0.0668,\] \[P(8<X<12)=P(-1<Z<1)\approx0.6827.\]
p_superar_13 <- pnorm(13, mean=10, sd=2, lower.tail=FALSE)
p_8_12 <- pnorm(12,10,2) - pnorm(8,10,2)
c(prob_ventas_altas=p_superar_13,prob_ventas_8_a_12=p_8_12)## prob_ventas_altas prob_ventas_8_a_12
## 0.0668072 0.6826895
Decisión. Si se debe contratar personal adicional para atender picos de demanda, ¿convendría activar el refuerzo solo al superar \(13\) millones? Este umbral corresponde a un evento poco frecuente en este modelo; la recomendación requiere conocer los costos del refuerzo y de la insuficiencia operativa.
Una empacadora produce bolsas de café cuyo peso se modela \(X\sim N(500,8^2)\) gramos. El criterio interno exige entre 490 y 510 gramos. ¿Qué porcentaje esperado cumple y cuántas bolsas de 2.000 podrían quedar fuera?
\[z_{490}=\frac{490-500}{8}=-1.25,\qquad z_{510}=1.25.\] \[P(490\le X\le510)\approx0.7887.\]
prob_cumple <- pnorm(510,500,8) - pnorm(490,500,8)
no_cumplen <- 2000*(1-prob_cumple)
c(prob_cumple=prob_cumple, porcentaje_cumple=100*prob_cumple,
unidades_fuera_esperadas=no_cumplen)## prob_cumple porcentaje_cumple unidades_fuera_esperadas
## 0.7887005 78.8700453 422.5990947
Interpretación. Aproximadamente el 78.87 % cumpliría; en 2.000 unidades esperamos unas 423 fuera de los límites. Es una cantidad esperada, no un conteo garantizado.
Decisión. Si se puede reducir la desviación estándar de 8 a 5 gramos sin cambiar la media, ¿qué sucedería?
p_antes <- pnorm(510,500,8)-pnorm(490,500,8)
p_despues <- pnorm(510,500,5)-pnorm(490,500,5)
c(cumplimiento_antes=p_antes,cumplimiento_despues=p_despues,
cambio_puntos_porcentuales=100*(p_despues-p_antes))## cumplimiento_antes cumplimiento_despues
## 0.7887005 0.9544997
## cambio_puntos_porcentuales
## 16.5799283
Nota: los límites usados aquí son especificaciones de un caso ficticio, no una afirmación sobre regulación de etiquetado.
Los tiempos de entrega siguen aproximadamente \(X\sim N(42,6^2)\) minutos. La publicidad dice: “máximo 50 minutos”. Calculemos: (a) tasa de cumplimiento, (b) pedidos tardíos por cada 1.000 y (c) promesa necesaria para el 95 % de cumplimiento.
\[z_{50}=\frac{50-42}{6}=1.3333.\]
p_cumplir <- pnorm(50,mean=42,sd=6)
p_tarde <- pnorm(50,mean=42,sd=6,lower.tail=FALSE)
late_1000 <- 1000*p_tarde
plazo_95 <- qnorm(.95,mean=42,sd=6)
c(cumplimiento=p_cumplir,incumplimiento=p_tarde,
tardios_por_1000=late_1000,plazo_95_minutos=plazo_95)## cumplimiento incumplimiento tardios_por_1000 plazo_95_minutos
## 0.90878878 0.09121122 91.21121973 51.86912176
area_continua("normal",a=50,b=Inf,media=42,de=6,
titulo="Caso 7 | Incumplimiento del plazo de 50 min")Conclusión. Aproximadamente 91 de cada 1.000 entregas superarían 50 minutos; para cubrir 95 % habría que prometer cerca de 51.87 minutos (si se comunica en minutos enteros, redondear hacia arriba a 52). La gerencia debe valorar el equilibrio entre una promesa atractiva y una promesa confiable.
El tiempo hasta el pago de una factura se modela solo para este ejemplo como \(X\sim N(30,5^2)\) días. ¿Qué fracción se pagaría antes de 25 días? ¿Qué proporción demoraría más de 38 días?
Manual: \(z_{25}=-1\), \(z_{38}=1.6\).
p_antes_25 <- pnorm(25,mean=30,sd=5)
p_despues_38 <- pnorm(38,mean=30,sd=5,lower.tail=FALSE)
c(antes_de_25=p_antes_25,despues_de_38=p_despues_38)## antes_de_25 despues_de_38
## 0.15865525 0.05479929
area_continua("normal",a=-Inf,b=25,media=30,de=5,
titulo="Caso 8 | Facturas pagadas antes del día 25")Interpretación. El modelo sugiere 15.87 % de pagos antes de 25 días y cerca de 5.48 % después de 38 días. Limitación: una normal admite tiempos negativos; con media 30 y desviación 5 la probabilidad es casi nula, pero si fuese mayor habría que preferir otro modelo (como lognormal o gamma). Además, importes de factura diferentes requieren ponderar por valor para proyectar caja.
La sucursal A vende \(78\) millones con media \(70\) y DE \(8\); la B vende \(55\) millones con media \(50\) y DE \(2.5\). ¿Cuál tuvo un desempeño más excepcional en relación con su propia operación?
\[z_A=\frac{78-70}{8}=1,\qquad z_B=\frac{55-50}{2.5}=2.\]
z_A <- (78-70)/8
z_B <- (55-50)/2.5
c(z_A=z_A,z_B=z_B,
percentil_A=pnorm(z_A),percentil_B=pnorm(z_B))## z_A z_B percentil_A percentil_B
## 1.0000000 2.0000000 0.8413447 0.9772499
Conclusión. Aunque A vendió más en términos absolutos, B sobresale más respecto a su comportamiento habitual. Esto no demuestra mayor rentabilidad: faltan márgenes, costos y objetivos.
El tiempo de producción de una orden se modela \(X\sim N(12,1.8^2)\) días. Encuentra el plazo a partir del cual queda el 10 % de órdenes más lentas.
Si \(P(X\le t)=0.90\), entonces \(t=\mu+z_{0.90}\sigma\) con \(z_{0.90}\approx1.2816\).
\[t\approx12+1.2816(1.8)=14.31\ \text{días}.\]
## percentil_90 comprobacion
## 14.30679 0.90000
Decisión. Un control preventivo cercano al día 14.31 señalaría el tramo más lento del proceso (según el modelo). Es un umbral de alerta, no una garantía de incumplimiento contractual.
La demanda semanal de unidades se modela \(D\sim N(500,80^2)\). ¿Qué inventario \(s\) permite cubrir \(P(D\le s)=0.98\) de semanas, suponiendo que esa es la única fuente de incertidumbre?
\[s=\mu+z_{0.98}\sigma,\qquad z_{0.98}\approx2.0537.\]
inventario <- qnorm(.98, mean=500, sd=80)
inventario_entero <- ceiling(inventario)
c(cuantil_98=inventario,inventario_redondeado_arriba=inventario_entero,
cobertura=pnorm(inventario_entero,500,80))## cuantil_98 inventario_redondeado_arriba
## 664.2999129 665.0000000
## cobertura
## 0.9804199
area_continua("normal",a=-Inf,b=inventario_entero,media=500,de=80,
titulo="Caso 11 | Cobertura esperada de demanda")Interpretación. El cuantil es aproximadamente 664.30 unidades; como no podemos almacenar una fracción de unidad, 665 unidades cubren al menos el 98 % de la demanda semanal modelada. La política óptima también depende de costos de faltantes, almacenamiento y plazos de reposición. Una normal admite demanda negativa, aunque aquí su probabilidad es despreciable.
Las utilidades (millones de pesos) de dos empresas se modelan con normales: \(U_A\sim N(20,4^2)\) y \(U_B\sim N(20,10^2)\). ¿Cuál tiene mayor probabilidad de terminar el mes con utilidad inferior a 10 millones?
## empresa_A empresa_B
## 0.006209665 0.158655254
Interpretación. En A la probabilidad es aproximadamente 0.62 %; en B, 15.87 %. Ambas tienen el mismo resultado esperado, pero B presenta mucho más riesgo de resultados bajos. No basta mirar promedios.
set.seed(2026)
ventas_simuladas <- rnorm(n=10000,mean=10,sd=2)
hist(ventas_simuladas,breaks=35,probability=TRUE,col="#B5CCD8",
border="white",xlab="Ventas (millones)",main="10.000 días simulados")
curve(dnorm(x,mean=10,sd=2),add=TRUE,col="#A72636",lwd=3)c(media_muestral=mean(ventas_simuladas),media_modelo=10,
desviacion_muestral=sd(ventas_simuladas),
proporcion_supera_13=mean(ventas_simuladas>13),
probabilidad_teorica=pnorm(13,10,2,lower.tail=FALSE))## media_muestral media_modelo desviacion_muestral
## 10.0073490 10.0000000 2.0029174
## proporcion_supera_13 probabilidad_teorica
## 0.0703000 0.0668072
Observa y explica: ¿por qué una proporción simulada no coincide exactamente con la probabilidad teórica? ¿Qué debería ocurrir, en general, si aumentamos el número de simulaciones?
Un servicio puede tener tiempo medio de 30 minutos bajo dos modelos: (A) \(U(20,40)\); (B) \(N(30,5^2)\). ¿Son intercambiables? Calculemos la probabilidad de tardar más de 38 minutos.
p_uniforme <- punif(38,20,40,lower.tail=FALSE)
p_normal <- pnorm(38,30,5,lower.tail=FALSE)
c(uniforme=p_uniforme,normal=p_normal)## uniforme normal
## 0.10000000 0.05479929
Conclusión: aunque comparten media 30, el riesgo de tardanza es diferente. La distribución elegida es parte de la decisión. Antes de modelar, inspecciona datos e investiga su mecanismo generador.
| Error | Por qué está mal | Corrección |
|---|---|---|
dnorm(50,42,6) para calcular \(P(X=50)\) |
Entrega altura de densidad, no probabilidad puntual | Para eventos continuos utiliza intervalos y
pnorm() |
| Tratar la media como promesa que se cumple casi siempre | En la normal simétrica, 50 % queda por encima de la media | Busca percentiles de cumplimiento con
qnorm() |
| Decir que una variable es normal por ser continua | Hay muchas distribuciones continuas | Justifica el modelo con contexto y datos |
| Leer \(Z=-2\) como probabilidad negativa | \(Z\) es posición estandarizada | Interpreta “dos DE por debajo de la media” |
Confundir DE y varianza en rnorm() |
sd recibe desviación estándar, no
varianza |
Si \(X\sim N(10,2^2)\)
usa sd=2 |
| Decidir únicamente por el valor esperado | Ignora dispersión, costos y riesgos | Compara probabilidades, cuantiles y consecuencias |
En cada problema: (1) identifica la variable y el modelo; (2) escribe la probabilidad solicitada; (3) dibuja/sombrea la región; (4) estima mentalmente el resultado; (5) calcula en R; (6) redacta una interpretación y recomendación. Estos problemas son originales, inspirados en la metodología de aplicación empresarial de los textos guía.
# Completa y ejecuta DESPUÉS de plantear tus respuestas.
# 1. Call center
punif(9,4,12)-punif(5,4,12)
qunif(.75,4,12)
# 2. Banco
punif(10,0,18,lower.tail=FALSE)
qunif(.95,0,18)
# 3. Nómina
pnorm(60,75,12)
pnorm(90,75,12)-pnorm(70,75,12)
qnorm(.90,75,12)
# 4. Marketing
pnorm(150,120,15,lower.tail=FALSE)
qnorm(.25,120,15)
# 5. Auditoría
500*pnorm(40,32,6,lower.tail=FALSE)
# 6. Consistencia
pnorm(110,100,8)-pnorm(90,100,8)
pnorm(110,100,14)-pnorm(90,100,14)Contexto. Una compañía evalúa dos modalidades de atención:
La campaña comercial propone anunciar “Entregamos en 45 minutos o menos”. Cada pedido incumplido ocasionaría una compensación de $8.000 y se proyectan 3.000 pedidos mensuales por ruta.
Tu misión como analista: para cada ruta, calcula: (1) tiempo medio, (2) probabilidad de entregar en 45 minutos o menos, (3) pedidos tardíos esperados al mes, (4) compensación mensual esperada y (5) plazo publicitario para cumplir al menos el 90 %. Después recomienda una ruta explicando el costo y la incertidumbre. Supón que la compensación se paga por todo pedido que supera el plazo. No hay costos adicionales en este modelo simplificado.
# Ruta A
p_A <- punif(45,25,55)
q90_A <- qunif(.90,25,55)
# Ruta B
p_B <- pnorm(45,40,7)
q90_B <- qnorm(.90,40,7)
resumen <- data.frame(
ruta=c("A: uniforme","B: normal"),
media_min=c(40,40),
cumplimiento_45=c(p_A,p_B),
tardios_esperados=c(3000*(1-p_A),3000*(1-p_B)),
compensacion_esperada_pesos=c(8000*3000*(1-p_A),
8000*3000*(1-p_B)),
promesa_para_90_min=c(q90_A,q90_B)
)
knitr::kable(resumen,digits=2,caption="Resultados para la junta directiva")| ruta | media_min | cumplimiento_45 | tardios_esperados | compensacion_esperada_pesos | promesa_para_90_min |
|---|---|---|---|---|---|
| A: uniforme | 40 | 0.67 | 1000.00 | 8000000 | 52.00 |
| B: normal | 40 | 0.76 | 712.58 | 5700606 | 48.97 |
area_continua("uniforme",a=45,b=Inf,minimo=25,maximo=55,
titulo="Ruta A | Incumplimientos > 45 min")Preguntas de junta directiva: ¿Cuál ruta genera menos compensaciones esperadas? ¿Cuál promete mejor cumplimiento con el mismo promedio? Si la ruta ganadora fuera más costosa de operar, ¿qué otro dato necesitarías antes de tomar una decisión? No hay decisión completa sin explicitar los supuestos.
pnorm() y qnorm() sin usar fórmulas?| Necesidad | Uniforme \(U(a,b)\) | Normal \(N(\mu,\sigma^2)\) |
|---|---|---|
| Densidad en \(x\) | dunif(x,a,b) |
dnorm(x,mu,sigma) |
| \(P(X\le x)\) | punif(x,a,b) |
pnorm(x,mu,sigma) |
| \(P(X>x)\) | punif(x,a,b,lower.tail=FALSE) |
pnorm(x,mu,sigma,lower.tail=FALSE) |
| Percentil \(p\) | qunif(p,a,b) |
qnorm(p,mu,sigma) |
| Simulación de \(n\) datos | runif(n,a,b) |
rnorm(n,mu,sigma) |
| Media | \((a+b)/2\) | \(\mu\) |
| Varianza | \((b-a)^2/12\) | \(\sigma^2\) |
Mensaje de cierre. Una distribución no es una fórmula para memorizar: es una descripción matemática de la incertidumbre. El cálculo es el medio; la decisión bien argumentada es el objetivo.