En este informe, abordaremos la metodología bootstrap para estimar el intervalo de confianza del 95% de la media de una población. Esta técnica es útil cuando los datos no siguen una distribución normal o cuando no se dispone de información suficiente sobre la distribución poblacional. Utilizaremos los datos de eficiencia de combustible (medida en millas por galón) de siete camiones, los cuales se resamplearán para construir intervalos de confianza utilizando dos métodos distintos.
Se tienen las siguientes mediciones de eficiencia de combustible (millas por galón) de una muestra de siete camiones:
7.69,4.97,4.56,6.49,4.34,6.24,4.45
El objetivo es estimar un intervalo de confianza del 95% para la media de eficiencia de combustible utilizando el método bootstrap.
El método bootstrap implica generar múltiples muestras de los datos originales, extrayendo con reemplazo. En este caso, generaremos 1000 muestras bootstrap, y para cada una de estas, calcularemos la media. Posteriormente, a partir de las distribuciones de medias bootstrap, construiremos dos intervalos de confianza distintos.
Generar Muestras Bootstrap: Se toman muestras aleatorias con reemplazo de los datos originales, repitiendo el proceso 1000 veces.
Cálculo del Intervalo de Confianza:
Método 1: Los percentiles 2.5% y 97.5% de las medias bootstrap formarán el intervalo de confianza.
Método 2: A partir de la media muestral de los datos originales, se calcula el intervalo como (2X- P97,5, 2X - P2,5), donde X es la medida de los datos originales y P97,5 y P2,5 son los percentiles de las medidas Boostrap.
# Datos originales
datos <- c(7.69, 4.97, 4.56, 6.49, 4.34, 6.24, 4.45)
# Media muestral original
media_original <- mean(datos)
# Número de muestras bootstrap
set.seed(123)
n <- 1000
bootstrap_means <- replicate(n, mean(sample(datos, replace = TRUE)))
# Método 1: Percentiles 2.5 y 97.5
percentiles <- quantile(bootstrap_means, probs = c(0.025, 0.975))
ic_metodo_1 <- c(percentiles[1], percentiles[2])
# Método 2: Cálculo del intervalo usando la fórmula
ic_metodo_2 <- c(2*media_original - percentiles[2], 2*media_original - percentiles[1])
# Mostrar los resultados
ic_metodo_1
## 2.5% 97.5%
## 4.748393 6.508643
ic_metodo_2
## 97.5% 2.5%
## 4.559929 6.320179
Resultados ## Método 1 (Percentiles 2.5% y 97.5%):
El intervalo de confianza obtenido es:
ic_metodo_1
## 2.5% 97.5%
## 4.748393 6.508643
El intervalo de confianza obtenido es:
ic_metodo_2
## 97.5% 2.5%
## 4.559929 6.320179
# Graficar el histograma de las medias bootstrap
library(ggplot2)
# Crear un data frame para las medias bootstrap
bootstrap_data <- data.frame(bootstrap_means)
# Histograma con los intervalos de confianza
ggplot(bootstrap_data, aes(x = bootstrap_means)) +
geom_histogram(binwidth = 0.1, fill = "skyblue", color = "black") +
geom_vline(xintercept = ic_metodo_1[1], color = "red", linetype = "dashed", linewidth = 1) +
geom_vline(xintercept = ic_metodo_1[2], color = "red", linetype = "dashed", linewidth = 1) +
geom_vline(xintercept = ic_metodo_2[1], color = "blue", linetype = "dotted", linewidth = 1) +
geom_vline(xintercept = ic_metodo_2[2], color = "blue", linetype = "dotted", linewidth = 1) +
annotate("text", x = ic_metodo_1[1], y = 10, label = "P2.5", color = "red", vjust = -1) +
annotate("text", x = ic_metodo_1[2], y = 10, label = "P97.5", color = "red", vjust = -1) +
annotate("text", x = ic_metodo_2[1], y = 15, label = "Método 2 - Lower", color = "blue", vjust = -1) +
annotate("text", x = ic_metodo_2[2], y = 15, label = "Método 2 - Upper", color = "blue", vjust = -1) +
labs(title = "Distribución de las medias bootstrap",
x = "Medias bootstrap",
y = "Frecuencia") +
theme_minimal()
Histograma: Representa la distribución de las 1000 medias bootstrap obtenidas a partir de las muestras con reemplazo. Esto nos da una idea de la variabilidad de las medias.
Líneas verticales:
Las líneas rojas punteadas representan los límites del intervalo de confianza obtenidos con el Método 1 (percentiles 2.5% y 97.5%). Las líneas azules punteadas representan los límites del intervalo de confianza obtenidos con el Método 2, calculado con la fórmula que depende de la media original y los percentiles bootstrap.