Punto 3.3

Sea W la variable aleatoria que da el número de caras menos el número de cruces en tres lanzamientos de una moneda. Liste los elementos del espacio muestral S para los tres lanzamientos de la moneda y asigne un valor w de W a cada punto muestral.

# Definimos el espacio muestral S
S <- c("HHH", "HHT", "HTH", "HTT",
       "THH", "THT", "TTH", "TTT")

W <- function(x) {
  
  if (x == "HHH") {
    return( 3 )
  } else if (x == "HHT" || x == "HTH" || x == "THH") {
    return( 1 )
  } else if (x == "HTT" || x == "THT" || x == "TTH") {
    return( -1 )
  } else if (x == "TTT") {
    return( -3 )
  } else {
    return( NA )
  }
}

w_values <- sapply(S, W)

#Mostramos resultados
cat("Espacio muestral S:\n")
## Espacio muestral S:
print(S)
## [1] "HHH" "HHT" "HTH" "HTT" "THH" "THT" "TTH" "TTT"
cat("\nValores de W para cada punto muestral:\n")
## 
## Valores de W para cada punto muestral:
print(w_values)
## HHH HHT HTH HTT THH THT TTH TTT 
##   3   1   1  -1   1  -1  -1  -3
# Opcional:
resultados <- data.frame(
  Resultado = S,
  W = w_values,
  stringsAsFactors = FALSE
)
print(resultados)
##     Resultado  W
## HHH       HHH  3
## HHT       HHT  1
## HTH       HTH  1
## HTT       HTT -1
## THH       THH  1
## THT       THT -1
## TTH       TTH -1
## TTT       TTT -3

Punto 3.9

La proporción de personas que responden a cierta encuesta enviada por correo es una variable aleatoria continua X que tiene la siguiente función de densidad:

\[ f(x) \;=\; \begin{cases} \displaystyle \frac{2\,(x + 2)}{5}, & 0 < x < 1, \\[1em] 0, & \text{en otro caso.} \end{cases} \] a) Demuestre que \(P(0 < X < 1) = 1\).
b) Calcule la probabilidad de que más de 1/4 pero menos de 1/2 de las personas contactadas respondan a este tipo de encuesta.

f.x <- function(x) {
  if (0 < x & x < 1) {
    return(2*(x + 2)/5)
  } else {
    return(0)
  }
}


f.a <- function(t) { 2*(t + 2)/5 }


x_int <- seq(0, 1.5, by = 0.01)
y_int <- sapply(x_int, f.a)
df <- data.frame(x = x_int, y = y_int)

x_lim <- c(0, 1.5)
y_lim <- c(0, max(y_int)*1.1)

# --------------------------------------------------
# Gráfico a) P(0 < X < 1)
# --------------------------------------------------

p_tot <- integrate(f.a, 0, 1)$value       # P(0 < X < 1)
df_a <- subset(df, x >= 0 & x <= 1)

plot_a <- ggplot(df, aes(x = x, y = y)) +
  geom_line(linewidth = 1, color = "navy") +
  geom_ribbon(data = df_a, aes(x = x, ymin = 0, ymax = y),fill = "blue",alpha = 0.) +
  labs(
    title = "P(0 < X < 1)",
    x = "x (proporción de respuestas)",
    y = "f(x) (densidad de probabilidad)"
  ) +
  annotate(
    "text",
    x = 0.5, y = 0.5 * y_lim[2],
    label = paste0("Área = ", round(p_tot, 4)),
    size = 5, color = "white", fontface = "bold"
  ) +
  coord_cartesian(xlim = x_lim, ylim = y_lim) +
  theme_minimal()

print(plot_a)

# --------------------------------------------------
# Gráfico b) P(1/4 < X < 1/2)
# --------------------------------------------------
p_b <- integrate(f.a, 0.25, 0.5)$value  # P(1/4<X<1/2)
df_b <- subset(df, x >= 0.25 & x <= 0.5)

plot_b <- ggplot(df, aes(x = x, y = y)) +
  geom_line(linewidth = 1, color = "navy") +
    geom_ribbon(
    data = df_b,
    aes(x = x, ymin = 0, ymax = y),
    fill = "blue",
    alpha = 0.6
  ) +
  labs(
    title = "P(1/4 < X < 1/2)",
    x = "x (proporción de respuestas)",
    y = "f(x) (densidad de probabilidad)"
  ) +
  annotate(
    "text",
    x = 0.375, y = 0.35 * y_lim[2],  
    label = paste0("Área = ", round(p_b, 2)),
    size = 3, color = "white", fontface = "bold"
  ) +
  coord_cartesian(xlim = x_lim, ylim = y_lim) +
  theme_minimal()

print(plot_b)

