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)
<- c(0.143, 0.182, 0.256, 0.26, 0.27, 0.437, 0.509,
muestra 0.611, 0.712, 1.04, 1.09, 1.15, 1.46, 1.88, 2.08)
<- length(muestra)
n <- 0.05
alfa <- mean(muestra)
x_barra
# Remuestreo
set.seed(1)
<- 1000
B <- numeric(n)
remuestra <- numeric(B)
x_barra_boot <- numeric(B)
estadistico_boot for (k in 1:B) {
<- sample(muestra, n, replace = TRUE)
remuestra <- mean(remuestra)
x_barra_boot[k] <- sqrt(n) * (x_barra_boot[k] - x_barra)
estadistico_boot[k]
}
# Aproximación bootstrap de los ptos críticos
<- quantile(estadistico_boot, c(alfa/2, 1 - alfa/2))
pto_crit
# Construcción del IC
<- x_barra - pto_crit[2]/sqrt(n)
ic_inf_boot <- x_barra - pto_crit[1]/sqrt(n)
ic_sup_boot <- c(ic_inf_boot, ic_sup_boot)
IC_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:
<- quantile(x_barra_boot, c(alfa/2, 1 - alfa/2))
pto_crit <- 2*x_barra - pto_crit[2]
ic_inf_boot <- 2*x_barra - pto_crit[1]
ic_sup_boot <- c(ic_inf_boot, ic_sup_boot)
IC_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)
<- function(data, i) mean(data[i])
statistic
set.seed(1)
<- boot(muestra, statistic, R = 1000)
res.boot <- boot.ci(res.boot, type = "basic")
res 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
<- res$basic[4:5]
IC_boot 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
<- quantile(res.boot$t, c(alfa/2, 1 - alfa/2), type = 6)
IC_boot 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.