Estimación boostrap

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.

El intervalo de confianza queda conformado por los percentiles \(P_{2.5}\) y \(P_{97.5}\). Existen dos métodos para estimarlo:

Desarrollo intervalos:

Inicialmente sacamos las 7 muestras, 1000 veces usando un muestreo aleatorio con sustitución de la población de los siguientes registros: 7.69, 4.97, 4.56, 6.49, 4.34, 6.24 y 4.45 que corresponden a la eficiencia en combustible en millas/galón de una muestra de siete camiones. A cada uno de estos 1000 grupos de 7 camiones le calculamos el promedio, a continuación, visualizamos un ejemplo de 100 de estos promedios:

set.seed(100)

x=c( 7.69, 4.97, 4.56, 6.49, 4.34, 6.24, 4.45) # datos muestra

boot=sample(x,7000,replace=TRUE)   # se extraen n x m muestras

b=matrix(boot,nrow=1000,ncol=7)    # se construye matriz de n x m 

Medias=apply(b,1,mean)  

head(Medias,100)
##   [1] 5.874286 5.720000 5.082857 5.737143 5.684286 5.200000 5.945714 5.592857
##   [9] 5.534286 5.540000 5.631429 5.735714 5.644286 6.252857 6.091429 5.534286
##  [17] 5.922857 5.278571 5.460000 5.815714 5.030000 5.575714 5.802857 5.685714
##  [25] 6.434286 5.757143 5.482857 5.695714 5.362857 5.071429 6.107143 6.692857
##  [33] 5.902857 4.827143 4.614286 6.058571 5.444286 5.857143 6.028571 6.194286
##  [41] 5.327143 5.152857 5.754286 5.774286 5.492857 5.585714 5.764286 5.507143
##  [49] 5.971429 5.045714 5.591429 5.332857 5.651429 5.948571 6.418571 6.087143
##  [57] 5.408571 5.534286 5.731429 5.137143 6.188571 5.450000 5.465714 5.370000
##  [65] 6.281429 5.935714 5.082857 5.477143 5.327143 5.288571 5.835714 5.725714
##  [73] 5.482857 4.944286 5.290000 5.795714 6.511429 4.661429 5.602857 5.201429
##  [81] 4.780000 4.831429 5.262857 6.204286 6.117143 5.720000 4.434286 5.875714
##  [89] 5.428571 5.317143 5.220000 6.032857 5.538571 6.042857 5.615714 6.272857
##  [97] 5.991429 4.987143 5.825714 5.071429

Cálculo de los indicadores

Posteriormente, calculamos los intervalos de confianza definidos en los metodos mostrados anteriormente:

knitr::opts_chunk$set(echo = TRUE)
options(warn = -1)

# se calculan m medias por fila

ic1=quantile(Medias, probs=c(0.025, 0.975)) # se calcula IC método 1
# Cambiando los nombres
names(ic1) <- c("Limite Inferior Metodo 1", "Limite Superior Metodo 1")
ic1
## Limite Inferior Metodo 1 Limite Superior Metodo 1 
##                 4.732679                 6.470071
ic2=c(2*mean(Medias)-ic1[2], 2*mean(Medias)-ic1[1]) # se calcula IC método 2
names(ic2) <- c("Limite Inferior Metodo 2", "Limite Superior Metodo 2")
ic2
## Limite Inferior Metodo 2 Limite Superior Metodo 2 
##                 4.586040                 6.323433

Y mostramos gráficamente como es el comportamiento de estos 1000 promedios con sus respectivos intervalos de confianza:

histograma
## A marker object has been specified, but markers is not in the mode
## Adding markers to the mode...
## A marker object has been specified, but markers is not in the mode
## Adding markers to the mode...

Calculamos las longitudes de los dos intervalos de confianza para ver si habían diferencias:

# Longitudes de los intervalos

long1<-ic1[2]-ic1[1]
names(long1)<- "Longitud Metodo 1"
long1
## Longitud Metodo 1 
##          1.737393
long2<-ic2[2]-ic2[1]
names(long2)<- "Longitud Metodo 2"
long2
## Longitud Metodo 2 
##          1.737393

Se identifica que los dos tienen las mismas longitudes, respecto a esto no tienen diferencias significativas.

También calculamos cuantos de estos promedios caen dentro de los intervalos de confianza definidos:

conteoDentroIC1 <- sum(Medias >= ic1[1] & Medias<= ic1[2])/10
conteoDentroIC2 <- sum(Medias >= ic2[1] & Medias<= ic2[2])/10

cat("Porcentaje de promedios dentro del intervalo del método 1:", conteoDentroIC1)
## Porcentaje de promedios dentro del intervalo del método 1: 95
cat("Porcentaje de promedios dentro del intervalo del método 1:", conteoDentroIC2)
## Porcentaje de promedios dentro del intervalo del método 1: 94.6

Se identifica que para el método 1, al construirse a partir de los percentiles únicamente, el porcentaje de promedios que cae dentro de los intervalos corresponde al 95%, mientras que para el método 2 al tener una variación en su fórmula tiene un valor aproximado, pero inferior al 95% en muchos casos.

Conclusión final

Se observa que el intervalo de confianza obtenido mediante el Método 2 muestra un ajuste ligeramente inferior en comparación con el Método 1, sugiriendo una posible disminución en la eficiencia de los camiones. Esta diferencia indica que, con un nivel de confianza del 95%, es más probable que la media de la eficiencia de combustible se encuentre en un rango ligeramente más bajo según el Método 2.

Por otro lado, consideramos que las estimaciones de los intervalos de confianza son confiables ya que vamos a tener certeza de que los promedios de la eficiencia en combustible van a estar entre esos límites, sin embargo, se reconoce que la precisión de los intervalos de confianza podría mejorar con un tamaño de muestra más grande, de más de 7 camiones inicialmente. Con una muestra ampliada, las estimaciones de la media tenderían a ser más precisas, lo que posiblemente reduciría la amplitud de los intervalos de confianza y brindaría una mayor confianza en la ubicación de la verdadera media poblacional.