Bootstrap: el error estándar sin fórmula

Estadística · Lección 11

L3 Derivación Fase F1 Libro TS 3e §8.4 Prereqs Pruebas de hipótesis · Intervalos de confianza

Objetivo

Al terminar esta lección se puede:

  1. Definir la distribución empírica y demostrar en qué sentido aproxima a la verdadera.
  2. Calcular un error estándar por bootstrap y demostrar que para la media reproduce la fórmula conocida.
  3. Construir un intervalo por percentiles y medir su cobertura real, en vez de suponerla.
  4. Reconocer un caso donde el bootstrap falla y explicar por qué más datos no lo arreglan.

De dónde viene

  • Lección 1: la distribución muestral (Definición 1.6) es el objeto que aquí se aproxima. Toda la lección es una manera de dibujarla sin tener acceso a la población.
  • Lección 8: la Proposición 11.5 muestra que el bootstrap devuelve Q/n, la varianza de máxima verosimilitud de la Proposición 8.6, y no la insesgada, sin que nadie se lo pida.
  • Lección 9: el intervalo por percentiles sustituye a la fórmula de la Proposición 9.3, y se le exige lo mismo: cobertura.
  • Lección 10: la prueba de permutación de la sección 5 calcula el valor p de la Definición 10.3 sin suponer ninguna distribución.

Para qué sirve después

  • Lección 14: los errores estándar de los coeficientes de una regresión se pueden obtener por bootstrap cuando los supuestos de la fórmula no se sostienen.
  • Lección 16: las bandas de incertidumbre de una curva de calibración se construyen así.
  • Aprendizaje automático: el bagging —y con él los bosques aleatorios— es exactamente el remuestreo de la Definición 11.3, aplicado a modelos en vez de a estadísticos.
  • Trabajo aplicado: es la herramienta que se usa cuando el estadístico de interés no tiene fórmula, que es la mayoría de las veces.

Notación

Símbolo Se lee Significado
F efe La función acumulada verdadera de la población, desconocida
\hat{F}_n efe sombrero sub ene La distribución empírica: masa 1/n en cada dato observado
x^{*} equis estrella Un dato remuestreado, sorteado de \hat{F}_n con reemplazo
\hat{\theta}^{*} theta sombrero estrella El estadístico calculado sobre un remuestreo
B be El número de remuestreos; no confundir con n
P^{*}, E^{*} pe estrella, e estrella Probabilidad y esperanza condicionadas a los datos observados
Q cu La suma de cuadrados centrada, \sum_i (x_i-\bar{x})^2

La estrella marca siempre lo mismo: cantidades calculadas tratando la muestra observada como si fuera la población. En E^{*} los datos son constantes y lo aleatorio es el sorteo del remuestreo. Confundir P con P^{*} es el origen de casi todos los errores de interpretación del método.

1. La idea

El problema de fondo de las lecciones 9 y 10 es que para construir un intervalo o una prueba hace falta conocer la distribución muestral del estadístico, y solo se conoce en unos pocos casos afortunados: la media con población normal, y poco más. Para la mediana, para un percentil, para el cociente de dos medias, no hay fórmula elemental.

The core idea is to use the sample to make a model of the population, then use the model to simulate the sampling process.

Downey, Think Stats 3e, §8.4 Sampling Distributions

El bootstrap toma el modelo más simple posible de la población: la propia muestra.

Definición 11.1 (distribución empírica). Dada x_1,\dots,x_n, la distribución empírica \hat{F}_n es la que asigna probabilidad 1/n a cada dato observado. Su función acumulada es \hat{F}_n(x) = \frac{1}{n}\#\{i : x_i \le x\}, la fracción de datos que no superan a x.

Que eso sea razonable no es un acto de fe; se demuestra.

Proposición 11.2. Para cada x fijo, E\big[\hat{F}_n(x)\big] = F(x), \qquad \text{Var}\big(\hat{F}_n(x)\big) = \frac{F(x)\big(1-F(x)\big)}{n}. En particular \hat{F}_n(x) \to F(x) en probabilidad, por la Proposición 7.7.

