Estimación de la Probabilidad y la Media

Una empresa de servicio técnico recibe, en promedio, 5 solicitudes de reparación por hora. Suponiendo que el número de solicitudes sigue una distribución de Poisson, realiza las siguientes actividades:

a. Cálculo de probabilidad teórica:

  • Calcula la probabilidad de que en una hora lleguen exactamente 3 solicitudes usando la fórmula de la distribución de Poisson. Expresa el resultado como \(P(X=3)\).

\[ P(X=3)=\dfrac{5^{3}}{3!} \exp{\{-5\}}=0.01403\]

Fre_cal_3 <- (5^3)*(exp(-5))/factorial(3) # Cálculo aritmético de la probabilidad.

Fre_cod_3 <- dpois(3,5) # Cálculo con código.

cat("P(X=3)=", Fre_cal_3) # Imprimir valor
P(X=3)= 0.1403739


b. Simulación con una muestra:

  • Genera una muestra aleatoria de tamaño n = 1000 con \(rpois(n, lambda = 5)\)
x=3
n=1000                                             # Calculo con 1000 muestras. 
Ram_poi_5 <- rpois(n,5)
  • Calcula la frecuencia relativa para \(X=3\) \((fn(X=3))\).
F_rel_3_n <- as.numeric(Ram_poi_5==3) %>% 
      sum()/n
cat("P(X=3)=", F_rel_3_n) 
P(X=3)= 0.119
  • Compara e interpreta el resultado frente a la probabilidad teórica.
dif=Fre_cal_3-F_rel_3_n
cat("La diferencia entre la probabilidad teórica y la probabilidad aleatoria muestral es de:", dif,",este valor es cercano a cero, por lo cual se puede afirmar que la diferencia entre estos valores es muy baja y si se aumenta el número de muestras, se acercaría más al valor teórico.") 
La diferencia entre la probabilidad teórica y la probabilidad aleatoria muestral es de: 0.0213739 ,este valor es cercano a cero, por lo cual se puede afirmar que la diferencia entre estos valores es muy baja y si se aumenta el número de muestras, se acercaría más al valor teórico.


c. Análisis de la variabilidad entre muestras:

  • Genera 100 muestras aleatorias de tamaño n = 1000.
  • Calcula la frecuencia relativa para \(X=3\) en cada muestra.
n=1000
F_rel_100_3_n <-0
for (i in 1:100) {
  Ram_poi_5_for <- rpois(n,5)
  F_rel_100_3_n[i] <- as.numeric(Ram_poi_5_for ==3) %>% 
    sum()/n

}
  • Construye un gráfico de dispersión:
    Eje X: Indexación por cada muestra (1 a 100).
    Eje Y: Frecuencias relativas \(fn(X=3)\).
  • Dibuja una línea horizontal en \(P(X=3)\) y comenta si existe una tendencia.
# Grafica 
datos <- data.frame(
  Muestra = 1:100,  # Número de muestra (de 1 a 100)
  Frecuencia_Relativa = F_rel_100_3_n  # Frecuencia relativa de X=3
)



# Crear el gráfico con ggplot2
ggplot(datos, aes(x = Muestra, y = Frecuencia_Relativa)) +
  geom_line(color = "blue", linewidth = 0.3, alpha = 0.7) +  # Línea que conecta los puntos
  geom_point(size = 2, color = "blue", alpha = 0.7) +  # Puntos para las frecuencias relativas
  geom_hline(yintercept = Fre_cod_3, color = "red", linewidth = 1.5, linetype = "dashed") +  # Línea horizontal para la frecuencia teórica
  labs(
    x = "Número de muestra",
    y = "Frecuencia relativa de X=3",
    title = "Gráfica 1 -Variabilidad de la frecuencia relativa",
    subtitle = paste("Frecuencia teórica =", Fre_cod_3)
  ) +
  theme_minimal() +  # Tema minimalista
  theme(
    plot.title = element_text(hjust = 0.5, size = 16, face = "bold"),  # Centrar y formatear el título
    plot.subtitle = element_text(hjust = 0.5, size = 12),  # Centrar y formatear el subtítulo
    axis.title = element_text(size = 12),  # Formatear los títulos de los ejes
    panel.grid.major = element_line(color = "gray90"),  # Líneas de la cuadrícula principales
    panel.grid.minor = element_blank()  # Eliminar líneas de la cuadrícula secundarias
  )

