La regresión estándar minimiza la distancia vertical entre los puntos y la línea, por lo que cambiar las 2 variables ahora minimizará la distancia horizontal (dada la misma gráfica de dispersión). Otra opción (que tiene varios nombres) es minimizar la distancia perpendicular, esto se puede hacer utilizando componentes principales.
Aquí hay un código R que muestra las diferencias:
library(MASS)
tmp <- mvrnorm(100, c(0,0), rbind( c(1,.9),c(.9,1)) )
plot(tmp, asp=1)
fit1 <- lm(tmp[,1] ~ tmp[,2]) # horizontal residuals
segments( tmp[,1], tmp[,2], fitted(fit1),tmp[,2], col='blue' )
o <- order(tmp[,2])
lines( fitted(fit1)[o], tmp[o,2], col='blue' )
fit2 <- lm(tmp[,2] ~ tmp[,1]) # vertical residuals
segments( tmp[,1], tmp[,2], tmp[,1], fitted(fit2), col='green' )
o <- order(tmp[,1])
lines( tmp[o,1], fitted(fit2)[o], col='green' )
fit3 <- prcomp(tmp)
b <- -fit3$rotation[1,2]/fit3$rotation[2,2]
a <- fit3$center[2] - b*fit3$center[1]
abline(a,b, col='red')
segments(tmp[,1], tmp[,2], tmp[,1]-fit3$x[,2]*fit3$rotation[1,2], tmp[,2]-fit3$x[,2]*fit3$rotation[2,2], col='red')
legend('bottomright', legend=c('Horizontal','Vertical','Perpendicular'), lty=1, col=c('blue','green','red'))
Para buscar valores atípicos, solo puede trazar los resultados del análisis de componentes principales.
También es posible que desee mirar:
Bland y Altman (1986), Métodos estadísticos para evaluar el acuerdo entre dos métodos de medición clínica. Lancet, pp 307-310