Demostración. Fíjese x y considérese el indicador I_i = 1 si x_i \le x y 0 si no. Cada I_i es una Bernoulli de parámetro P(x_i \le x) = F(x), y son independientes por serlo los datos. Entonces n\hat{F}_n(x) = \sum_i I_i es una binomial de parámetros n y F(x), cuya esperanza es nF(x) y cuya varianza es nF(x)(1-F(x)) por la Proposición 4.7. Dividiendo por n —y por n^2 en la varianza, según la Proposición 4.6— se obtienen las dos fórmulas. Como el sesgo es cero y la varianza tiende a cero, el ECM tiende a cero y la Proposición 7.7 da la convergencia.

La proposición fija un x y lo hace converger. Lo que de verdad justifica el método es más fuerte —el teorema de Glivenko-Cantelli, que dice que \sup_x |\hat{F}_n(x) - F(x)| \to 0 casi seguramente, es decir, uniformemente en x y no punto a punto— y no se demuestra aquí: hace falta maquinaria de convergencia uniforme que este plan no ha construido. La versión puntual de arriba basta para entender de dónde viene la confianza en el método.

Definición 11.3 (bootstrap). Para estimar la distribución muestral de \hat{\theta}:

  1. Sortear n datos con reemplazo de x_1,\dots,x_n; llamarlos x_1^{*},\dots,x_n^{*}.
  2. Calcular \hat{\theta}^{*} sobre ese remuestreo.
  3. Repetir B veces.

El conjunto de los B valores \hat{\theta}^{*} es la distribución bootstrap de \hat{\theta}.

El paso 1 es exactamente sortear de \hat{F}_n: como \hat{F}_n pone masa 1/n en cada dato, sortear de ella es elegir un índice al azar. Y el reemplazo no es opcional: sin él, cada remuestreo sería una permutación de la muestra entera y todos darían el mismo valor de la media.

El visual pone una al lado de la otra la distribución que no se puede calcular en la vida real —la morada, que exige volver a la población tantas veces como haga falta— y la que sí —la verde, que solo usa los n datos que ya se tienen—. La lectura tiene dos partes que conviene no mezclar.

La anchura se recupera. Las dos campanas miden aproximadamente lo mismo, y esa anchura es el error estándar. Eso es lo que hace útil al método.

El centro no. La campana verde está centrada en el valor observado, no en el verdadero. El bootstrap estima la variabilidad de un estimador, no corrige su error: si la muestra salió alta, la distribución bootstrap entera sale alta con ella. Por eso un intervalo bootstrap sigue siendo un intervalo, con su cobertura, y no una garantía.

2. El error estándar por bootstrap

Definición 11.4 (error estándar bootstrap). La desviación típica de los B valores \hat{\theta}^{*}.

Para el único caso en que ya se conoce la respuesta, el método la reproduce exactamente.

Proposición 11.5. Para \hat{\theta} = \bar{x}, y condicionando a los datos observados, E^{*}\big[\bar{x}^{*}\big] = \bar{x}, \qquad \text{Var}^{*}\big(\bar{x}^{*}\big) = \frac{1}{n}\cdot\frac{Q}{n}, donde Q = \sum_i (x_i-\bar{x})^2. El error estándar bootstrap es, por tanto, \sqrt{Q}/n.

Demostración. Condicionando a los datos, cada x_i^{*} es una variable que toma el valor x_j con probabilidad 1/n, para j = 1,\dots,n. Su esperanza es E^{*}[x_i^{*}] = \sum_{j=1}^{n} x_j \cdot \frac{1}{n} = \bar{x}, y su varianza, por la Definición 4.5, \text{Var}^{*}(x_i^{*}) = \sum_{j=1}^{n} (x_j-\bar{x})^2 \cdot \frac{1}{n} = \frac{Q}{n}. Los x_i^{*} son independientes entre sí —cada sorteo es independiente de los demás, que es lo que significa «con reemplazo»—, así que la Proposición 6.1 se aplica tal cual y da E^{*}[\bar{x}^{*}] = \bar{x} y \text{Var}^{*}(\bar{x}^{*}) = (Q/n)/n. La raíz es \sqrt{Q}/n.

