Why does regression dilution always bias the slope toward zero? Regression dilution, in the case of linear regression, is supposed to be what happens when there is noise in the independent variables, namely the slope of the fitted linear regression model becomes smaller.
I don't understand why it can't also become larger. See the following toy example with only two data points, one of which is noisy.

The two black dots represent data points devoid of noise. Since there are only two data points, a linear regression model will fit them perfectly. If the noise changes the second point turning it into the yellow point, then indeed the slope diminishes. If, on the other hand, the noise changes the second point into the red point, the slope increases.
What am I getting wrong here?

late to this sorry David but my view is regression dilution can't be appreciated well with just 2 points. If you have a decent sized sample where the x variable is measured with error then those measured x  variables at the extreme will be more extreme tan their true values diluting the regression coeficiant as the y value will be affected by the true x
Maybe we can play around with this code to show its true
#regression dilution bias
np<-30
x<-rnorm(np,30,4)
y<-2.2*x + rnorm(np,0,1)
set.seed(1066)
slopes<-numeric(1000)
for(i in 1:1000)
 slopes[i]<-coef(lm(y ~ rnorm(np,x,1)))[2]
summary(slopes)

