Standart regresyon, noktalar ve çizgi arasındaki dikey mesafeyi en aza indirir, bu nedenle 2 değişkenin değiştirilmesi artık yatay mesafeyi en aza indirir (aynı dağılım grafiği verildiğinde). Başka bir seçenek (birkaç isim ile gider) dikey mesafeyi en aza indirmektir, bu prensip bileşenleri kullanılarak yapılabilir.
Farklılıkları gösteren bazı R kodları şunlardır:
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'))
Aykırı değerleri aramak için sadece temel bileşenler analizinin sonuçlarını çizebilirsiniz.
Ayrıca şunlara da bakmak isteyebilirsiniz:
Bland ve Altman (1986), İki Klinik Ölçüm Yöntemi Arasındaki Anlaşmayı Değerlendirmede İstatistiksel Yöntemler. Lancet, s 307-310