Vale la pena mirar qué varianza ha aparecido: Q/n, con denominador n. Es exactamente \hat{\sigma}^2_{\text{MV}} de la Proposición 8.6, no la insesgada s^2 = Q/(n-1). El bootstrap elige el denominador n por su cuenta, sin que nadie se lo diga, porque trata la muestra como si fuera la población entera —y en una población de n puntos, la varianza es la media de los cuadrados sobre n—. La diferencia es el factor \sqrt{(n-1)/n}, despreciable salvo con muestras muy pequeñas, y es la misma que separaba los dos puntos del visual de la lección 8.

El valor medido y la fórmula de la Proposición 11.5 coinciden en cuatro cifras; la discrepancia que queda es el error de Monte Carlo de usar B finito. Y el cociente entre las dos fórmulas es exactamente \sqrt{(n-1)/n}, como anuncia la proposición.

B no es n

Hay dos fuentes de error distintas en juego y se controlan con mandos distintos. Confundirlas es el error más común al usar el método.

Los seis intervalos de arriba salen de los mismos datos: lo único que cambia entre ellos son los sorteos del remuestreo. Su dispersión es error de Monte Carlo, y subiendo B desaparece. Es barato: B solo cuesta tiempo de cálculo.

Los seis de abajo salen de datos distintos. Subir B no los junta en absoluto, porque cada uno está estimando desde una muestra diferente. Su dispersión es el error estadístico, el mismo de la lección 9, y lo único que lo reduce es n.

De ahí la regla: B se elige lo bastante grande para que el ruido de Monte Carlo no se note —unos miles bastan para un error estándar; para percentiles extremos hacen falta más— y a partir de ahí subirlo no aporta nada. Ningún valor de B compensa una muestra pequeña.

3. Intervalos por percentiles, y su cobertura

Definición 11.6 (intervalo bootstrap por percentiles). El intervalo cuyos extremos son los percentiles 100\alpha/2 y 100(1-\alpha/2) de los B valores \hat{\theta}^{*}.

Es la construcción de Downey en §8.6, aplicada a la distribución bootstrap en vez de a una distribución muestral simulada desde la población. No hay fórmula, no hace falta conocer \sigma, y no se supone normalidad en ningún punto.

Lo que sí hace falta es lo mismo que en la lección 9: comprobar la cobertura. La Definición 11.6 no garantiza nada por sí sola.

Con n = 8 el intervalo que promete 95 % cubre alrededor del 85 % para la media. El déficit se cierra al crecer n, pero está ahí, y es del mismo tipo que el de la Proposición 9.7: cobertura nominal y cobertura real no son lo mismo, y la segunda hay que medirla.

La razón de fondo es que la población es asimétrica —una exponencial— y el intervalo por percentiles no corrige ni el sesgo del estimador ni esa asimetría. Existen variantes que sí lo hacen, la más conocida BCa (bias-corrected and accelerated), y a cambio son más caras y más difíciles de explicar. La decisión práctica es la de siempre: medir la cobertura en el problema concreto antes de confiar en ella.

4. Dónde falla

El bootstrap no es universal, y el caso donde se rompe es instructivo porque falla por construcción, no por falta de datos.

Proposición 11.7. Sea \hat{\theta} = \max_i x_i y sea M^{*} el máximo de un remuestreo. Entonces P^{*}\big(M^{*} = \hat{\theta}\big) = 1-\Big(1-\frac{1}{n}\Big)^{n} \xrightarrow[n\to\infty]{} 1-\frac{1}{e} \approx 0{,}632.

