4.2 Método percentil (básico)

Este método se basa en la construcción del intervalo de confianza, mediante bootstrap, a partir del estadístico no estandarizado \[R_2=\sqrt{n}\left( \hat{\theta}-\theta \right).\] Una vez realizado el correspondiente remuestreo (uniforme, suavizado, simetrizado, …), a partir de cierto estimador, \(\hat{F}\,\), de la distribución poblacional, \(F\), la distribución en el muestreo de \(R_2\) se aproxima mediante la distribución bootstrap de \[R_2^{\ast}=\sqrt{n}\left( \hat{\theta}^{\ast}-\theta \left( \hat{F} \right) \right).\] Así se obtienen valores \(x_{\alpha /2}\) y \(x_{1-\alpha /2}\), siendo \(x_{\beta }\), tal que \(P^{\ast}\left( R_2^{\ast }\leq x_{\beta } \right) =\beta\), y a partir de ellos sabemos que \[\begin{aligned} 1-\alpha &= 1-\frac{\alpha }{2}-\frac{\alpha }{2}=P^{\ast}\left( R_2^{\ast}<x_{1-\alpha /2} \right) -P^{\ast}\left( R_2^{\ast}\leq x_{\alpha /2} \right) \\ &= P^{\ast}\left( x_{\alpha /2}<R_2^{\ast}<x_{1-\alpha /2} \right), \end{aligned}\] con lo cual decimos que también ha de ser aproximadamente igual a \(1-\alpha\) la siguiente probabilidad\[\begin{aligned} P\left( x_{\alpha /2}<R_2<x_{1-\alpha /2} \right) &= P\left( x_{\alpha /2}< \sqrt{n}\left( \hat{\theta}-\theta \right) <x_{1-\alpha /2} \right) \\ &= P\left( \hat{\theta}-\frac{x_{1-\alpha /2}}{\sqrt{n}}<\theta <\hat{\theta} -\frac{x_{\alpha /2}}{\sqrt{n}} \right).\end{aligned}\] Ello da pie a definir el intervalo de confianza bootstrap calculado por el método percentil como \[\hat{I}_1=\left( \hat{\theta}-\frac{x_{1-\alpha /2}}{\sqrt{n}},\hat{\theta} -\frac{x_{\alpha /2}}{\sqrt{n}} \right).\]

Para estudiar el error de cobertura de este intervalo de confianza conviene ver antes qué grado de aproximación existe entre la distribución en el muestreo de \(R_2\) y la distribución bootstrap de \(R_2^{\ast}\). A partir del Teorema de Bhattacharya-Ghosh se tiene\[\begin{aligned} P\left( R_2\leq v \right) &= P\left( \sqrt{n}\left( \hat{\theta}-\theta \right) \leq v \right) =P\left( \sqrt{n}\frac{\hat{\theta}-\theta }{\sigma _{\theta }}\leq \frac{v}{\sigma _{\theta }} \right) \\ &= \Phi \left( \frac{v}{\sigma _{\theta }} \right) +O\left( n^{-\frac{1}{2} } \right) \\ P^{\ast}\left( R_2^{\ast}\leq v \right) &= P^{\ast}\left( \sqrt{n}\left( \hat{\theta}^{\ast}-\theta \left( \hat{F} \right) \right) \leq v \right) \\ &= P^{\ast}\left( \sqrt{n}\frac{\hat{\theta}^{\ast}-\theta \left( \hat{F} \right)}{\sigma _{\hat{\theta}}}\leq \frac{v}{\sigma _{\hat{\theta}}} \right) =\Phi \left( \frac{v}{\sigma _{\hat{\theta}}} \right) +O_{P}\left( n^{- \frac{1}{2}} \right). \end{aligned}\]

Como consecuencia \[P^{\ast}\left( R_2^{\ast}\leq v \right) -P\left( R_2\leq v \right) =\Phi \left( \frac{v}{\sigma _{\hat{\theta}}} \right) -\Phi \left( \frac{v}{\sigma _{\theta }} \right) +O_{P}\left( n^{-\frac{1}{2}} \right) =O_{P}\left( n^{- \frac{1}{2}} \right),\] ya que, típicamente, \(\sigma _{\hat{\theta}}-\sigma _{\theta} = O_{P}\left( n^{-\frac{1}{2}} \right)\). En resumen, la distribución en el muestreo de \(R_2\) y la distribución bootstrap de \(R_2^{\ast}\) se aproximan, una a la otra, a la velocidad \(O_{P}\left( n^{-\frac{1}{2} } \right)\), cuando \(n\rightarrow \infty\).

El error de cobertura del intervalo de confianza bilateral calculado mediante bootstrap por el método percentil es \[\begin{aligned} P\left( \theta \in \hat{I}_1 \right) -\left( 1-\alpha \right) =&\ P\left( R_2<x_{1-\alpha /2} \right) -P\left( R_2\leq x_{\alpha /2} \right) \\ &-\left[ P^{\ast}\left( R_2^{\ast}<x_{1-\alpha /2} \right) -P^{\ast }\left( R_2^{\ast}\leq x_{\alpha /2} \right) \right] \\ =&\ P\left( R_2<x_{1-\alpha /2} \right) -P^{\ast}\left( R_2^{\ast }<x_{1-\alpha /2} \right) \\ &-\left[ P\left( R_2\leq x_{\alpha /2} \right) -P^{\ast}\left( R_2^{\ast}\leq x_{\alpha /2} \right) \right] \\ =&\ O_{P}\left( n^{-\frac{1}{2}} \right) \end{aligned}\]