cat("En la gráfica 1. no se observa una tendencia o patrón significativo entre el valor de probabilidad teórica y las probabilidades muestrales; sí se refleja que los valores tienden a agruparse alrededor del valor de la probabilidad teórica.")
En la gráfica 1. no se observa una tendencia o patrón significativo entre el valor de probabilidad teórica y las probabilidades muestrales; sí se refleja que los valores tienden a agruparse alrededor del valor de la probabilidad teórica.


d. Impacto del tamaño muestral:

  • Genera muestras aleatorias con tamaños: 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000.
  • Calcula la frecuencia relativa de \(X=3\) para cada tamaño.
ta_muestra<- c(5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000)
freq_tamanos <- numeric(length(ta_muestra))

for (i in seq_along(ta_muestra)) {
  
  Ram_poi <- rpois(ta_muestra[i],5)
  
  freq_tamanos[i]<- as.numeric(Ram_poi_5_for ==3) %>% 
    sum()/ ta_muestra[i]
  }
  • Construye un gráfico de dispersión:
    Eje X: Indexación (1 al 20) por cada tamaño muestral.
    Eje Y: Frecuencias relativas \(fn(X=3)\).
  • Dibuja la línea en \(P(X=3)\) y describe si aparece una tendencia.
datos <- data.frame(
  Muestra = ta_muestra,  # Número de muestra (de 1 a 100)
  Frecuencia_Relativa = freq_tamanos  # Frecuencia relativa de X=3
)

# Crear el gráfico con ggplot2
ggplot(datos, aes(x = Muestra, y = Frecuencia_Relativa)) +
  geom_line(color = "blue", linewidth = 0.05, alpha = 0.7) +  # Línea que conecta los puntos
  geom_point(size = 2, color = "blue", alpha = 0.7) +  # Puntos para las frecuencias relativas
  geom_hline(yintercept = Fre_cod_3, color = "red", linewidth = 1.5, linetype = "dashed") +  # Línea horizontal para la frecuencia teórica
  labs(
    x = "Cantidad de muestra",
    y = "Frecuencia relativa de X=3",
    title = "Gráfica 2-Impacto del tamaño de las muestras",
    subtitle = paste("Frecuencia teórica =", Fre_cod_3)
  ) +
  theme_minimal() +  # Tema minimalista
  theme(
    plot.title = element_text(hjust = 0.5, size = 16, face = "bold"),  # Centrar y formatear el título
    plot.subtitle = element_text(hjust = 0.5, size = 12),  # Centrar y formatear el subtítulo
    axis.title = element_text(size = 12),  # Formatear los títulos de los ejes
    panel.grid.major = element_line(color = "gray90"),  # Líneas de la cuadrícula principales
    panel.grid.minor = element_blank()  # Eliminar líneas de la cuadrícula secundarias
  )

cat("La gráfica 2. permite concluir que, a medida que aumenta el valor de la cantidad de muestras, se reduce la diferencia entre la probabilidad teórica y la probabilidad muestral aleatoria.")
La gráfica 2. permite concluir que, a medida que aumenta el valor de la cantidad de muestras, se reduce la diferencia entre la probabilidad teórica y la probabilidad muestral aleatoria.


e. Convergencia de la media muestral:

  • Genera 100 muestras de tamaño n = 1000.
  • Calcula el promedio muestral de solicitudes en cada muestra.
n <- 1000
muestra <- 100
Pro_muestra <- numeric(length(muestra))

for (i in 1:muestra) {
  Ram_poi_5_for <- rpois(n,5)
  Pro_muestra[i] <-mean(Ram_poi_5_for) 
  
}
  • Construye un gráfico de dispersión:
    Eje X: Indexación por cada muestra (1 a 100).
    Eje Y: Promedios muestrales.
  • Traza la línea horizontal en la media teórica \((λ)\) y analiza la tendencia.
datos <- data.frame(
  Muestra = 1:100,  # Número de muestra (de 1 a 100)
  Frecuencia_Relativa = Pro_muestra  # Frecuencia relativa de X=3
)

