# sembrar la semilla para la reproducibilidad
set.seed(123)
# adjuntar el paquete `mvtnorm`
# establecer el número de iteraciones de muestreo
N <-
# inicializar el vector `beta_hats`
beta_hats <-
# realizar la simulación usando `for()`
for(i in 1:N) {
}
# calcular la media muestral de las estimaciones
# sembrar la semilla para la reproducibilidad
set.seed(123)
# adjuntar el paquete `mvtnorm`
library(mvtnorm)
# establecer el número de iteraciones de muestreo
N <- 1000
# inicializar el vector `beta_hats`
beta_hats <- c()
# estimación de bucle
for (i in 1:N) {
# simular el conjunto de datos y establecer los nombres de las columnas
d <- data.frame(rmvnorm(1000, c(50, 100), sigma = cbind(c(10, 5), c(5, 10))))
colnames(d) <- c("X", "Y")
# agregar el error de medición a `X`
d[,1] <- d[,1] + rnorm(100,0,sqrt(10))
# estimar el modelo de regresión lineal simple
ms_mod <- lm(Y ~ X, data = d)
# guardar la estimación
beta_hats[i] <- ms_mod$coefficients[2]
}
# calcular la media muestral de las estimaciones
mean(beta_hats)
test_object("beta_hats")
test_output_contains("mean(beta_hats)")
success_msg("¡Bien hecho! La media de la muestra debe estar cerca de 0.75, pero es de alrededor de 0.25 debido al sesgo a la baja que implica el error de medición en X. Aumentar el tamaño de la muestra no alivia el sesgo (¡resalte esto!) porque el MCO es inconsistente.")