Regresja standardowa minimalizuje pionową odległość między punktami a linią, więc przełączenie 2 zmiennych zminimalizuje teraz odległość poziomą (biorąc pod uwagę ten sam wykres rozproszenia). Inną opcją (która występuje pod kilkoma nazwami) jest zminimalizowanie odległości prostopadłej, można to zrobić za pomocą podstawowych składników.
Oto kod R, który pokazuje różnice:
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'))
Aby wyszukać wartości odstające, możesz po prostu wykreślić wyniki analizy podstawowych składników.
Możesz także spojrzeć na:
Bland i Altman (1986), Statystyczne metody oceny zgodności między dwiema metodami pomiaru klinicznego. Lancet, ss. 307-310