De esta forma el error de cobertura para los intervalos de confianza bilaterales bootstrap obtenidos mediante el método percentil es \(O\left( n^{-\frac{1}{2}} \right)\). Puede deducirse que ese es también el orden para los intervalos unilaterales obtenidos por este método. Así pues el orden del error de cobertura para el método percentil cuando se construyen intervalos de confianza unilaterales coincide con el de los construidos usando la normal asintótica pero el orden del error de cobertura de los intervalos bilaterales bootstrap constuidos por el método percentil es peor que el de los basados en la normal asintótica, que es del orden \(O\left( n^{-1} \right)\).

Ejemplo 4.1 (Inferencia sobre la media con varianza desconocida, continuación)

Continuando con el ejemplo de los tiempos de vida de microorganismos (sin asumir varianza conocida), supongamos que queremos obtener una estimación por intervalo de confianza de su vida media empleando este método. El código necesario sería muy similar al del Ejemplo 1.5:
muestra <- c(0.143, 0.182, 0.256, 0.26, 0.27, 0.437, 0.509, 
             0.611, 0.712, 1.04, 1.09, 1.15, 1.46, 1.88, 2.08)
n <- length(muestra)
alfa <- 0.05
x_barra <- mean(muestra)

# Remuestreo
set.seed(1)
B <- 1000
remuestra <- numeric(n)
x_barra_boot <- numeric(B) 
estadistico_boot <- numeric(B)
for (k in 1:B) {
  remuestra <- sample(muestra, n, replace = TRUE)
  x_barra_boot[k] <- mean(remuestra)
  estadistico_boot[k] <- sqrt(n) * (x_barra_boot[k] - x_barra)
}

# Aproximación bootstrap de los ptos críticos
pto_crit <- quantile(estadistico_boot, c(alfa/2, 1 - alfa/2))

# Construcción del IC
ic_inf_boot <- x_barra - pto_crit[2]/sqrt(n)
ic_sup_boot <- x_barra - pto_crit[1]/sqrt(n)
IC_boot <- c(ic_inf_boot, ic_sup_boot)
names(IC_boot) <- paste0(100*c(alfa/2, 1-alfa/2), "%")
IC_boot
##      2.5%     97.5% 
## 0.4837233 1.1025650

Aunque en este caso también podemos obtener el intervalo a partir de las réplicas bootstrap del estimador:

pto_crit <- quantile(x_barra_boot, c(alfa/2, 1 - alfa/2))
ic_inf_boot <- 2*x_barra - pto_crit[2]
ic_sup_boot <- 2*x_barra - pto_crit[1]
IC_boot <- c(ic_inf_boot, ic_sup_boot)
names(IC_boot) <- paste0(100*c(alfa/2, 1-alfa/2), "%")
IC_boot
##      2.5%     97.5% 
## 0.4837233 1.1025650

Esta forma de proceder es la que emplea el paquete boot para obtener el que denomina intervalo de confianza bootstrap básico (estableciendo type="basic" en la llamada a la función boot.ci()):

library(boot)
statistic <- function(data, i) mean(data[i])

set.seed(1)
res.boot <- boot(muestra, statistic, R = 1000)
res <- boot.ci(res.boot, type = "basic")
res
## BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
## Based on 1000 bootstrap replicates
## 
## CALL : 
## boot.ci(boot.out = res.boot, type = "basic")
## 
## Intervals : 
## Level      Basic         
## 95%   ( 0.4825,  1.0980 )  
## Calculations and Intervals on Original Scale
IC_boot <- res$basic[4:5]
IC_boot
## [1] 0.4824717 1.0980120

Además del paquete boot, otros autores también denominan a este método bootstrap básico (bootstrap percentil básico o incluso bootstrap natural), y utilizan la terminología bootstrap percentil cuando se emplea directamente el estimador como estadístico (\(R = \hat \theta\)) para realizar inferencia. Con el paquete boot habrá que establecer type="perc" en la llamada a la función boot.ci() para obtener el intervalo correspondiente:

boot.ci(res.boot, type = "perc")
## BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
## Based on 1000 bootstrap replicates
## 
## CALL : 
## boot.ci(boot.out = res.boot, type = "perc")
## 
## Intervals : 
## Level     Percentile     
## 95%   ( 0.5127,  1.1282 )  
## Calculations and Intervals on Original Scale

En este método se emplean directamente los cuantiles de las réplicas bootstrap del estadístico:

# IC_boot <-  quantile(res.boot$t, c(alfa/2, 1 - alfa/2)) # type = 7
IC_boot <-  quantile(res.boot$t, c(alfa/2, 1 - alfa/2), type = 6)
IC_boot 
##      2.5%     97.5% 
## 0.5126517 1.1281950

Asintóticamente ambos métodos son equivalentes, aunque en general es preferible (evita sesgos) el bootstrap percentil básico.