Cuando se extrae una muestra de una población que no es normal y se requiere estimar un intervalo de confianza se pueden utilizar los métodos de estimación bootstrap. Esta metodología supone que se puede reconstruir la población objeto de estudio mediante un muestreo con reemplazo de la muestra que se tiene.

Problema

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.

A partir de esta información se construirá el intervalo de confianza por dos métodos y se compararán los resultados.

Los datos que se disponen son:

## [1] 7.69 4.97 4.56 6.49 4.34 6.24 4.45

Método 1

## Para el método 1 el límite de confianza inferior es: 4.705321
## Para el método 1 el límite de confianza superior es: 6.461143

Método 2

## Para el método 2 el límite de confianza inferior es: 4.61012
## Para el método 2 el límite de confianza superior es: 6.365941

Ahora, para comparar los dos métodos de obtención de intervalo de confianza se compara junto al histograma de distribución de la muestra. En color naranja se encuentra el intervalo de confianza del método 1 y en azul el intervalo de confianza del método 2.

Para saber en qué método confiar, se obtiene la distribución de los datos que están dentro del intervalo de confianza para comparar visualmente ambos métodos, como sigue:

## [1] "es_ES.UTF-8"

Al comparar ambos métodos, ambos son muy parecidos. Confiaría en estas estimaciones, permitiendo aumentar la muestra de datos a partir de una población pequeña. Por ambos métodos se obtienen muestras de datos con una formación simetrica, aunque no normal.

## Muestra por bootstrap total
## p-valor de Shapiro-Wilk: 0.00096911 , es decir,  la distribución no es normal
## Muestra dentro del intervalo de confianza por método 1
## p-valor de Shapiro-Wilk: 1.597135e-07 , es decir,  la distribución no es normal
## Muestra dentro del intervalo de confianza por método 2
## p-valor de Shapiro-Wilk: 8.740587e-07 , es decir,  la distribución no es normal

Anexo

x <- c(7.69, 4.97, 4.56, 6.49, 4.34, 6.24, 4.45)
print(x)

repeticiones <- 1000
mat <-  as.data.frame(matrix(ncol = length(x), nrow=repeticiones))
for (i in 1:length(x)){
  n <- sample(x, 1000, replace = TRUE)
  mat[i] <- n
}

mx=apply(mat,1,mean)

ic1=quantile(mx, probs=c(0.025, 0.975)) # se calcula IC método 1
cat("Para el método 1 el límite de confianza inferior es:", ic1[[1]], "\n")
cat("Para el método 1 el límite de confianza superior es:", ic1[[2]], "\n")

ic2=c(2*mean(mx)-ic1[2], 2*mean(mx)-ic1[1]) # se calcula IC método 2
cat("Para el método 2 el límite de confianza inferior es:", ic2[[1]], "\n")
cat("Para el método 2 el límite de confianza superior es:", ic2[[2]], "\n")

hist(mx, las=1, main=" ", ylab = " ", xlab = " ", col="#034A94")
abline(v=ic1, col="#FF7F00",lwd=2)
abline(v=ic2, col="#0EB0C6",lwd=2)

mx1 <- mx[mx >= ic1[[1]] & mx <= ic1[[2]]]
mx2 <- mx[mx >= ic2[[1]] & mx <= ic2[[2]]]

# Establecer el diseño del gráfico
par(mfrow = c(1, 2))  # Divide el espacio en 1 fila y 2 columnas
#Sys.setlocale("LC_CTYPE", "es_ES.UTF-8")
hist(mx1, main = "Método 1",col = "#FF7F00" , xlab ="")
hist(mx2, main = "Método 2",col = "#0EB0C6", xlab ="")

par(mfrow = c(1, 1))

shapiro_test <- shapiro.test(mx)
 
mensaje <- ifelse(shapiro_test$p.value > 0.05, "la distribución es normal", "la distribución no es normal")
# Imprimir resultados de la prueba de Shapiro-Wilk
cat("Muestra por bootstrap total", "\n")
cat("p-valor de Shapiro-Wilk:", shapiro_test$p.value, ", es decir, ", mensaje ,"\n\n")