Demostración. Supóngase que el máximo se alcanza en un solo dato, lo que ocurre con probabilidad uno si la población es continua. Cada uno de los n sorteos del remuestreo elige ese dato con probabilidad 1/n, y por tanto no lo elige con probabilidad 1-1/n. Los n sorteos son independientes, así que la probabilidad de que ninguno lo elija es (1-1/n)^{n}. El complemento es la expresión del enunciado. Para el límite se usa (1-1/n)^{n} \to e^{-1}, que es la definición del número e.

Dos cosas se ven de golpe y ninguna se arregla con más datos.

La primera: la distribución bootstrap tiene un átomo —una masa puntual— de peso \approx 0{,}632 sobre el máximo observado, mientras que la verdadera es continua. Y ese peso no baja con n: converge a 1-1/e y se queda ahí.

La segunda: el bootstrap nunca propone un valor por encima del máximo observado, porque no puede inventar datos que no estén en la muestra. Pero la distribución muestral verdadera del máximo sí tiene masa por encima —otra muestra podría dar un máximo mayor—. El método es ciego a la mitad del problema.

La causa general es que \hat{F}_n aproxima bien a F en el centro y mal en los extremos: donde hay pocos datos, la distribución empírica es una mala copia. Los estadísticos que dependen de la cola —máximos, mínimos, percentiles muy extremos— heredan ese fallo. Los que dependen del centro —medias, medianas, correlaciones— no.

5. Pruebas de permutación

El mismo giro sirve para la lección 10: si se puede simular bajo H_0, no hace falta conocer la distribución del estadístico.

