La régression standard minimise la distance verticale entre les points et la ligne, donc la commutation des 2 variables minimisera maintenant la distance horizontale (étant donné le même nuage de points). Une autre option (qui porte plusieurs noms) est de minimiser la distance perpendiculaire, cela peut être fait en utilisant des composants principaux.
Voici un code R qui montre les différences:
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'))
Pour rechercher des valeurs aberrantes, vous pouvez simplement tracer les résultats de l'analyse des principaux composants.
Vous pouvez également regarder:
Bland et Altman (1986), Méthodes statistiques pour évaluer l'accord entre deux méthodes de mesure clinique. Lancet, pp 307-310