2.4 Relación Bootstrap/Jackknife en dicha estimación

Consideremos un parámetro de interés \(\theta \left( F \right)\) y su correspondiente estimador que supondremos funcional, \(\theta \left( F_n \right)\). En realidad, cuando calculamos cantidades como \(\theta \left( \mathbf{X}_{(i)} \right)\), lo que estamos haciendo es evaluar el funcional \(\theta\) en otra función de distribución\[F_{n,(i)}\left( x \right) =\frac{1}{n-1}\sum_{j=1,j\neq i}^{n} \mathbf{1}\left( X_j\leq x \right).\]Dicho en terminología de vectores de remuestreo, el estimador habitual consiste en evaluar \(\theta\) en el vector \(\mathbf{p}=\left( \frac{1}{n},\ldots ,\frac{1}{n} \right)\), \(\theta \left( \mathbf{p} \right)\), mientras que el estimador construido con toda la muestra excepto el dato \(i\)-ésimo es la evaluación \(\theta \left( \mathbf{p}_{(i)} \right)\), siendo \[\mathbf{p}_{(i)}=\left( \frac{1}{n-1},\ldots ,\frac{1}{n-1}, \underset{(i)}{0},\frac{1}{n-1},\ldots ,\frac{1}{n-1} \right).\]

En lo que sigue, consideraremos funcionales \(\theta\) que definen estimadores lineales o cuadráticos en los vectores de remuestreo:

  • Estimadores lineales: \[\theta \left( \mathbf{p} \right) = a+\mathbf{b}^{T} \mathbf{p}\]

  • Estimadores cuadráticos: \[\theta \left( \mathbf{p} \right) = a+\mathbf{b}^{T} \mathbf{p}+\mathbf{p}^{T}C\mathbf{p}\]

Una forma alternativa de definir estos estimadores es

  • Estimadores lineales: \[\theta \left( \mathbf{p} \right) = \mathbf{b}^{T} \left( \mathbf{p}-\mathbf{p}_{0} \right) \]

  • Estimadores cuadráticos: \[\theta \left( \mathbf{p} \right) = \left( \mathbf{p}-\mathbf{p}_{0} \right)^{T} C\left( \mathbf{p}-\mathbf{p}_{0} \right)\]

Por ejemplo, puede demostrarse fácilmente que la media, \(\bar{X}\), es un estimador lineal en el vector de remuestreo y que la varianza muestral, \(S_n^2\), es un estimador cuadrático en el vector de remuestreo.

Existen dos resultados que relacionan el sesgo bootstrap y el sesgo jackknife de cualquier estimador cuadrático y la varianza bootstrap y la varianza jackknife de cualquier estimador lineal.

Teorema 2.1

Si \(\hat{\theta}\) es un estimador cuadrático, entonces \[Sesgo_{jackk}\left( \hat{\theta} \right) =\frac{n}{n-1}Sesgo_{boot}\left( \hat{\theta} \right)\]

Teorema 2.2

Si \(\hat{\theta}\) es un estimador lineal, entonces \[Var_{jackk}\left( \hat{\theta} \right) =\frac{n}{n-1}Var_{boot}\left( \hat{ \theta} \right)\]

Dicho en otras palabras, para cualquier estimador cuadrático, el sesgo jackknife es mayor que el sesgo bootstrap. Si el estimador es lineal, la varianza jackknife es mayor que la varianza bootstrap. En ambos casos, el factor multiplicador es \(n/(n-1)\).

Ejemplo 2.2 (Aproximación jackknife de la precisión de estimaciones del tiempo de vida medio de microorganismos)

Consideremos la muestra de tiempos de vida de microorganismos ya tratada. El siguiente código permite calcular los estimadores jackknife del sesgo y de la precisión tanto de la media como de la mediana muestral.
# Para la muestra de TIEMPOS DE VIDA, estima (plug-in) la precisión 
# de la media muestral (desvmedia) y también estima mediante el jackknife 
# dicha precisión (desvmediajackk) y también la precisión de la mediana 
# muestral, de la cual no se conoce su expresión, (desvmedianajackk). 
# También estima el sesgo jackknife de esos dos estimadores
# (sesgomediajackk y sesgomedianajackk, respectivamente).

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)
varmedia <- (1/(n^2)) * sum((muestra - mean(muestra))^2)
desvmedia <- sqrt(varmedia)

# Jackknife
media <- numeric(n)
mediana <- numeric(n)
for (i in 1:n) {
    imuestra <- muestra[-i]
    media[i] <- mean(imuestra)
    # remordenada <- sort(imuestra)
    # mediana[i] <- (remordenada[7] + remordenada[8])/2
    mediana[i] <- median(imuestra)
}

# Aproximaciones precisión
varmediajackk <- ((n - 1)/n) * sum((media - mean(media))^2)
desvmediajackk <- sqrt(varmediajackk)
varmedianajackk <- ((n - 1)/n) * sum((mediana - mean(mediana))^2)
desvmedianajackk <- sqrt(varmedianajackk)
desvmedia
## [1] 0.1555792
desvmediajackk
## [1] 0.1610397
desvmedianajackk
## [1] 0.1834505
# Aproximaciones sesgo
sesgomediajackk <- (n - 1) * (mean(media) - mean(muestra))
# sesgomedianajackk <- (n - 1) * (mean(mediana) - muestra[8])
sesgomedianajackk <- (n - 1) * (mean(mediana) - median(muestra))
sesgomediajackk
## [1] 0
sesgomedianajackk
## [1] -0.003733333

También podríamos emplear la la función jackknife del paquete bootstrap:

library(bootstrap)
resmedia <- jackknife(muestra, mean)
resmedia
## $jack.se
## [1] 0.1610397
## 
## $jack.bias
## [1] 0
## 
## $jack.values
##  [1] 0.8526429 0.8498571 0.8445714 0.8442857 0.8435714 0.8316429 0.8265000
##  [8] 0.8192143 0.8120000 0.7885714 0.7850000 0.7807143 0.7585714 0.7285714
## [15] 0.7142857
## 
## $call
## jackknife(x = muestra, theta = mean)
resmediana <- jackknife(muestra, median)
resmediana
## $jack.se
## [1] 0.1834505
## 
## $jack.bias
## [1] -0.003733333
## 
## $jack.values
##  [1] 0.6615 0.6615 0.6615 0.6615 0.6615 0.6615 0.6615 0.6105 0.5600 0.5600
## [11] 0.5600 0.5600 0.5600 0.5600 0.5600
## 
## $call
## jackknife(x = muestra, theta = median)

Estos resultados pueden compararse con los obtenidos en el Ejemplo 2.1 empleando bootstrap. En general las aproximaciones jackknife son adecuadas para el caso de estadísticos “suaves,” como la media, pero pueden ser inconsistentes cuando no lo son, como es el caso de la mediana.