Definición 11.8 (prueba de permutación). Para comparar dos grupos bajo H_0: «las dos muestras vienen de la misma distribución», se juntan todos los datos, se reparten al azar en dos grupos de los tamaños originales, se calcula el estadístico, y se repite M veces. El valor p es p = \frac{1 + \#\{\text{permutaciones con estadístico} \ge \text{observado}\}}{M+1}.

Proposición 11.9. Bajo H_0, ese valor p cumple P(p \le \alpha) \le \alpha para todo \alpha. La prueba es exacta: no es una aproximación que mejore con n.

Demostración. Bajo H_0 las etiquetas de grupo no aportan información, así que el estadístico observado y los M permutados son M+1 valores intercambiables: cualquier orden entre ellos tiene la misma probabilidad. El rango del observado dentro de los M+1 es entonces uniforme sobre \{1,\dots,M+1\}, y el valor p de la definición es ese rango dividido entre M+1 (contando desde arriba). Por tanto, para \alpha = k/(M+1), P(p \le \alpha) = P(\text{rango} \le k) = \frac{k}{M+1} = \alpha, y para un \alpha cualquiera se redondea hacia abajo al múltiplo de 1/(M+1) más cercano, lo que da \le \alpha. El 1+ del numerador es lo que hace que la cuenta salga: sin él, el valor p podría valer cero y la desigualdad fallaría.

Nótese que no aparece ninguna distribución teórica: la de H_0 se construye barajando. Es el mismo estadístico de la Definición 10.2 y el mismo valor p de la Definición 10.3; lo único que cambia es de dónde sale la distribución nula. Ese es el enfoque del capítulo 9 de Think Stats de principio a fin.

Note

Bootstrap y permutación se parecen y no son lo mismo. El bootstrap remuestrea con reemplazo dentro de cada grupo y estima la variabilidad de un estimador; no supone H_0. La permutación reparte sin reemplazo entre los grupos y construye la distribución bajo H_0; no estima ningún error estándar. Uno responde «¿cuánto varía esto?» y el otro «¿podría ser casualidad?».

Ejercicios

Ejercicio 1 — El error estándar bootstrap de la mediana

No hay fórmula elemental para el error estándar de la mediana muestral. Calcularlo por bootstrap con B = 20\,000 sobre la muestra dada, y compararlo con el valor verdadero, obtenido simulando muestras nuevas de la población. Devolver el error estándar bootstrap.

rng.integers(0, n, size=(B, n)) da una matriz de índices; x[idx] la convierte en una matriz de B remuestreos de tamaño n. La mediana por filas es np.median(..., axis=1).

medianas = np.median(x[rng.integers(0, n, size=(B, n))], axis=1)

El cociente cae cerca de 1, pero no exactamente: con n = 60 la estimación bootstrap del error estándar tiene ella misma un error de varios puntos porcentuales. Es lo que muestra el primer visual al pulsar Otra muestra original.

Ejercicio 2 — El átomo del máximo

Comprobar la Proposición 11.7: remuestrear 20 000 veces una muestra de tamaño n = 25 y contar qué fracción de los remuestreos tiene el mismo máximo que la muestra original. Devolver esa fracción.

maximos == maximo_observado da un vector de booleanos. Su media es la fracción. La comparación exacta con == es válida aquí: el valor remuestreado es literalmente el mismo número de punto flotante, copiado.

fraccion = (maximos == maximo_observado).mean()

Con n = 25 la fórmula da 0,6396 y el límite 0,6321. La fracción medida cae entre las dos, a menos de un punto porcentual. Nada de eso baja al subir n: ahí está el problema.

Reto

En proyectos/notebooks/F1-retos.ipynb, sección Est 11:

  1. Escribir bootstrap(x, estadistico, B) genérica y ic_percentil(x, estadistico, B, alfa). Usarlas sobre cinco estadísticos —media, mediana, desviación típica, coeficiente de variación y correlación entre dos columnas— y presentar una tabla de estimaciones con su error estándar.
  2. Medir la cobertura de tres intervalos bootstrap —percentil, básico (o pivotal) y t bootstrap— para la media de una población asimétrica, con n \in \{10, 25, 100\}. Decidir cuál se usaría por defecto y con qué argumento. Contrastar los resultados con la tabla de la sección 3.
  3. Reproducir la Proposición 11.7 y luego intentar arreglarla: el bootstrap m de n sortea m < n datos en cada remuestreo. Medir cuánto encoge el átomo con m = \sqrt{n} y si la distribución bootstrap se parece más a la verdadera. Explicar el precio que se paga.

Del libro

Think Stats se publica bajo licencia CC BY-NC-SA 4.0, que permite citarlo textualmente.

A way to approximate the sampling distribution of an estimate by simulating the sampling process.

Downey, Think Stats 3e, §8.8 Glossary, definición de resampling

La diferencia de encuadre con esta lección está en el «simulating the sampling process». Downey lo hace de varias maneras a lo largo del libro —resortear desde la muestra, resortear con pesos, barajar etiquetas— y las trata como variantes de una misma idea. Aquí se ha separado explícitamente el bootstrap de la Definición 11.3 —que sortea con reemplazo dentro de un grupo y no supone H_0— de la permutación de la Definición 11.8 —que reparte sin reemplazo entre grupos y sí la supone—, porque responden a preguntas distintas.

Preguntas para leer §8 y §9 con lápiz:

  1. §8.4 Sampling Distributions simula muestras nuevas usando la distribución que generó los datos. En un problema real esa distribución no se conoce. ¿Qué la sustituye en la Definición 11.3, y qué se pierde en el cambio?
  2. §9.2 Testing a Difference in Means usa una permutación. Localizar en el código del libro dónde ocurre el barajado y comprobar que el reparto es sin reemplazo. ¿Qué cambiaría si fuera con reemplazo?
  3. §8.5 Standard Error define el error estándar como la desviación típica de la distribución muestral. Comparar esa definición con la Definición 11.4 de aquí: ¿sobre qué distribución se calcula la desviación en cada caso?

Para el Cerebro

Nota nueva en 10-Conceptos/bootstrap.md, enlazada a [[distribucion-muestral]], [[intervalo-de-confianza]] y [[prueba-de-hipotesis]]. La Proposición 11.5 conviene derivarla a mano: es la que explica de dónde sale el denominador n sin que nadie lo elija.

¿Qué es la distribución empírica?::La que pone masa 1/n en cada dato observado. Es el modelo más simple posible de la población: la propia muestra
¿Por qué se puede usar en lugar de la verdadera?::Porque para cada x, F̂n(x) es insesgada para F(x) con varianza F(x)(1−F(x))/n, así que converge. La versión uniforme es Glivenko-Cantelli
¿Qué es el bootstrap?::Sortear n datos con reemplazo de la muestra, recalcular el estadístico, y repetir B veces
¿Por qué con reemplazo?::Sin reemplazo cada remuestreo sería una permutación de la muestra entera y todos darían el mismo valor
¿Qué estima bien el bootstrap?::La anchura de la distribución muestral, es decir, el error estándar
¿Qué no corrige?::El centro. La distribución bootstrap está centrada en el valor observado, no en el verdadero
¿Cuál es el EE bootstrap de la media?::√Q/n, es decir, la varianza de máxima verosimilitud Q/n dividida entre n y con raíz
¿Por qué sale el denominador n y no n−1?::Porque el bootstrap trata la muestra como si fuera toda la población, y en una población de n puntos la varianza divide entre n
¿Qué diferencia hay entre B y n?::B controla el error de Monte Carlo y se compra barato; n controla el error estadístico. Ningún B compensa una muestra pequeña
¿Qué es el intervalo por percentiles?::El que va del percentil 2.5 al 97.5 de los valores bootstrap
¿Su cobertura es la nominal?::No necesariamente. Con n = 8 y población exponencial cubre menos del 85 % siendo nominal 95 %. Hay que medirla
¿Dónde falla el bootstrap?::En estadísticos que dependen de la cola: máximos, mínimos, percentiles extremos
¿Qué pasa con el máximo?::La distribución bootstrap tiene un átomo de peso 1−(1−1/n)ⁿ → 63.2 % sobre el máximo observado, y nunca propone nada por encima
¿Eso se arregla con más datos?::No. El peso del átomo converge a 1−1/e y se queda ahí
¿Qué es una prueba de permutación?::Barajar las etiquetas de grupo para construir la distribución bajo H0, sin suponer ninguna distribución
¿Es exacta?::Sí: bajo H0 el rango del observado entre los M+1 valores es uniforme, y de ahí P(p ≤ α) ≤ α
¿Por qué el valor p de permutación lleva un 1+ en el numerador?::Porque sin él el valor p podría valer cero y la desigualdad de la Proposición 11.9 fallaría

Fuentes

Lo que esta página demuestra sola. Las Proposiciones 11.2, 11.5, 11.7 y 11.9 se demuestran aquí, a partir de la Proposición 4.6 (varianza de un múltiplo), la Proposición 4.7 (varianza de una Bernoulli), la Proposición 6.1 (varianza de una media) y la Proposición 7.7 (consistencia por ECM). Las tres se comprueban además numéricamente: la 11.5 contra el error estándar medido, la 11.7 contra la fracción de remuestreos que repiten el máximo, y la cobertura de la sección 3 se mide en vez de suponerse.

Lo que se enuncia sin demostrar. El teorema de Glivenko-Cantelli —convergencia uniforme de \hat{F}_n a F— se menciona y no se demuestra; hace falta maquinaria de convergencia uniforme que este plan no ha construido. La versión puntual sí se demuestra. El intervalo BCa se nombra sin derivarlo.

Lo que viene de los libros.

  • Think Stats 3e (Downey, CC BY-NC-SA 4.0), §8.4 Sampling Distributions y §8.8 Glossary — citadas textualmente arriba.

Lo que es mío, no del libro. La numeración de definiciones y proposiciones. La Proposición 11.5 con su lectura —que el bootstrap elige el denominador n por su cuenta, enlazando con la Proposición 8.6—, la Proposición 11.7 con la demostración del átomo, la Proposición 11.9 con el argumento del rango uniforme, y la separación explícita entre bootstrap y permutación, son forma de presentarlo. Think Stats las trata como variantes de una misma técnica y no demuestra ninguna de las cuatro.

Índices verificados el 12-09-2026 contra el índice publicado del libro.

→ Siguiente: Distribución normal multivariante