library(ggplot2)
library(flextable)

El gerente del almacén de una fábrica ha construido la siguiente distribución de probabilidad para la demanda diaria (número de veces que se usa) de una herramienta en particular. Si P(Y = 0) = 0.1, P(Y = 1) = 0.5 y P(Y = 2) = 0.4 y le cuesta a la fábrica $10 cada vez que la herramienta se usa, encuentre la varianza del costo diario por usar la herramienta.

Solución

y <- c(0, 1, 2)
p.y <- c(0.1, 0.5, 0.4)
costo <- 10 * y
df.ej2 <- data.frame(y, p.y, costo)
flextable(df.ej2)

y

p.y

costo

0

0.1

0

1

0.5

10

2

0.4

20

e.y <- sum(y * p.y)
cat("E(Y) =", e.y, "\n")
## E(Y) = 1.3
v.y <- sum((y^2) * p.y) - e.y^2
cat("V(Y) =", v.y, "\n")
## V(Y) = 0.41
v.costo <- 100 * v.y
cat("V(Costo) =", v.costo)
## V(Costo) = 41

Gráfica de la función de probabilidad

graf.ej2 <- ggplot(df.ej2, aes(x = y, y = p.y)) +
  geom_point(col = "purple", size = 3) +
  geom_segment(aes(x = y, xend = y, y = 0, yend = p.y), 
               col = "purple", linetype = "dashed") +
  labs(title = "Función de probabilidad de la demanda diaria",
       x = "Numero de veces que se usa (Y)",
       y = "Probabilidad") +
  theme_bw()
graf.ej2

La probabilidad de que un paciente se recupere de una enfermedad estomacal es 0.51. Suponga que se sabe que 1000 personas han contraído la enfermedad. ¿Cuál es la probabilidad de que al menos 340 pero no más de 480 se recuperen?

Solución

n.ej3 <- 1000
p.ej3 <- 0.51
sol.ej3 <- sum(dbinom(x = 340:480, size = n.ej3, prob = p.ej3))
cat("P(340 <= X <= 480) =", sol.ej3)
## P(340 <= X <= 480) = 0.03102211

Gráfica

x.ej3 <- 400:600
y.ej3 <- dbinom(x = x.ej3, size = n.ej3, prob = p.ej3)
df.ej3 <- data.frame(x.ej3, y.ej3)

df.ej3.area <- subset(df.ej3, 340 <= x.ej3 & x.ej3 <= 480)

graf.ej3 <- ggplot(df.ej3, aes(x = x.ej3, y = y.ej3)) +
  geom_line(col = "darkblue") +
  geom_area(data = df.ej3.area, aes(x = x.ej3, y = y.ej3), 
            fill = "darkblue", alpha = 0.4) +
  labs(title = "P(340 <= X <= 480)",
       x = "Número de recuperados",
       y = "Probabilidad") +
  theme_bw()
graf.ej3

La función de densidad de la variable aleatoria continua X, el número total de horas que una familia utiliza una aspiradora durante un año, en unidades de 100 horas es:

\[ f(x) = \begin{cases} x, & 0 < x < 1 \\ 2 - x, & 1 \leq x < 2 \\ 0, & \text{en otro caso} \end{cases} \]

  1. Grafique la función de densidad.
  2. Calcule el número promedio que las familias utilizan sus aspiradoras.

Solución

f.ej4 <- function(x) {
  ifelse(x > 0 & x < 1, x,
         ifelse(x >= 1 & x < 2, 2 - x, 0))
}

x.ej4 <- seq(from = -0.5, to = 2.5, by = 0.001)
y.ej4 <- f.ej4(x.ej4)
df.ej4 <- data.frame(x.ej4, y.ej4)

graf.ej4 <- ggplot(df.ej4, aes(x = x.ej4, y = y.ej4)) +
  geom_line(col = "darkred", size = 1) +
  labs(title = "Función de densidad de X",
       x = "X (en unidades de 100 horas)",
       y = "f(x)") +
  theme_bw()
graf.ej4

e.x.ej4 <- 1
cat("E(X) =", e.x.ej4, "unidades de 100 horas")
## E(X) = 1 unidades de 100 horas
cat("\nPromedio en horas:", e.x.ej4 * 100, "horas")
## 
## Promedio en horas: 100 horas

Llegan autos a una caseta de pago de peaje de acuerdo con un proceso de Poisson con media de 80 autos por hora. Si el empleado hace una llamada telefónica de 1 minuto, ¿cuál es la probabilidad de que al menos 1 auto llegue durante la llamada?

Solución

lamb.ej5 <- 80 / 60
cat("Lambda =", lamb.ej5, "autos por minuto\n")
## Lambda = 1.333333 autos por minuto
sol.ej5 <- 1 - dpois(x = 0, lambda = lamb.ej5)
sol.ej5.alt <- ppois(q = 0, lambda = lamb.ej5, lower.tail = FALSE)

cat("P(X >= 1) =", sol.ej5)
## P(X >= 1) = 0.7364029

El operador de una estación de bombeo ha observado que la demanda de agua durante las primeras horas de la tarde tiene una distribución aproximadamente exponencial con media de 100 pcs (pcs cúbicos por segundo). Encuentre la probabilidad de que la demanda sea mayor que 200 pcs durante las primeras horas de la tarde en un día seleccionado al azar.

Solución

media.ej7 <- 100
lamb.ej7 <- 1 / media.ej7
sol.ej7 <- pexp(q = 200, rate = lamb.ej7, lower.tail = FALSE)
cat("P(X > 200) =", sol.ej7)
## P(X > 200) = 0.1353353

Gráfica

x.ej7 <- seq(from = 0, to = 400, by = 0.1)
y.ej7 <- dexp(x = x.ej7, rate = lamb.ej7)
df.ej7 <- data.frame(x.ej7, y.ej7)

df.ej7.area <- subset(df.ej7, x.ej7 > 200)

graf.ej7 <- ggplot(df.ej7, aes(x = x.ej7, y = y.ej7)) +
  geom_line(col = "darkgreen") +
  geom_area(data = df.ej7.area, aes(x = x.ej7, y = y.ej7), 
            fill = "darkgreen", alpha = 0.4) +
  labs(title = "P(X > 200)",
       x = "Demanda de agua (pcs)",
       y = "Densidad") +
  theme_bw()
graf.ej7