# 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.")