Ejercicio * El Hotel Mirage tiene como necesidad la de conocer la demanda de sus servicios durante el tiempo para asignar mayor o menor cantidad de presupuesto para su operatividad. Cabe mencionar que el hotel cuenta con solamente información de los 12 meses en los que ha estado operativo (es un hotel nuevo). * Si la ocupación cae por debajo del 80%, ¿que acciones recomendarían para evitar que el hotel tenga perdidas económicas?

Mes Enero - 78 Febrero - 82 Marzo - 75 Abril - 80 Mayo - 85 Junio - 88 Julio - 92 Agosto - 90 Septiembre - 86 Octubre - 84 Noviembre - 80 Diciembre - 83

#install.packages("boot")
library(boot)
#Datos originales
ocupacion <- c(78, 82, 75, 80, 85, 88, 92, 90, 86, 84, 80, 83)
#Función para calcular la media (para el bootstrap)
boot_media <- function(data, indices) {
  return(mean(data[indices]))  # Calcula la media de la muestra remuestreada
}
#Aplicar Bootstrap con 1000 repeticiones
set.seed(123) 
boot_result <- boot(data = ocupacion, statistic = boot_media, R = 1000)

#Mostrar resumen de resultados
print(boot_result)
## 
## ORDINARY NONPARAMETRIC BOOTSTRAP
## 
## 
## Call:
## boot(data = ocupacion, statistic = boot_media, R = 1000)
## 
## 
## Bootstrap Statistics :
##     original       bias    std. error
## t1* 83.58333 -0.009916667    1.467829
#Calcular Intervalo de Confianza del 95%
ic <- boot.ci(boot_result, type = "perc")
print(ic)
## BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
## Based on 1000 bootstrap replicates
## 
## CALL : 
## boot.ci(boot.out = boot_result, type = "perc")
## 
## Intervals : 
## Level     Percentile     
## 95%   (80.58, 86.42 )  
## Calculations and Intervals on Original Scale
hist(boot_result$t, main = "Distribución Bootstrap de la Ocupación Hotelera",
     xlab = "Ocupación Remuestreada (%)", col = "lightblue", border = "black")

¿Cómo cambia el intervalo si en vez de 1000 repeticiones hacemos 100,000?

# Si en vez de 1000 fueran 100,000
set.seed(123)
boot_100 <- boot(data = ocupacion, statistic = boot_media, R = 100000)

ic100 <- boot.ci(boot_100, type = "perc")
print(ic100)
## BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
## Based on 100000 bootstrap replicates
## 
## CALL : 
## boot.ci(boot.out = boot_100, type = "perc")
## 
## Intervals : 
## Level     Percentile     
## 95%   (80.92, 86.25 )  
## Calculations and Intervals on Original Scale

El dueño del hotel se dio cuenta de que la ocupación hotelera para el mes de diciembre no fue de 83%, si no de 73%, ¿Cómo cambian los resultados (volver a hacer el ejercicio)?

#Datos originales
ocupacion2 <- c(78, 82, 75, 80, 85, 88, 92, 90, 86, 84, 80, 73)

#Función para calcular la media (para el bootstrap)
bootstrap_ocupacion <- function(data, indices) {
  return(mean(data[indices]))  # Calcula la media de la muestra remuestreada

}

#Aplicar Bootstrap con 1000 repeticiones
set.seed(123) 
boot73 <- boot(data = ocupacion2, statistic = bootstrap_ocupacion, R = 1000)

#Mostrar resumen de resultados
print(boot73)
## 
## ORDINARY NONPARAMETRIC BOOTSTRAP
## 
## 
## Call:
## boot(data = ocupacion2, statistic = bootstrap_ocupacion, R = 1000)
## 
## 
## Bootstrap Statistics :
##     original     bias    std. error
## t1*    82.75 0.02758333    1.697384
#Calcular Intervalo de Confianza del 95%
ic73 <- boot.ci(boot73, type = "perc")
print(ic73)
## BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
## Based on 1000 bootstrap replicates
## 
## CALL : 
## boot.ci(boot.out = boot73, type = "perc")
## 
## Intervals : 
## Level     Percentile     
## 95%   (79.42, 86.08 )  
## Calculations and Intervals on Original Scale
hist(boot73$t, main = "Distribución Bootstrap de la Ocupación Hotelera con 73% Dic",
     xlab = "Ocupación Remuestreada (%)", col = "lightblue", border = "black")