Punto 3.15

Calcule la función de distribución acumulativa de la variable aleatoria X que represente el número de unidades defectuosas en el ejercicio 3.11. Luego, utilice F(x) para calcular
a) \(P(X = 1)\);
b) \(P(0 < X ≤ 2)\).

# Funcion de distribucion acumulativa:
# 7 televisores, de los cuales 2 son defectusos
# Se eligen 3 de entre los 7
# Hay 7C3 = 7!/(7-3)!3! = 35 posibles combinaciones

# Espacio muestral de X
# X puede ser {0,1,2}
# D = Defectuoso, N = No defectuoso

x <- c(0,1,2)

# Probabilidad de que se eliga 0 defectuosos (X=0):
# Los 3 televisores se eligen de los 5 no defectuosos
# Hay 5C3 = 5!/(5-3)!3! = 10 posibles combinaciones con 0 defectuosos
# P(0) = 10/35 = 2/7
# F(0) = P(0) = 2/7

# Probabilidad de que se eliga 1 defectuoso (X=1):
# 2 televisores se eligen de los 5 no defectuosos y 1 de los 2 defectuosos
# Hay 5C2*2C1 = 5!/(5-2)!2!*2!/(2-1)!1! = 10*2 = 20 posibles combinaciones con 
# 1 defectuoso
# P(1) = 20/35 = 4/7
# F(1) = P(0) + P(1) = 2/7 + 4/7 = 6/7

# Probabilidad de que se eligan 2 defectuosos (X=2):
# 1 televisor se elige de los 5 no defectuosos y 2 de los 2 defectuosos
# Hay 5C1*2C2 = 5!/(5-1)!1!*2!/(2-2)!2! = 5*1 = 5 posibles combinaciones con 
# 2 defectuosos
# P(2) = 5/35 = 1/7
# F(2) = P(0) + P(1) + P(2) = 2/7 + 4/7 + 1/7 = 7/7 = 1

F <- function(x) {
  if (x == 0) {
    return( 2/7 )
  } else if (x == 1) {
    return( 6/7 )
  } else if (x == 2) {
    return( 1 )
  }
}

# Tabla de la funcion de distribucion acumulativa
F.x <- sapply(x, F)
resultados <- data.frame(
  Resultado = x,
  F = F.x,
  stringsAsFactors = FALSE
)
print(resultados)
##   Resultado         F
## 1         0 0.2857143
## 2         1 0.8571429
## 3         2 1.0000000
# a) P(X = 1) = F(1) - F(0) = 6/7 - 2/7 = 4/7

P.x1 <- F(1) - F(0)
cat("La probabilidad de que X sea 1 es:", P.x1)
## La probabilidad de que X sea 1 es: 0.5714286
# b) P(0 < X <= 2) = F(2) - F(0) = 1 - 2/7 = 5/7

P.x2 <- F(2) - F(0)
cat("La probabilidad de que X sea mayor a 0 y menor o igual que 2 es:", P.x2)
## La probabilidad de que X sea mayor a 0 y menor o igual que 2 es: 0.7142857

Punto 3.21

Considere la función de densidad \[ f(x) \;=\; \begin{cases} \displaystyle k \sqrt{x}, & 0 < x < 1, \\[1em] 0, & \text{en otro caso.} \end{cases} \] a) Evalúe k.
b) Calcule F(x) y utilice el resultado para evaluar \(P(0.3 < X < 0.6)\)

# a)
# La integral de 0 a 1 de f(x) debe ser 1
# entre 0 y 1, f(x) = k√x
# integral de f(x) entre 0 y 1 = k√(1^3)/(3/2) - k√(0^3)/(3/2) = k√(1^3)/(3/2)
# = 2K/3
# como la integral debe ser igual a 1, k = 3/2

# b) 
# Hallar F(x)
# Como F(x) es la integral de f(x) con k = 3/2, F(x) es la integral de 0 hasta
# x de (3/2)*√x

f_integrable <- function(x){(3/2)*sqrt(x)}

F <- function(x) {integrate(f_integrable,0,x)$value}

# Grafica f(x)

x. <- seq(0,1,0.001)

f.x <- sapply(x.,f_integrable)

F.x <- sapply(x.,F)

df <- data.frame(x = x., densidad = f.x, acumulada = F.x)

ggplot(df, aes(x = x, y = densidad)) +
  geom_line(color = "navy", linewidth = 0.8) +
  labs(title = "Función de Densidad",
       x = "x", y = "f(x)") +
  theme_minimal()

# Grafica F(x)

ggplot(df, aes(x = x)) +
  geom_line(aes(y = acumulada), color = "blue", linewidth = 0.8) +
  labs(title =  "Funcion de distribucion Acumulada",
       y = "valor", 
       color = "Función") +
  theme_minimal()