# Crear el gráfico con ggplot2
ggplot(datos, aes(x = Muestra, y = Frecuencia_Relativa)) +
  geom_line(color = "blue", linewidth = 0.05, alpha = 0.7) +  # Línea que conecta los puntos
  geom_point(size = 2, color = "blue", alpha = 0.7) +  # Puntos para las frecuencias relativas
  geom_hline(yintercept = 5, color = "red", linewidth = 1.5, linetype = "dashed") +  # Línea horizontal para la frecuencia teórica
  labs(
    x = "Número de muestra",
    y = "Media muestral",
    title = "Gráfica 3 - Convergencia de la media muestral",
    subtitle = paste("Media =", 5)
  ) +
  theme_minimal() +  # Tema minimalista
  theme(
    plot.title = element_text(hjust = 0.5, size = 16, face = "bold"),  # Centrar y formatear el título
    plot.subtitle = element_text(hjust = 0.5, size = 12),  # Centrar y formatear el subtítulo
    axis.title = element_text(size = 12),  # Formatear los títulos de los ejes
    panel.grid.major = element_line(color = "gray90"),  # Líneas de la cuadrícula principales
    panel.grid.minor = element_blank()  # Eliminar líneas de la cuadrícula secundarias
  )

cat("En la gráfica 3. no se observa una tendencia o patrón significativo entre el valor de probabilidad teórica y las probabilidades muestrales; sí se refleja que los valores tienden a agruparse alrededor del valor de la media.")
En la gráfica 3. no se observa una tendencia o patrón significativo entre el valor de probabilidad teórica y las probabilidades muestrales; sí se refleja que los valores tienden a agruparse alrededor del valor de la media.


f. Impacto del tamaño muestral en la media:

  • Genera muestras aleatorias con tamaños: 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000.
  • Calcula el promedio muestral para cada tamaño.
ta_muestra<- c(5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000)
freq_tamanos <- numeric(length(ta_muestra))

for (i in seq_along(ta_muestra)) {
  
  Ram_poi <- rpois(ta_muestra[i],5)
  
  freq_tamanos[i]<- mean(Ram_poi)
}
  • Construye un gráfico de dispersión:
    Eje X: Indexación (1 al 20) por cada tamaño muestral.
    Eje Y: Promedios muestrales.
  • Dibuja la línea horizontal en la media teórica \((λ)\) y compara si el promedio se aproxima a medida que crece el tamaño.
datos <- data.frame(
  Muestra = ta_muestra,  # Número de muestra (de 1 a 100)
  Frecuencia_Relativa = freq_tamanos  # Frecuencia relativa de X=3
)

# Crear el gráfico con ggplot2
ggplot(datos, aes(x = Muestra, y = Frecuencia_Relativa)) +
  geom_line(color = "blue", linewidth = 0.05, alpha = 0.7) +  # Línea que conecta los puntos
  geom_point(size = 2, color = "blue", alpha = 0.7) +  # Puntos para las frecuencias relativas
  geom_hline(yintercept = 5, color = "red", linewidth = 1.5, linetype = "dashed") +  # Línea horizontal para la frecuencia teórica
  labs(
    x = "Cantidad de muestra",
    y = "Media Muestral",
    title = "Gráfico 4 - Impacto del tamaño de las muestras",
    subtitle = paste("Media =", 5)
  ) +
  theme_minimal() +  # Tema minimalista
  theme(
    plot.title = element_text(hjust = 0.5, size = 16, face = "bold"),  # Centrar y formatear el título
    plot.subtitle = element_text(hjust = 0.5, size = 12),  # Centrar y formatear el subtítulo
    axis.title = element_text(size = 12),  # Formatear los títulos de los ejes
    panel.grid.major = element_line(color = "gray90"),  # Líneas de la cuadrícula principales
    panel.grid.minor = element_blank()  # Eliminar líneas de la cuadrícula secundarias
  )

cat("En la Gráfica 4 se observa que las predicciones de la media muestral se estabilizan cuando el valor de las muestras es superior a 300, reduciendo la variabilidad en las estimaciones de la media a medida que se dispone de más datos.")
En la Gráfica 4 se observa que las predicciones de la media muestral se estabilizan cuando el valor de las muestras es superior a 300, reduciendo la variabilidad en las estimaciones de la media a medida que se dispone de más datos.