Boostrapping en R para Regresión Lineal: Implementación y Análisis
Clase 28 de 37 • Curso de Estadística Inferencial con R
Resumen
¿Qué es el bootstrapping y cómo se implementa en R?
El bootstrapping es una técnica de remuestreo que permite estimar la distribución de un estadístico mediante la creación de múltiples subconjuntos de los datos originales. En una muestra aleatoria, el proceso se repite varias veces con reemplazo, lo que significa que algunos elementos pueden seleccionarse más de una vez.
En R, el bootstrapping comúnmente se utiliza en la estadística inferencial para estimar intervalos de confianza, especialmente en situaciones donde no se pueden aplicar fórmulas teóricas debido a la estructura compleja de los datos.
¿Cómo se prepara el entorno de trabajo?
Para comenzar a implementar bootstrapping en R, se establece primero el tamaño de la muestra. En el ejemplo se utiliza un tamaño muy pequeño de muestra, solo 23, pero se enfatiza el uso de un gran número de iteraciones para mejorar la precisión de los resultados.
n <- 23 # Tamaño muestral pequeño
iteraciones <- 1000 # Número de iteraciones
# Valores para beta0 y beta1
beta0 <- 1
beta1 <- -0.3
# Desviación estándar del error
desviacion_error <- 0.5
¿Cómo se generan las variables independientes y dependientes?
Para la generación de datos, se definen funciones que simulan la variable independiente X
y la dependiente Y
, basadas en la relación lineal preestablecida. La función generaX
produce valores X
entre -3 y 3, mientras que generaY
crea Y
usando los valores predeterminados de los betas y sumando un error aleatorio.
generaX <- function(n) {
seq(-3, 3, length.out = n)
}
generaY <- function(x, beta0, beta1, desviacion) {
y <- beta1 * x + beta0 + rnorm(length(x), mean = 0, sd = desviacion)
return(y)
}
# Generación de datos
datosX <- generaX(n)
datosY <- generaY(datosX, beta0, beta1, desviacion_error)
¿Cómo se realiza la regresión lineal y el cálculo de los coeficientes?
La regresión lineal en R se lleva a cabo utilizando el modelo LM
. Los coeficientes resultantes del modelo se extraen para su análisis.
modelo <- lm(datosY ~ datosX)
coeficientes_muestrales <- coef(modelo)
¿Qué pasos se siguen para el remuestreo en bootstrapping?
Para realizar el remuestreo, se ejecuta un ciclo for para iterar sobre el número de veces deseadas. En cada iteración, se toma una nueva muestra con reemplazo, se ejecuta la regresión sobre esta muestra y se almacenan los coeficientes. Este proceso se repite densas veces, lo que da como resultado una comparación robusta de los intervalos de confianza.
beta0_est <- numeric(iteraciones)
beta1_est <- numeric(iteraciones)
for (i in 1:iteraciones) {
muestra_indices <- sample(1:n, n, replace = TRUE)
muestraX <- datosX[muestra_indices]
muestraY <- datosY[muestra_indices]
modelo_muestra <- lm(muestraY ~ muestraX)
coef_muestra <- coef(modelo_muestra)
beta0_est[i] <- coef_muestra[1]
beta1_est[i] <- coef_muestra[2]
}
# Cálculo de los intervalos de confianza con bootstrapping
intervalo_beta0 <- quantile(beta0_est, c(0.025, 0.975))
intervalo_beta1 <- quantile(beta1_est, c(0.025, 0.975))
¿Cómo se visualizan los resultados del bootstrapping?
Finalmente, se realiza un gráfico utilizando las funciones de plot y points, mostrando los diferentes estimadores obtenidos mediante bootstrapping y destacando los intervalos de confianza.
plot(beta0_est, beta1_est, xlab = "Beta 0", ylab = "Beta 1", main = "Distribución de Betas via Bootstrap")
abline(v = intervalo_beta0, col = "blue", lty = 2)
abline(h = intervalo_beta1, col = "red", lty = 2)
El bootstrapping, como se ha descrito, ofrece flexibilidad ante la falta de supuestos teóricos al proporcionar una forma empírica de estimar la dispersión estadística y confiar en los resultados, permitiéndonos abordar modelos estadísticos complejos sin depender de criterios normales. ¡Es una herramienta poderosa para tus proyectos de análisis de datos!