# Evaluar P(0.3 < x < 0.6)

# P(0.3 < x < 0.6) = F(0.6) - F(3.0)

a1 <- F(0.3)

a2 <- F(0.6)

Sol1 <- a2 - a1

cat("La probabilidad de que X este entre 0.3 y 0.6 es:", Sol1)
## La probabilidad de que X este entre 0.3 y 0.6 es: 0.3004412
# Grafica de P(0.3 < x < 0.6)

x.1 <- seq(0.3,0.6,0.001)

f.x1 <- sapply(x.1,f_integrable) 

df1 <- data.frame(x = x.1, densidad = f.x1)

g_1 <- ggplot(df, aes(x = x, y = densidad)) + 
  geom_line(color = "navy", linewidth = 1) +
  geom_area(data = df1, aes(x = x, y = densidad), fill = "blue", alpha = 0.6) +
  labs(title = "Probabilidad P(0.3 < x < 0.6)",
       subtitle = "Área azul: P(0.3 < x < 0.6)",
       x = "x", y = "f(x)") + 
  theme_minimal()
print(g_1)

Punto 3.27

El tiempo que pasa, en horas, antes de que una parte importante de un equipo electrónico que se utiliza para fabricar un reproductor de DVD empiece a fallar tiene la siguiente función de densidad:

\[ f(x) \;=\; \begin{cases} \displaystyle \frac{1}{2000}\,\exp\bigl(-\tfrac{x}{2000}\bigr), & x \ge 0, \\[0.75em] 0, & x < 0. \end{cases} \] a) Calcule F(x).

# Funcion de densidad:

f.x <- function(x){
  ifelse(x>=0, (1/2000) * exp(-x/2000),0)
} 

# a) Calcule F(x).

integrate(f.x, lower = 0, upper = Inf)$value
## [1] 1
# Funcion de distribucion acumulativa

f_integrada <- function(x){
  sapply(x,function(t){
    if(t>=0){
      return(integrate(f.x, lower = 0, upper = t)$value)
    } else {
      return(0)
    }
  })
}

x. <- seq(0,10000, by = 100)

# Grafica Funcion de distribucion acumulativa

df <- data.frame(x = x., densidad = f.x(x.), acumulada = f_integrada(x.))
ggplot(df, aes(x = x)) +
  geom_line(aes(y = acumulada), color = "navy", linewidth = 0.8) +
  labs(title =  "Funcion de distribucion Acumulada",
       y = "valor", 
       color = "Función") +
  theme_minimal()

# Grafica Funcion de densidad

ggplot(df, aes(x = x, y = densidad)) +
  geom_line(color = "navy", size = 0.8) +
  labs(title = "Función de Densidad",
       x = "x", y = "f(x)") +
  theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.


b) Determine la probabilidad de que el componente (y, por lo tanto, el reproductor de DVD) funcione durante más de 1000 horas antes de que sea necesario reemplazar el componente.

# P(X > 1000) = 1 - P(X <= 1000)

sol_b <- 1 - f_integrada(1000)
cat("La probabilidad de que funcione por mas de 1000 horas es de:",sol_b)
## La probabilidad de que funcione por mas de 1000 horas es de: 0.6065307
x_b <- seq(1000, 10000, by = 100)
df_b <- data.frame(x = x_b, densidad = f.x(x_b))

# Grafico

g_b <- ggplot(df, aes(x = x, y = densidad)) +
  geom_line(color = "navy", linewidth = 1) +
  geom_area(data = df_b, aes(x = x, y = densidad), fill = "blue", alpha = 0.6) +
  labs(title = "b) Probabilidad P(X > 1000)",
       subtitle = "Área Azul: P(X > 1000)",
       x = "Horas", y = "f(x)") +
  theme_minimal()
print(g_b)


c) Determine la probabilidad de que el componente falle antes de 2000 horas

# P(X <= 2000)
sol_c <- f_integrada(2000)
cat("La probabilidad de fallar antes de 2000 horas es de:",sol_c)
## La probabilidad de fallar antes de 2000 horas es de: 0.6321206
x_c <- seq(0,2000, by = 100)
df_c <- data.frame(x = x_c, densidad = f.x(x_c))

# Grafico
g_c <- ggplot(df, aes(x = x, y = densidad)) + 
  geom_line(color = "navy", linewidth = 1) +
  geom_area(data = df_c, aes(x = x, y = densidad), fill = "blue", alpha = 0.6) +
  labs(title = "c) Probabilidad P(X ≤ 2000)",
       subtitle = "Área morada: P(X ≤ 2000)",
       x = "Horas", y = "f(x)") + 
  theme_minimal()
print(g_c)