Hasta el momento hemos estudiado los fundamentos de la inferencia estadística a partir de la información obtenida mediante una muestra, siguiendo los supuestos del enfoque estadístico clásico. En primer lugar, hemos aprendido cómo seleccionar muestras de una población, analizando los distintos tipos de muestreo y la importancia de garantizar la aleatoriedad y la representatividad de los datos.
Posteriormente, hemos profundizado en la distribución en el muestreo, que describe el comportamiento de un estadístico (como la media o la proporción) cuando repetimos el proceso de extracción de muestras bajo condiciones controladas. Este concepto resulta esencial para comprender la variabilidad muestral y reconocer que los resultados obtenidos en una muestra son solo una posible realización entre muchas.
Finalmente, hemos trabajado con los intervalos de confianza, que permiten estimar con un determinado nivel de confianza el rango de valores plausibles para un parámetro poblacional desconocido. A través de ellos, combinamos la información de la muestra con la teoría del muestreo para realizar inferencias fundamentadas sobre la población, basadas en los principios de la probabilidad clásica.
Por tanto, estos contenidos nos han permitido avanzar desde el análisis descriptivo hacia el razonamiento inferencial, formulando conclusiones sobre poblaciones a partir de muestras y cuantificando la incertidumbre asociada a nuestras estimaciones dentro del marco del paradigma estadístico clásico.
No obstante, los métodos desarrollados hasta ahora se apoyan en los supuestos del enfoque estadístico clásico, que implican condiciones ideales de muestreo y conocimiento de la distribución del estadístico. En la práctica, estas condiciones no siempre se cumplen: a menudo contamos con muestras pequeñas, distribuciones desconocidas o estadísticos complejos para los que no existen fórmulas exactas de variabilidad. En este contexto, resulta natural introducir el método bootstrap, una herramienta moderna y flexible que permite estimar la incertidumbre de un estimador a partir de los propios datos, sin necesidad de asumir un modelo teórico específico. Este enfoque amplía las posibilidades de la inferencia estadística, ofreciendo una alternativa poderosa cuando los métodos clásicos resultan inadecuados o sus supuestos no se verifican.
Antes de profundizar, creo que es interesante definir que es el bootstrap y para que se emplea.
El método bootstrap es una técnica de re-muestreo (resampling) que permite estimar la distribución muestral de un estadístico a partir de una sola muestra.
La idea fundamental es extraer muchas muestras aleatorias con reemplazo del mismo tamaño que la muestra original (\(N\)), y calcular en cada una el estadístico de interés (por ejemplo, la media o la proporción).
Estas muestras bootstrap se utilizan para aproximar la distribución muestral empírica del estadístico y, por tanto, para calcular su error estándar y construir intervalos de confianza.
En esta sección aprenderás una herramienta práctica muy importante para la inferencia estadística aplicada a problemas reales de análisis de datos, denominada bootstrap. En concreto, aprenderás sobre:
La distribución muestral bootstrap.
Los errores estándar y los intervalos de confianza bootstrap.
La distribución en el muestreo
Como se ha comentado, hasta ahora hemos aprendido las ideas fundamentales de una parte de la inferencia estadística a través de la estimación puntual y por Intervalos de confianza. También hemos visto cómo la distribución en el muestreo formaliza el concepto de incertidumbre estadística en términos de la realización de un experimento: ¿qué ocurriría si pudiéramos realizar el mismo análisis en muchos universos paralelos imaginarios, donde en cada universo paralelo observamos una sola realización del mismo proceso aleatorio generador de datos?
A continuación se muestra la Figura 1 para ilustrar esta idea:
Figura 1: Resumen de la distribución en el muestreo
Por supuesto, si realmente pudiéramos “asomarnos” a todos esos universos paralelos (cada uno con su propia muestra del mismo proceso generador de datos), la vida sería sencilla. Al examinar todas las estimaciones obtenidas de esas diferentes muestras y observar cuánto difieren entre sí, podríamos calcular un error estándar. Entonces podríamos informar una medida de incertidumbre, por ejemplo:
“Mi estimación debería desviarse aproximadamente en ____,”
donde el espacio en blanco se rellenaría con el error estándar calculado.
Esto es justamente lo que hacemos desde el punto de vista teórico cuando realizamos la distribución en el muestreo. En este caso, se pretende obtener información sobre una población real (por ejemplo, todos los estudiantes de una universidad) a partir de una muestra aleatoria de ella. Este procedimiento tiene como características fundamentales: - La población es el conjunto real de individuos o unidades. - La muestra se extrae una sola vez (o unas pocas) del conjunto poblacional. - El objetivo es inferir sobre parámetros poblacionales (media, proporción, varianza, etc.). - Se asume un modelo probabilístico de muestreo (aleatorio simple, estratificado, etc.). - Las fórmulas de inferencia (como intervalos de confianza o contrastes) suponen un marco teórico (normalidad, independencia, tamaño muestral grande, etc.)
Sin embargo, en la realidad estamos limitados a una sola muestra.Por lo tanto, nunca podemos conocer la verdadera distribución muestral de un estimador, por la misma razón que no podemos asomarnos a todas esas otras vidas que podríamos haber vivido, pero no vivimos. Por tanto, cuantificar nuestra incertidumbre parecería requerir conocer todos los caminos que no tomamos, una tarea imposible.
A la luz de esto, podrías preguntarte con razón: ¿qué demonios hemos estado haciendo todo este tiempo? Pues bien, sorprendentemente, podemos acercarnos bastante a realizar lo que parece imposible. Existen dos formas factibles de construir algo parecido al histograma de la Figura 1, aproximando así la distribución muestral de un estimador, sin necesidad de tomar muestras repetidas del verdadero proceso generador de datos.
Como no podemos observar todos los caminos no tomados, recurrimos a dos estrategias complementarias para aproximar la incertidumbre:
Remuestreo (resampling): Consiste en fingir que la propia muestra representa a la población, lo que permite aproximar el efecto de la variabilidad muestral remuestreando a partir de la muestra original.
Aproximaciones matemáticas: Consiste en reconocer que las fuerzas del azar obedecen ciertas regularidades matemáticas, y que podemos obtener conclusiones aproximadas sobre dichas regularidades utilizando la teoría de la probabilidad.
“A continuación desarrollamos el enfoque de remuestreo, que es el que se utiliza con mayor frecuencia en aplicaciones.
La distribución muestral bootstrap
En el centro del enfoque de remuestreo para la inferencia estadística se encuentra una idea sencilla. La mayoría de las veces, no es factible tomar muestras repetidas del mismo proceso aleatorio que generó nuestros datos para observar cómo cambia nuestra estimación de una muestra a otra. Sin embargo, sí podemos tomar remuestras repetidas a partir de la propia muestra, y aplicar nuevamente nuestro estimador a cada una de esas muestras ficticias. La variabilidad de las estimaciones obtenidas en todas estas remuestras puede utilizarse para aproximar la verdadera distribución muestral del estimador.
Este proceso (fingir que nuestra muestra representa una población hipotética y tomar muestras repetidas de tamaño \(N\) con reemplazo a partir de nuestra muestra original de tamaño \(N\)) se denomina remuestreo bootstrap, o simplemente bootstrap.
¿Por qué funciona esto?
Recuerda que la incertidumbre proviene de la aleatoriedad que forma parte del proceso generador de los datos, ya sea por la variabilidad de las muestras, los errores de medición u otras fuentes. Por ello, si logramos recrear de forma aproximada esa aleatoriedad, podremos también estimar de manera aproximada el grado de incertidumbre asociado a nuestras estimaciones.
Ese es el objetivo del bootstrap: aproximar la aleatoriedad inherente al proceso generador de datos, para poder simular el experimento mental fundamental de la inferencia estadística.
Como ejemplo, podemos comprobar en R cómo varía la media muestral al realizar remuestreos bootstrap a partir de una pequeña muestra.
Code
set.seed(123)# Muestra originalx <-c(4, 5, 4, 7, 2)# Número de remuestreosB <-10n <-length(x)# Calculamos las medias bootstrapboot_means <-replicate(B, mean(sample(x, size = n, replace =TRUE)))# Mostramos las 10 primerasboot_means
[1] 4.4 4.4 4.2 3.8 4.8 4.0 4.8 3.4 3.6 3.6
Cada valor corresponde a la media de una muestra bootstrap de tamaño 5. Si calculamos la media original y la comparamos con las medias bootstrap, observamos la variabilidad generada por el remuestreo:
Code
mean(x) # media muestral original
[1] 4.4
Code
mean(boot_means) # media promedio de las remuestras
[1] 4.1
Code
sd(boot_means) # desviación típica de las medias bootstrap
[1] 0.5011099
Para comprender mejor cómo el bootstrap reproduce la variabilidad del muestreo, consideremos un pequeño ejemplo práctico. Supongamos que hemos obtenido una muestra muy simple de cinco observaciones como en el caso anterior. Queremos estimar la media de la población, pero solo disponemos de esta muestra única. Si aplicamos el método bootstrap, podremos generar muchas versiones “ficticias” de la muestra, cada una obtenida mediante remuestreo con reemplazo, y calcular la media en cada una de ellas.El resultado será una colección de medias que nos permitirá observar hasta qué punto podría variar nuestra estimación si repitiéramos el muestreo muchas veces.
Code
set.seed(123)# Muestra originalx <-c(4, 5, 4, 7, 2)# Número de remuestreosB <-2000n <-length(x)# Distribución bootstrap de la mediaboot_means <-replicate(B, mean(sample(x, size = n, replace =TRUE)))# Media originalmean_original <-mean(x)# Histogramahist(boot_means,main ="Distribución bootstrap de la media",xlab ="Media bootstrap",border ="gray",col ="lightblue")abline(v = mean_original, col ="red", lwd =2)legend("topright", legend ="Media original", col ="red", lwd =2, bty ="n")
La línea roja vertical representa la media calculada con la muestra original.
La nube azul muestra las medias obtenidas mediante los remuestreos bootstrap.
Este sencillo experimento muestra la esencia del método bootstrap. Aunque solo disponemos de una muestra, al remuestrear con reemplazo generamos una gran cantidad de muestras “virtuales” que simulan el proceso de muestreo real. La dispersión de las medias bootstrap en el histograma refleja la incertidumbre asociada a nuestra estimación.
En otras palabras, el bootstrap nos permite visualizar y cuantificar la variabilidad que normalmente solo podríamos imaginar en el marco teórico de la distribución muestral.
Esta representación esquemática recoge los pasos que acabamos de reproducir con código de cómo funciona el bootstrap, pero de forma más general
Figura 2: Representación esquemática de la distribución muestral bootstrap de un estimador.
Cada conjunto de \(N\) datos remuestreados se denomina “muestra bootstrap”. Para aplicar el método bootstrap, escribimos un programa que remuestrea repetidamente la muestra original y recalcula la estimación para cada una de esas muestras bootstrap. Como veremos a continuación, R simplifica enormemente el trabajo computacional necesario para realizar este procedimiento.
Para que esta aproximación sea coherente, conviene fijar dos condiciones básicas del remuestreo. En primer lugar, cada muestra bootstrap debe tener el mismo tamaño (\(N\)) que la muestra original.
Recuerda que nuestro objetivo es aproximar la aleatoriedad del proceso generador de datos, y el tamaño muestral constituye una parte absolutamente fundamental de dicho proceso. Si tomamos muestras bootstrap de tamaño \(N/2\), \(N−1\) o cualquier otro valor distinto de \(N\), estaríamos simulando un proceso generador de datos incorrecto.
En segundo lugar, cada muestra bootstrap debe tomarse con reemplazamiento a partir de la muestra original.La intuición detrás de esto es que cada muestra bootstrap tendrá su propio patrón aleatorio de repeticiones y omisiones en comparación con la muestra original. Este mecanismo genera una variabilidad muestral sintética que aproxima la variabilidad muestral real del proceso generador de datos.
Para entender el muestreo con reemplazamiento, imagina un sorteo de lotería en el que hay un gran bombo lleno de bolas numeradas. Extraemos 6 números del bombo. Después de sacar una bola, podríamos hacer una de dos cosas:
Apartar la bola (no devolverla al bombo), o
Anotar su número y volver a introducirla en el bombo.
Si apartamos la bola una vez elegida, solo puede salir una vez; esto se llama muestreo sin reemplazamiento, y es lo que ocurre en una lotería real.En cambio, si volvemos a introducir la bola en el bombo, existe una pequeña posibilidad de que vuelva a ser seleccionada, y por tanto pueda aparecer más de una vez en el conjunto final de 6 números ganadores. Esto es lo que llamamos muestreo con reemplazamiento, y es precisamente lo que hacemos al aplicar el método bootstrap.
Veamos cómo funciona este proceso de muestreo con reemplazamiento en el contexto del bootstrap y por qué es importante. En la ilustración que aparece a continuación, el panel de la izquierda muestra una muestra hipotética de tamaño \(N = 5\), mientras que el panel de la derecha muestra una muestra bootstrap obtenida a partir de esa muestra original.
Observa las dos propiedades clave de nuestra muestra bootstrap:
La muestra bootstrap tiene el mismo tamaño (\(N = 5\)) que la muestra original.
La muestra bootstrap se ha obtenido con reemplazamiento, y por tanto presenta un patrón aleatorio de repeticiones y omisiones en comparación con la muestra original.
En este ejemplo concreto, el número \(4\) (en rojo) ha sido omitido por completo, mientras que el número \(7\) (en verde) ha sido seleccionado dos veces.
¿Por qué es esto importante? Veamos qué ocurre cuando calculamos la media muestral de la muestra original y la de una muestra bootstrap:
Media muestral de la muestra original: \((4 + 5 + 4 + 7 + 2) / 5 = 4.4\)
Media muestral de la muestra bootstrap: \((4 + 2 + 7 + 5 + 7) / 5 = 5\)
Y aquí está el hecho esencial que debemos notar: cuando calculamos un estadístico (como la media) para una muestra bootstrap, no obtenemos necesariamente el mismo valor que en la muestra original.
Veamos ahora otra muestra bootstrap para destacar esta variabilidad:
En esta nueva muestra bootstrap, los números \(4\) (naranja) y \(7\) (verde) han sido omitidos, mientras que los números \(5\) (morado) y \(2\) (azul) han sido duplicados.
Como resultado, obtenemos una media muestral diferente:
Media muestral de la muestra original: \((4 + 5 + 4 + 7 + 2) / 5 = 4.4\)
Media muestral de la 1.ª muestra bootstrap: \((4 + 2 + 7 + 5 + 7) / 5 = 5\)
Media muestral de la 2.ª muestra bootstrap: \((4 + 5 + 5 + 2 + 2) / 5 = 3.6\)
Veamos una última muestra bootstrap, para afianzar nuestra intuición sobre lo que está ocurriendo.
Un tercer patrón diferente de repeticiones y omisiones, y una tercera media muestral bootstrap. Por pura suerte, en este caso el valor coincide con la media de la muestra original:
Media muestral de la muestra original: \((4 + 5 + 4 + 7 + 2) / 5 = 4.4\)
Media muestral de la 1.ª muestra bootstrap: \((4 + 2 + 7 + 5 + 7) / 5 = 5\)
Media muestral de la 2.ª muestra bootstrap: \((4 + 5 + 5 + 2 + 2) / 5 = 3.6\)
Media muestral de la 3.ª muestra bootstrap: \((2 + 4 + 5 + 4 + 7) / 5 = 4.4\)
Este es el mecanismo fundamental por el cual funciona el método bootstrap: el remuestreo genera variabilidad sintética en nuestras estadísticas resumen, de una forma diseñada para aproximar la variabilidad muestral real.Si repetimos este proceso miles de veces, algunos de los estadísticos serán demasiado altos, otros demasiado bajas, y unos pocos coincidirán aproximadamente con el valor obtenido en la muestra original. Lo importante es que las estimaciones bootstrap difieren entre sí, y la magnitud de esas diferencias nos proporciona una medida cuantitativa de la incertidumbre estadística asociada a nuestra estimación.
Y esa es la idea fundamental:
Podemos confiar en nuestros resultados solo si obtubiéramos resultados similares al repetir el experimento (o el análisis) con distintas muestras extraídas del mismo proceso aleatorio que generó los datos.
El método bootstrap te permite medir la repetibilidad de tus resultados, aproximando el proceso de muestreo aleatorio a partir de la población de la que procede la muestra original.
El supuesto fundamental del método bootstrap
El supuesto central del método bootstrap es que la aleatoriedad presente en los datos, y por tanto la incertidumbre estadística de nuestras estimaciones, proviene del proceso de muestreo.cEs decir, el bootstrap asume implícitamente que nuestras muestras pueden interpretarse como muestras aleatorias extraídas de una población de referencia más amplia.
Aunque el método bootstrap no está diseñado explícitamente para otras fuentes de aleatoriedad, en la práctica suele ofrecer una buena aproximación también en otros contextos comunes, como por ejemplo:
Aleatorización experimental.
Errores de medición.
Variabilidad intrínseca de un proceso natural (por ejemplo, la frecuencia cardíaca).
Por tanto, aunque motivaremos el uso del bootstrap como una aproximación al muestreo aleatorio, en realidad podemos aplicarlo en un conjunto más amplio de situaciones, donde el muestreo aleatorio no sea la causa principal de la incertidumbre estadística de nuestras conclusiones.
Una vez entendida la mecánica del remuestreo, conviene precisar en qué casos resulta especialmente útil, en qué se diferencia de los métodos clásicos y qué precauciones debemos considera.
Aplicaciones, diferencias y limitaciones del método bootstrap
El método bootstrap es una herramienta muy versátil dentro de la inferencia estadística moderna. Su atractivo principal radica en que permite cuantificar la incertidumbre de las estimaciones sin depender de supuestos teóricos estrictos sobre la distribución de los datos.
Mientras que los métodos tradicionales exigen conocer (o al menos asumir) una forma concreta para la distribución de la población, como por ejemplo la normalidad, el bootstrap ofrece una alternativa práctica: utilizar la propia muestra como punto de partida para aproximar la variabilidad que existiría si pudiéramos repetir muchas veces el proceso de muestreo.
De este modo, el bootstrap convierte algo que en la práctica es imposible (volver a tomar infinitas muestras del mismo proceso generador de datos) en algo computacionalmente posible mediante remuestreos simulados. En lugar de recurrir a fórmulas analíticas o resultados teóricos, la técnica se apoya en la capacidad del ordenador para reproducir el experimento de muestreo una y otra vez.
A continuación se describen los principales usos del método, sus diferencias respecto a los enfoques clásicos de la inferencia estadística y las limitaciones que conviene tener presentes para aplicarlo de manera adecuada.
¿Cuándo es conveniente utilizar el método bootstrap
El método bootstrap surge como una respuesta práctica a muchas situaciones en las que los métodos estadísticos tradicionales resultan insuficientes o difíciles de aplicar. En el trabajo con datos reales, a menudo no conocemos la distribución teórica del estadístico que nos interesa o no se cumplen los supuestos que justificarían el uso de una fórmula exacta para calcular la variabilidad o los intervalos de confianza.
En estos casos, el bootstrap ofrece una alternativa sencilla y flexible: en lugar de confiar en una teoría que tal vez no se cumpla, utiliza la información contenida en la muestra para aproximar la incertidumbre de los resultados. Este enfoque permite aplicar la inferencia estadística incluso en contextos complejos, donde las soluciones analíticas son imposibles o poco fiables.
En la práctica, el bootstrap se emplea cuando:
No se conoce la distribución del estadístico de interés.
El tamaño muestral es pequeño y no se cumplen los supuestos de normalidad.
Se desea estimar la variabilidad o el sesgo de un estimador sin depender de fórmulas teóricas.
Se pretende evaluar la estabilidad o precisión de estimaciones complejas, como ocurre en algunos modelos de regresión o en estimadores no lineales.
Gracias a esta versatilidad, el bootstrap se ha convertido en una herramienta habitual tanto en la investigación aplicada como en el análisis de datos en economía, finanzas, ciencias sociales o biomedicina.
Para contextualizar estas aplicaciones, comparamos brevemente el enfoque con el marco tradicional.
Diferencias con los métodos tradicionales
El método bootstrap se diferencia de los enfoques tradicionales de la inferencia estadística en la forma en que aborda la incertidumbre. Mientras que las técnicas clásicas se apoyan en resultados teóricos que describen el comportamiento de los estimadores bajo ciertos supuestos (por ejemplo, normalidad o homogeneidad de varianzas), el bootstrap adopta una estrategia más empírica: utiliza los datos observados como punto de partida para reproducir de manera simulada el proceso de muestreo. En otras palabras, los métodos tradicionales se basan en la deducción matemática, mientras que el bootstrap se apoya en la experimentación computacional. Esta diferencia metodológica hace que el bootstrap resulte especialmente útil cuando los supuestos teóricos no se cumplen o cuando el estadístico de interés no tiene una distribución conocida.
La siguiente tabla resume las principales diferencias entre ambos enfoques:
Aspecto
Métodos tradicionales
Método bootstrap
Supuestos
Requieren supuestos sobre la población (normalidad, varianzas iguales, etc.)
No requiere supuestos teóricos.
Origen de las muestras
Se extraen directamente de la población
Se extraen con reemplazo de la muestra original.
Cálculo del error estándar
Mediante fórmulas analíticas
A partir de la variabilidad empírica de los remuestreos.
Intervalos de confianza
Basados en distribuciones teóricas (normal, t)
Basados en percentiles de la distribución bootstrap.
Flexibilidad
Limitado a casos con distribución conocida
Aplicable a casi cualquier estadístico.
Como consecuencia, el método bootstrap no reemplaza los procedimientos tradicionales, sino que los complementa. Cuando los supuestos teóricos son razonables y el tamaño muestral es grande, los métodos clásicos siguen siendo válidos y eficientes. Sin embargo, en situaciones donde esos supuestos se rompen, el bootstrap ofrece una alternativa práctica que permite seguir realizando inferencias de manera coherente y controlada.
Esta comparación no estaría completa sin señalar los escenarios en los que el bootstrap puede fallar.
Limitaciones del método bootstrap
Aunque el método bootstrap es una herramienta muy potente y flexible, no está exento de limitaciones.
Muestra no representativa: Su principal fortaleza (basarse en la información contenida en la muestra) puede convertirse también en su mayor debilidad cuando esa muestra no representa adecuadamente a la población de la que procede. El bootstrap parte de la idea de que la muestra observada es un buen reflejo del proceso generador de los datos. Si esa premisa no se cumple, las remuestras reproducirán los mismos sesgos que ya existían en los datos originales. En consecuencia, los resultados del bootstrap pueden dar una falsa sensación de precisión, especialmente cuando el tamaño muestral es reducido o cuando existen valores atípicos que distorsionan las estimaciones.
Coste computacional:Otro aspecto a tener en cuenta es el carácter computacional del método. El bootstrap requiere generar miles de remuestras y recalcular el estadístico de interés en cada una de ellas. Esto no supone un problema con las capacidades actuales de los ordenadores, pero puede ser costoso si se trabaja con muestras muy grandes o con modelos estadísticos complejos.
Razonamineto estadístico Por último, el bootstrap no sustituye el razonamiento estadístico. El hecho de que un resultado se obtenga mediante remuestreo no garantiza su validez si el modelo inicial está mal planteado o si los datos no cumplen las condiciones básicas de independencia o aleatoriedad.
Teniendo todo esto en cuenta, el método bootstrap ofrece una aproximación empírica muy útil para estimar la incertidumbre, pero sus resultados deben interpretarse con cautela.
Como ocurre con cualquier técnica estadística, su eficacia depende en gran medida de la calidad de los datos y del buen juicio del analista que la aplica.
Con este marco conceptual, pasamos a implementar el procedimiento en R sobre ejemplos sencillos y casos aplicados.
Realización práctica del método Bootstrap
A continuación se muestran ejemplos básicos de uso del bootstrap con distintos estadísticos.
Ejemplo para la Media
Vamos a realizar el ejemplo de un muestreo bootstrap para la media con un ejemplo sencillo. Imaginemos que disponemos de una muestra de tamaños de un pedido (en €) registrados en un día en una tienda online: \[
x = (18,\, 22,\, 25,\, 19,\, 21,\, 20,\, 27,\, 35,\, 24,\, 23,\, 19,\, 18,\, 29,\, 31,\, 26,\, 22,\, 40,\, 28,\, 21,\, 23)
\] En primer lugar vamos a estimar por la media (poblacional) mediante la media muestral, despúes el error estádar de la estimación por el método bootstrap (muy importante para poder hacer inferencia) y por último construir el intervalo de confianza por este método:
Para obtener la desviación estándar de la media muestral, la idea es re-muestrear con reemplazo \(B\) veces los datos observados, calcular la media en cada re-muestra y obtener el error estándar como la desviación típica de las medias bootstrap, y el IC del 95% como los percentiles 2.5% y 97.5%.
Code
B <-5000medias_boot <-replicate(B, {muestra_boot <-sample(x, size = n, replace =TRUE)mean(muestra_boot)})# Error estándar bootstrapse_boot <-sd(medias_boot)# IC bootstrap por percentiles (95%)ic_boot_perc <-quantile(medias_boot, probs =c(0.025, 0.975), names =FALSE)list(se_boot = se_boot, ic_boot_perc = ic_boot_perc)
hist(medias_boot, breaks =30,main ="Distribución bootstrap de la media",xlab ="Media (bootstrap)",border ="gray",col ="lightblue")abline(v = media_muestral, col ="darkblue", lwd =2)abline(v = ic_boot_perc,col ="red", lty =2)
El valor obtenido para el error estándar bootstrap (1.24) representa la variabilidad empírica de la media muestral cuando se repite el proceso de muestreo muchas veces sobre la muestra original.
A diferencia del error estándar teórico \(\frac{S}{\sqrt{n-1}}\) , este se obtiene sin suponer normalidad ni conocer la varianza poblacional, basándose únicamente en los datos observados.
El intervalo de confianza bootstrap del 95%\([22.25; 27.15]\) se construye tomando los percentiles 2.5% y 97.5% de las 5.000 medias bootstrap generadas.
De este modo, los extremos del intervalo representan los valores entre los que se encuentra el 95% de las medias obtenidas en los remuestreos, proporcionando una estimación empírica del rango plausible para la media poblacional.
Podemos realizar este mismo proceso de una forma más inmediata utilizando el paquete boot
Code
library(boot)media_fun <-function(data, indices) {mean(data[indices])}res_boot <-boot(data = x, statistic = media_fun, R = B)# Resumen (incluye el sesgo y SE bootstrap)res_boot
ORDINARY NONPARAMETRIC BOOTSTRAP
Call:
boot(data = x, statistic = media_fun, R = B)
Bootstrap Statistics :
original bias std. error
t1* 24.55 -0.0438 1.256035
Code
#Intervalos de confianza con bootic_boot_ci <-boot.ci(res_boot, type =c("perc", "bca"))ic_boot_ci
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 5000 bootstrap replicates
CALL :
boot.ci(boot.out = res_boot, type = c("perc", "bca"))
Intervals :
Level Percentile BCa
95% (22.15, 27.15 ) (22.50, 27.60 )
Calculations and Intervals on Original Scale
Code
#Nota: El intervalo BCa (bias-corrected and accelerated) ajusta por sesgo y curvatura, y suele comportarse mejor que el percentil puro cuando hay asimetrías o sesgo.
Este procedimiento muestra cómo el bootstrap permite evaluar la incertidumbre de un estimador** sin depender de fórmulas teóricas ni de la distribución subyacente de los datos.
POdemos comparar los resultados obtenidos con el procedimiento bootstrap con el método clásico. Si calculamos el intervalo de confianza que conocemos (suponiendo vrianza poblacional desconocida)
Al comparar los resultados obtenidos por el método bootstrap con los del intervalo clásico basado en la distribución t de Student, se observan las siguientes consideraciones:
Similitud en muestras grandes o distribuciones aproximadamente normales: Cuando el tamaño muestral es moderado o grande, y los datos no presentan una fuerte asimetría, ambos intervalos tienden a ofrecer resultados muy parecidos. Esto se debe a que, en tales condiciones, la media muestral sigue aproximadamente una distribución normal (por el Teorema Central del Límite), de modo que el intervalo t es una buena aproximación, y el bootstrap simplemente la confirma empíricamente.
Ventaja del bootstrap en muestras pequeñas o distribuciones no normales: Si los datos son asimétricos, presentan valores atípicos o el tamaño muestral es pequeño, el intervalo t puede resultar poco fiable, ya que depende del supuesto de normalidad. El método bootstrap, en cambio, no impone supuestos sobre la forma de la distribución y construye el intervalo directamente a partir de los datos observados, por lo que suele ofrecer una estimación más realista de la incertidumbre.
Interpretación práctica: Si ambos intervalos son similares, podemos concluir que la inferencia clásica basada en la t es adecuada. Si el intervalo bootstrap es más ancho, indica que la variabilidad real de la media podría ser mayor de la que predice el modelo teórico. Si el intervalo bootstrap es asimétrico, refleja que la distribución de la media no es perfectamente normal, algo que el método t no puede captar.
Por tanto, el bootstrap complementa a los métodos tradicionales proporcionando una visión empírica de la variabilidad del estimador. Mientras que el intervalo t se apoya en fórmulas teóricas, el bootstrap se basa en la distribución observada en los remuestreos, ofreciendo así una herramienta más flexible y robusta para el análisis inferencial.
Ejemplo para la Mediana
A diferencia de la media, la mediana no tiene una distribución muestral conocida ni una fórmula sencilla para calcular su error estándar.Esto significa que no podemos aplicar directamente los métodos clásicos basados en la normal o en la t de Student para construir intervalos de confianza.
El método bootstrap ofrece una solución práctica: permite aproximar empíricamente la distribución de la mediana a partir de re-muestreos de la muestra original. De este modo, podemos estimar su variabilidad y construir un intervalo de confianza sin realizar supuestos sobre la distribución poblacional.
Ejemplo En una empresa se registraron los tiempos (en minutos) que tardan los empleados en desplazarse desde su domicilio hasta el trabajo en un día laborable.
La muestra de 15 empleados es la siguiente:
Esto significa que, con un nivel de confianza del 95%, se estima que la mediana poblacional** del tiempo de desplazamiento de los empleados se encuentra entre 26 y 35 minutos. Este rango refleja la variabilidad empírica observada al aplicar el método bootstrap sobre la muestra original.Al no basarse en supuestos teóricos (como la normalidad), este intervalo representa una estimación no paramétrica y robusta, especialmente adecuada para una medida como la mediana, cuya distribución muestral no es conocida.
Utilizando la libreria boot se haría:
Code
library(boot)set.seed(123) # Muy importante para reproducibilidadB <-5000# Datos originalesx <-c(25, 30, 22, 28, 35, 40, 45, 20, 27, 33, 38, 29, 31, 24, 26)# Función que calcula la mediana (correcta)mediana_fun <-function(data, indices) {median(data[indices])}# Ejecutar el bootstrap con 5000 remuestreosres_boot <-boot(data = x, statistic = mediana_fun, R = B)# Ver resultados resumidosres_boot
ORDINARY NONPARAMETRIC BOOTSTRAP
Call:
boot(data = x, statistic = mediana_fun, R = B)
Bootstrap Statistics :
original bias std. error
t1* 29 0.115 2.116571
Code
# Intervalo de confianza (percentil)boot.ci(res_boot, type ="perc")
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 5000 bootstrap replicates
CALL :
boot.ci(boot.out = res_boot, type = "perc")
Intervals :
Level Percentile
95% (26, 35 )
Calculations and Intervals on Original Scale
Si lo visualizamos:
El intervalo de confianza bootstrap del 95% para la mediana del tiempo de desplazamiento es:
\(IC_{95\%}^{\text{bootstrap}} = [26,\ 35]\)
Esto sugiere que, con un 95% de confianza, el tiempo mediano de desplazamiento en la población se sitúa entre 26 y 35 minutos. La amplitud del intervalo refleja una variabilidad moderada, coherente con la dispersión observada en los datos.
Antes de terminar sería habría que hacer dos breves comentarios: 1. Observación sobre la forma de la distribución: El histograma de las medianas bootstrap puede presentar cierta asimetría o incluso tener una forma escalonada. Esto no indica un error, sino una característica inherente a la mediana: al ser un estadístico no lineal y discreto (en el sentido de que toma valores de los datos ordenados), su distribución muestral suele diferir de la normal, especialmente en muestras pequeñas o cuando los datos son asimétricos.
El método bootstrap permite capturar esa forma real de la distribución, mostrando una imagen más fiel de la variabilidad del estadístico que los métodos teóricos basados en normalidad.
Comparación con la media: A diferencia de la media, la mediana es más robusta frente a valores atípicos, por lo que el bootstrap aplicado a la mediana es especialmente útil en distribuciones sesgadas o con outliers. Sin embargo, esa robustez implica también una mayor variabilidad muestral, lo que se refleja en un intervalo de confianza algo más ancho que el de la media para una muestra de tamaño similar.
Ejemplo para la Proporción
En ocasiones, queremos estimar una proporción poblacional (por ejemplo, el porcentaje de clientes satisfechos, de votantes que apoyan una medida o de productos defectuosos), pero no conocemos la distribución exacta del estimador. Aunque teóricamente la proporción muestral \(\hat{p}\) se aproxima a una distribución normal para tamaños grandes (por el Teorema Central del Límite), en muestras pequeñas o proporciones extremas esa aproximación puede fallar.
El método bootstrap permite obtener de forma empírica la distribución de \(\hat{p}\), estimar su error estándar y construir un intervalo de confianza sin depender de supuestos teóricos.
Enunciado del ejemplo
En una encuesta a 40 clientes, 18 declararon estar satisfechos con el servicio recibido.
Queremos estimar la proporción de clientes satisfechos en la población y calcular un intervalo de confianza bootstrap del 95%.
library(boot)# Función que calcula la proporciónprop_fun <-function(data, indices) {mean(data[indices])}res_boot <-boot(data = satisfaccion, statistic = prop_fun, R = B)# Resumen del resultadores_boot
ORDINARY NONPARAMETRIC BOOTSTRAP
Call:
boot(data = satisfaccion, statistic = prop_fun, R = B)
Bootstrap Statistics :
original bias std. error
t1* 0.45 -0.00084 0.07864815
Code
# Intervalo de confianza por percentilesboot.ci(res_boot, type ="perc")
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 5000 bootstrap replicates
CALL :
boot.ci(boot.out = res_boot, type = "perc")
Intervals :
Level Percentile
95% ( 0.3, 0.6 )
Calculations and Intervals on Original Scale
Si lo vemos gráficamente:
Code
hist(as.numeric(res_boot$t), breaks =30, col ="lightblue",main ="Distribución bootstrap de la proporción",xlab ="Proporciones bootstrap")abline(v = p_hat, col ="red", lwd =2)abline(v =quantile(res_boot$t, c(0.025, 0.975)), col ="darkblue", lty =2)
Interpretación de los resultados: El valor obtenido de la proporción muestral \(\hat{p} = 0.45\) indica que el 45% de los clientes de la muestra están satisfechos con el servicio.
El intervalo de confianza bootstrap del 95%, por ejemplo:
\(IC_{95\%}^{\text{bootstrap}} = [0.30,\ 0.60]\)
muestra el rango de valores plausibles para la proporción poblacional real de clientes satisfechos.
Con un nivel de confianza del 95%, se estima que entre el 30% y el 60% de todos los clientes están satisfechos con el servicio.
Este intervalo refleja la variabilidad empírica de la proporción al repetir el proceso de muestreo muchas veces. A diferencia del intervalo clásico basado en la aproximación normal, este resultado no requiere que el tamaño muestral sea grande ni que la proporción \(p\) esté alejada de los extremos (0 o 1).
Además, el intervalo de confianza bootstrap del 95% para la proporción de clientes satisfechos es relativamente amplio, lo cual refleja la incertidumbre inherente al uso de una muestra pequeña (40 clientes). Un intervalo más estrecho requeriría una muestra mayor. El hecho de que el resultado coincida prácticamente con los intervalos obtenidos por los métodos clásico (normal) confirma que el procedimiento bootstrap está correctamente implementado.
Ejemplo para la Diferencia de medias
En muchos estudios comparativos se desea determinar si dos grupos presentan diferencias en sus valores medios. Por ejemplo, comparar el gasto medio de dos tipos de clientes, los salarios medios entre hombres y mujeres, o la puntuación media de satisfacción entre dos establecimientos. Cuando no se cumplen los supuestos de normalidad o las muestras son pequeñas, los intervalos clásicos basados en la t de Student pueden no ser adecuados. En estos casos, el método bootstrap permite estimar la distribución muestral de la diferencia de medias \((\bar{x}_1 - \bar{x}_2)\) de manera empírica, sin supuestos teóricos.
Enunciado del ejemplo: Una empresa quiere comparar el tiempo medio de respuesta al cliente (en segundos) entre dos departamentos:
- Departamento A: atiende consultas por correo electrónico.
- Departamento B: atiende por chat en línea.
Se registran los siguientes tiempos de respuesta (en segundos): \[
A = (40,\, 42,\, 45,\, 38,\, 47,\, 43,\, 41,\, 39)
\]
Queremos estimar mediante bootstrap no paramétrico la diferencia de medias poblacional \(\mu_A - \mu_B\) y construir un intervalo de confianza del 95%.
library(boot)# Combinamos los datos y creamos un factor que indica el grupodatos <-data.frame(valor =c(A, B),grupo =rep(c("A", "B"), times =c(length(A), length(B))))# Función que calcula la diferencia de mediasdiff_fun <-function(data, indices) {d <- data[indices, ]mean(d$valor[d$grupo =="A"]) -mean(d$valor[d$grupo =="B"])}res_boot <-boot(data = datos, statistic = diff_fun, R = B_reps)# Resultadosres_boot
# Intervalo de confianza bootstrapboot.ci(res_boot, type ="perc")
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 5000 bootstrap replicates
CALL :
boot.ci(boot.out = res_boot, type = "perc")
Intervals :
Level Percentile
95% ( 6.500, 11.875 )
Calculations and Intervals on Original Scale
Visualizandolo:
Interpretación de los resultados: El valor de la diferencia de medias muestral es aproximadamente:
\(\bar{x}_A - \bar{x}_B = 10.5\)
El intervalo de confianza bootstrap del 95%, por ejemplo:
\[
IC_{95\%}^{\text{bootstrap}} = [8.0,\ 13.5]
\]
indica que, con un nivel de confianza del 95%, la diferencia media en los tiempos de respuesta entre los dos departamentos se encuentra entre 8 y 13,5 segundos.
Esto significa que el Departamento A tarda, en promedio, entre 8 y 13,5 segundos más que el Departamento B en responder a los clientes.
El intervalo no contiene el valor 0, lo que sugiere una diferencia significativa entre las medias poblacionales. Este resultado se ha obtenido sin suponer normalidad ni igualdad de varianzas, utilizando únicamente los datos observados.