Bueno, en el mundo bayesiano, se podría hacer algo así (notación bugs/JAGS):
intcept ~ dnorm(0, 0.01)
sigma ~ dunif(0, 10)
X_SE ~ dunif(0, 10)
Y_SE <- X_SE * sqrt(2) # measurement error variance of X is supposed to be two times lower than of X
b ~ dnorm(0, 0.01)
for (i in 1:N) {
X_real[i] ~ dnorm(X[i], 1/X_SE^2)
Y_real_exp[i] <- intcept + b * X_real[i]
Y_real[i] ~ dnorm(Y_real_exp[i], 1/sigma^2)
Y[i] ~ dnorm(Y_real[i], 1/Y_SE^2)
}
X[i] e Y[i] son tus medidas; X_real e Y_real son los valores reales, que no conoces. X_SE e Y_SE son sus errores de medición de X e Y. Esto es realmente hermoso en los modelos bayesianos, que usted puede modelar esto muy fácilmente. Y la regresión en sí se hace sobre esos valores latentes (desconocidos) de X_real e Y_real. Se aconseja estandarizar X.
No estoy seguro de cómo hacer esto en un entorno no bayesiano. Los procesos gaussianos también deberían ser capaces de manejar datos de entrada inciertos, pero no tengo experiencia en ello.
EDIT: Me di cuenta de que este modelo tendría un problema para identificar los parámetros X_SE e Y_SE. Sólo se puede aplicar si usted tiene alguna estimación de lo grande que estos errores son, ya que el modelo no tiene información de cómo decir lo grande que estos errores son en realidad.