11.1 Estimación del sesgo y la precisión de un estimador

Como ya se comentó, una de las principales aplicaciones de los métodos bootstrap es la aproximación del sesgo y de la varianza de un estimador. Al igual que en capítulos anteriores, supongamos que \(\mathbf{X}=\left( X_1,\ldots ,X_n \right)\) es una m.a.s. de una población con distribución \(F\) y que tenemos interés en realizar inferencia sobre un parámetro de la población \(\theta =\theta \left( F \right)\) empleando un estimador \(\hat{\theta}=T\left( \mathbf{X} \right)\).

Podemos considerar el estadístico \[R=R\left( \mathbf{X}, F \right) = T\left( \mathbf{X} \right) - \theta \left( F \right) = \hat{\theta} - \theta,\] para aproximar características de la distribución del estimador, ya que: \[\begin{aligned} Sesgo\left( \hat{\theta} \right) &= E\left( \hat{\theta}-\theta \right) =E\left( R \right), \\ Var\left( \hat{\theta} \right) &= Var\left( \hat{\theta}-\theta \right) =Var\left( R \right), \\ MSE\left( \hat{\theta} \right) &= E\left[ \left( \hat{\theta}-\theta \right) ^2\right] =E\left( R^2 \right). \end{aligned}\] Para ello, como se mostró en capítulos anteriores, consideraríamos una aproximación \(\hat{F}\) de la distribución de probabilidad (por ejemplo, \(\hat{F}=F_n\) si se considera que el bootstrap uniforme es adecuado) y emplearíamos Monte Carlo para aproximar la correspondiente distribución bootstrap:

  1. Para cada \(i=1,\ldots ,n\) generar \(X_i^{\ast}\) a partir de \(\hat{F}\) y obtener \(\mathbf{X}^{\ast}=\left( X_1^{\ast}, \ldots ,X_n^{\ast} \right)\).

  2. Calcular \(R^{\ast}=R\left( \mathbf{X}^{\ast},\hat{F} \right) = T\left( \mathbf{X}^{\ast} \right) -\theta \left( \hat{F} \right) = \hat{\theta}^{\ast} - \hat{\theta}\).

  3. Repetir \(B\) veces los pasos 1-2 para obtener las réplicas bootstrap \(R^{\ast (1)}, \ldots, R^{\ast (B)}\).

  4. Utilizar las réplicas bootstrap para aproximar las características de interés de la distribución en el muestreo de \(R\).

    • Estimación bootstrap del sesgo: \[Sesgo^{\ast}\left( \hat{\theta}^{\ast} \right) =\bar{R}^{\ast}=\frac{1}{B}\sum_{b=1}^{B}R^{\ast (b)}.\]

    • Estimación bootstrap de la varianza: \[Var^{\ast}\left( \hat{\theta}^{\ast} \right) =\frac{1}{B} \sum_{b=1}^{B}\left( R^{\ast (b)}-\bar{R}^{\ast} \right)^2.\]

    • Estimación bootstrap del error cuadrático medio: \[MSE^{\ast}\left( \hat{\theta}^{\ast} \right) =\frac{1}{B}\sum_{b=1}^{B}R^{\ast (b) 2}.\]

Ejemplo 11.1 (media y media truncada)

Como ejemplo consideramos la aproximación del sesgo y de la varianza de la media y la media truncada al 10% como estimadores de la media teórica del tiempo de vida de microorganismos mediante bootstrap uniforme (ver Ejercicio 9.2).

library(boot)
muestra <- simres::lifetimes

statistic <- function(data, i){
  remuestra <- data[i]
  c(mean(remuestra), mean(remuestra, trim = 0.1))
}

set.seed(1)
res.boot <- boot(muestra, statistic, R = 1000)
res.boot
## 
## ORDINARY NONPARAMETRIC BOOTSTRAP
## 
## 
## Call:
## boot(data = muestra, statistic = statistic, R = 1000)
## 
## 
## Bootstrap Statistics :
##      original      bias    std. error
## t1* 0.8053333 0.003173267   0.1583306
## t2* 0.7582308 0.011902692   0.1739443

Lamentablemente la función print.boot() calcula las aproximaciones bootstrap del sesgo y de la precisión pero no las almacena. En el caso más simple podríamos obtenerlas con el siguiente código:

op <- with(res.boot, cbind(
  t0, apply(t, 2, mean, na.rm = TRUE) -  t0,
  apply(t, 2, sd, na.rm = TRUE)
  ))
rownames(op) <- paste0("t", 1:ncol(res.boot$t), "*")
colnames(op) <- c("original", "bias  ", " std. error")
op
##      original      bias    std. error
## t1* 0.8053333 0.003173267   0.1583306
## t2* 0.7582308 0.011902692   0.1739443

Ejercicio 11.1

Como continuación del ejemplo mostrado en la Sección 9.3.3, emplear el paquete boot para aproximar el sesgo y la precisión del coeficiente de correlación lineal \(r\) entre prestige e income del conjunto de datos Prestige mediante bootstrap uniforme multidimensional. Comparar los resultados con los obtenidos mediante la aproximación asintótica normal, que como se indicó en el Ejercicio 9.1, consideraría que el sesgo es nulo y como estimación de su varianza: \[\widehat{Var}(r) = \frac{1 - r^2}{n - 2}.\]


Como también se comentó en la introducción del Capítulo 9, se pueden emplear otros tipos de remuestreo para la aproximación del sesgo y varianza de un estimador. El más conocido es el jackknife, que es uno de los métodos de remuestreo más antiguos (propuesto inicialmente por Quenouille, 1949). De hecho el bootstrap surgió (Efron, 1979) como una alternativa a este tipo de remuestreo. En el jackknife se consideran las \(n\) remuestras obtenidas al ir eliminando cada una de las observaciones: \[\mathbf{X}^{\ast}= \mathbf{X}_{(i)}=\left( X_1,\ldots ,X_{i-1},X_{i+1},\ldots ,X_n \right) \text{, } i=1,\ldots ,n.\] Para cada una de estas remuestras se obtienen las correspondientes réplicas del estadístico \[\hat \theta_{(i)} = T \left( \mathbf{X}_{(i)} \right) \text{, } i=1,\ldots ,n.\] A partir de las cuales se aproxima el sesgo y la varianza, considerando un factor de elevación \(n-1\) para que sean insesgadas: \[\begin{aligned} Sesgo_{jackk}^{\ast}\left( \hat{\theta}^{\ast} \right) &= \left( n-1 \right)\left( \overline{\theta_{(\cdot)}}-\hat{\theta} \right) = \frac{n-1}{n}\sum_{i=1}^{n}\left( \hat \theta_{(i)} - \hat{\theta} \right), \\ Var_{jackk}^{\ast}\left( \hat{\theta}^{\ast} \right) &= \frac{n-1}{n} \sum_{i=1}^{n}\left[ \hat \theta_{(i)} - \overline{\theta_{(\cdot)}}\right]^2, \end{aligned}\] donde \(\overline{\theta_{(\cdot)}} = \frac{1}{n}\sum_{j=1}^{n}\hat \theta_{(j)}\). Para más detalles, ver Sección 2.2 de Cao y Fernández-Casal (2021).