Planteamiento

El artículo de In-use Emissions from Heavy Duty Dissel Vehicles (J.Yanowitz, 2001) presenta las mediciones de eficiencia de combustible en millas/galón de una muestra de siete camiones. Los datos obtenidos son los siguientes: 7.69, 4.97, 4.56, 6.49, 4.34, 6.24 y 4.45. Se supone que es una muestra aleatoria de camiones y que se desea construir un intervalo de confianza del 95 % para la media de la eficiencia de combustible de esta población. No se tiene información de la distribución de los datos. El método bootstrap permite construir intervalos de confianza del 95 % - Para ilustrar el método suponga que coloca los valores de la muestra en una caja y extrae uno al azar. Este correspondería al primer valor de la muestra bootstrap X∗1. Después de anotado el valor se regresa X∗1 a la caja y se extrae el valor X∗2, regresandolo nuevamente. Este procedimiento se repite hasta completar una muestra de tamaño n, X∗1,X∗2,X∗2,X∗n, conformando la muestra bootstrap.

Es necesario extraer un gran número de muestras (suponga k = 1000). Para cada una de las muestra bootstrap obtenidas se calcula la media X∗i, obteniéndose un valor para cada muestra. El intervalo de confianza queda conformado por los percentiles P2.5 y P97.5 . Existen dos métodos para estimarlo:

Método 1 (P2.5;P97.5) Método 2 (2X¯−P97.5;2X¯−P2.5)

Construya el intervalo de confianza por los dos métodos y compare los resultados obtenidos. Comente los resultados. Confiaría en estas estimaciones?

Método 1 (P2.5 - P97.5)

# Definir los datos
X <- c(7.69, 4.97, 4.56, 6.49, 4.34, 6.24, 4.45)

# Función para el método bootstrap
bootstrap <- function(data, k) {
  n <- length(data)
  boot_samples <- matrix(data[sample(1:n, replace = TRUE, size = n*k)], nrow = k)
  return(boot_samples)
}

# Realizar bootstrap 
set.seed(123)  
bootstrap_samples <- replicate(1000, mean(sample(X, replace = TRUE)))

# Calcular los percentiles P2.5 y P97.5 de las medias de las muestras de bootstrap
lower <- quantile(bootstrap_samples, probs = 0.025)
upper <- quantile(bootstrap_samples, probs = 0.975)

# Intervalo de confianza
CI_M1 <- c(lower, upper)
CI_M1
##     2.5%    97.5% 
## 4.748393 6.508643

Método 2 (2X−P97.5 - 2X−P2.5)

# Definir los datos
X <- c(7.69, 4.97, 4.56, 6.49, 4.34, 6.24, 4.45)

# Realizar bootstrap y obtener las medias de las muestras de bootstrap
set.seed(123)  # Para reproducibilidad
bootstrap_samples <- replicate(1000, mean(sample(X, replace = TRUE)))

# Calcular los percentiles P2.5 y P97.5 de las medias de las muestras de bootstrap
lower <- quantile(bootstrap_samples, probs = 0.025)
upper <- quantile(bootstrap_samples, probs = 0.975)

# Calcular Lower y Upper
media <- mean(X)
Lower <- 2 * media - upper
Upper <- 2 * media - lower

# Intervalo de confianza
CI_M2 <- c(Lower, Upper)
CI_M2
##    97.5%     2.5% 
## 4.559929 6.320179
IC<-data.frame(CI_M1,CI_M2)
IC
hist(bootstrap_samples, las=1, main=" ", ylab = " ", xlab = " ", col="#034A94")
abline(v=CI_M1, col="#FF7F00",lwd=2)
abline(v=CI_M2, col="#0EB0C6",lwd=2)

Los intervalos estimados con los dos métodos son similares, el resultado del Método 2 tiene menor distancia que el primero