library(boot)
#Datos del hotel
demanda <- c(78,82,75,80,85,88,92,90,86,84,80,83)
#Función para calcular la media (para el bootstrap)
bootstrap_media <- function(data, indices) {
return(mean(data[indices])) # Calcula la media de la muestra remuestreada
}
#Aplicar Bootstrap con 1000 repeticiones
set.seed(616) # Fijamos seed para reproducibilidad
bootstrap_result <- boot(data = demanda, statistic = bootstrap_media, R = 1000)
#Mostrar resumen de resultados
print(bootstrap_result)
##
## ORDINARY NONPARAMETRIC BOOTSTRAP
##
##
## Call:
## boot(data = demanda, statistic = bootstrap_media, R = 1000)
##
##
## Bootstrap Statistics :
## original bias std. error
## t1* 83.58333 0.07033333 1.358444
#Calcular Intervalo de Confianza del 95%
intervalo_confianza <- boot.ci(bootstrap_result, type = "perc")
print(intervalo_confianza)
## BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
## Based on 1000 bootstrap replicates
##
## CALL :
## boot.ci(boot.out = bootstrap_result, type = "perc")
##
## Intervals :
## Level Percentile
## 95% (81.00, 86.42 )
## Calculations and Intervals on Original Scale
El rango que nos dice el bootstrapp con 1000 repeticiones es entre 81% y 86.42% de ocupacion y la media es de 83%
#Datos del hotel
demanda1 <- c(78,82,75,80,85,88,92,90,86,84,80,83)
#Función para calcular la media (para el bootstrap)
bootstrap_media1 <- function(data, indices) {
return(mean(data[indices])) # Calcula la media de la muestra remuestreada
}
#Aplicar Bootstrap con 100000 repeticiones
set.seed(616) # Fijamos seed para reproducibilidad
bootstrap_result1 <- boot(data = demanda1, statistic = bootstrap_media1, R = 100000)
#Mostrar resumen de resultados
print(bootstrap_result1)
##
## ORDINARY NONPARAMETRIC BOOTSTRAP
##
##
## Call:
## boot(data = demanda1, statistic = bootstrap_media1, R = 1e+05)
##
##
## Bootstrap Statistics :
## original bias std. error
## t1* 83.58333 -0.003584167 1.374485
#Calcular Intervalo de Confianza del 95%
intervalo_confianza1 <- boot.ci(bootstrap_result1, type = "perc")
print(intervalo_confianza1)
## BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
## Based on 100000 bootstrap replicates
##
## CALL :
## boot.ci(boot.out = bootstrap_result1, type = "perc")
##
## Intervals :
## Level Percentile
## 95% (80.92, 86.25 )
## Calculations and Intervals on Original Scale
Si hacemos 100000 repeticiones el intervalo cambia a entre 80.92% y 86.25% por lo que no cambia significativamente
#Datos del hotel
demanda3 <- c(78,82,75,80,85,88,92,90,86,84,80,73)
#Función para calcular la media (para el bootstrap)
bootstrap_media3 <- function(data, indices) {
return(mean(data[indices])) # Calcula la media de la muestra remuestreada
}
#Aplicar Bootstrap con 1000 repeticiones
set.seed(616) # Fijamos seed para reproducibilidad
bootstrap_result3 <- boot(data = demanda3, statistic = bootstrap_media3, R = 1000)
#Mostrar resumen de resultados
print(bootstrap_result3)
##
## ORDINARY NONPARAMETRIC BOOTSTRAP
##
##
## Call:
## boot(data = demanda3, statistic = bootstrap_media3, R = 1000)
##
##
## Bootstrap Statistics :
## original bias std. error
## t1* 82.75 0.0545 1.605597
#Calcular Intervalo de Confianza del 95%
intervalo_confianza3 <- boot.ci(bootstrap_result3, type = "perc")
print(intervalo_confianza3)
## BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
## Based on 1000 bootstrap replicates
##
## CALL :
## boot.ci(boot.out = bootstrap_result3, type = "perc")
##
## Intervals :
## Level Percentile
## 95% (79.67, 86.00 )
## Calculations and Intervals on Original Scale
Con demanda de 73% en diciembre y 1000 repeticiones, la media es de 82.75 y los rangos son de 79.67% y 86%, cambia el inicial mas el final no.
#Datos del hotel
demanda4 <- c(78,82,75,80,85,88,92,90,86,84,80,73)
#Función para calcular la media (para el bootstrap)
bootstrap_media4 <- function(data, indices) {
return(mean(data[indices])) # Calcula la media de la muestra remuestreada
}
#Aplicar Bootstrap con 1000 repeticiones
set.seed(616) # Fijamos seed para reproducibilidad
bootstrap_result4 <- boot(data = demanda4, statistic = bootstrap_media4, R = 100000)
#Mostrar resumen de resultados
print(bootstrap_result4)
##
## ORDINARY NONPARAMETRIC BOOTSTRAP
##
##
## Call:
## boot(data = demanda4, statistic = bootstrap_media4, R = 1e+05)
##
##
## Bootstrap Statistics :
## original bias std. error
## t1* 82.75 -0.0033175 1.610442
#Calcular Intervalo de Confianza del 95%
intervalo_confianza4 <- boot.ci(bootstrap_result4, type = "perc")
print(intervalo_confianza4)
## BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
## Based on 100000 bootstrap replicates
##
## CALL :
## boot.ci(boot.out = bootstrap_result4, type = "perc")
##
## Intervals :
## Level Percentile
## 95% (79.58, 85.92 )
## Calculations and Intervals on Original Scale
Con 73% de demanda en diciembre y 100000 repeticiones, los intervalos cambian levemente con 79.58% de minimo y 85.92% maximo al igual cambia levemente.
Si un hotel relativamente nuevo tiene una ocupacion debajo del 80% y esta tratando de evitar perdidas economicas, hay multiples pasos que podrian tomar para reducir el impacto. * Crear paquetes de promocion para incentivar a los consumidores, a si mismo pueden aliarse con paginas de reservacion como booking.com para lanzar promociones. * Investigar que eventos/fiestas hay por la zona para crear una experiencia de no solo ir al hotel pero ir al hotel porque habra un evento en la ciudad * Reducir personal para cumplir con la demanada requerida, si el hotel no llega a 80% de demanda, el personal que esta encargado de cubrir lo que falta de demanda no es necesario ya que estan de extras (no es la mejor opcion ya que le quitas trabajo a gente) * Buscar crear o predecir cuanta demanda realmente van a tener para reducir los gastos en cosas como comida, energia, personal, limpieza satisfaciendo la demanda, se podria hacer con apoyo de analistas (que sean practicantes asi les dan menos dinero)