14.1 Error de medición
El error de medición ocurre cuando las variables predictoras se observan con ruido. Un modelo Bayesiano trata los valores verdaderos como variables latentes, absorbiendo la incertidumbre en la posterior en lugar de ignorarla.
14.1.1 El problema del error de medición
Cuando un predictor se mide con error, el observado difiere del verdadero:
Ignorar este error atenua el coeficiente de regresión estimado — la pendiente se sesga hacia cero. Esto es la dilución de la regresión.
# Demonstrate measurement error and attenuation
set.seed(42)
n <- 200
# True relationship
x_true <- runif(n, 0, 10)
y <- 1 + 0.5 * x_true + rnorm(n, 0, 1)
# Observed x with measurement error
x_obs <- x_true + rnorm(n, 0, 1.5)
# Model 1: Naive (uses observed x — attenuated slope)
m_naive <- lm(y ~ x_obs)
# Model 2: True (uses true x — correct slope)
m_true <- lm(y ~ x_true)
cat("Measurement error demonstration:\n")
cat(" True slope: 0.5\n")
cat(" Naive slope (x_obs):", round(coef(m_naive)[2], 3), "(attenuated!)\n")
cat(" True slope (x_true):", round(coef(m_true)[2], 3), "(correct)\n")
cat("\n Attenuation factor:", round(coef(m_naive)[2] / coef(m_true)[2], 3), "\n")
cat(" The naive slope is biased toward zero.\n")
# Plot
par(mfrow = c(1, 2))
plot(x_true, y, pch = 16, col = "steelblue",
main = "True x vs y", xlab = "x_true", ylab = "y")
abline(m_true, lwd = 2, col = "firebrick")
plot(x_obs, y, pch = 16, col = "steelblue",
main = "Observed x vs y (noisy)", xlab = "x_obs", ylab = "y")
abline(m_naive, lwd = 2, col = "firebrick")
par(mfrow = c(1, 1))14.1.2 Modelo Bayesiano de error de medición
El enfoque Bayesiano trata como una variable latente:
El modelo estima tanto los valores verdaderos como los parámetros de regresión simultáneamente.
# Bayesian measurement error model (concept demonstration)
# We simulate the approach using a simple two-step method
set.seed(42)
n <- 200
x_true <- runif(n, 0, 10)
y <- 1 + 0.5 * x_true + rnorm(n, 0, 1)
x_obs <- x_true + rnorm(n, 0, 1.5)
x_sd <- rep(1.5, n) # known measurement error SD
# Naive model
m_naive <- lm(y ~ x_obs)
# Simple correction: regression calibration
# Step 1: Estimate true x from observed x (shrink toward mean)
x_mean <- mean(x_obs)
x_var_obs <- var(x_obs)
x_var_true <- x_var_obs - mean(x_sd^2)
reliability <- x_var_true / x_var_obs
# Corrected x: shrink observed toward mean
x_corrected <- x_mean + reliability * (x_obs - x_mean)
# Model with corrected x
m_corrected <- lm(y ~ x_corrected)
cat("Measurement error correction:\n")
cat(" Reliability ratio:", round(reliability, 3), "\n")
cat(" Naive slope:", round(coef(m_naive)[2], 3), "\n")
cat(" Corrected slope:", round(coef(m_corrected)[2], 3), "\n")
cat(" True slope: 0.500\n")
cat("\n The corrected slope is closer to the true value.\n")
cat(" Full Bayesian treatment would propagate all uncertainty.\n")El error de medición no es una molestia — es un modelo. El enfoque estándar para el error de medición es ignorarlo y esperar que no importe. Pero siempre importa: atenúa relaciones, reduce potencia y puede invertir conclusiones. El enfoque Bayesiano es modelar el proceso de medición: el valor observado es una medición ruidosa de un valor verdadero, y el modelo estima ambos. Esto no es solo obtener mejores estimados — es ser honesto. Si sabe que sus mediciones son ruidosas, pretender que son exactas es una decisión de modelado, y una mala. El modelo Bayesiano codifica lo que realmente sabe: las mediciones son ruidosas, y el ruido importa.
Resumen de la Sección 14.1
- El error de medición en los predictores atenúa la pendiente (sesga hacia cero).
- El enfoque Bayesiano trata los valores verdaderos como variables latentes.
- — modele el proceso de medición.
- El modelo estima valores verdaderos y parámetros de regresión simultáneamente.
- Ignorar el error de medición es una decisión de modelado — y usualmente una mala.