2つの変数(と)間の相互作用を調査しています。これらの変数の間には、かなりの線形相関があります。問題の性質から、因果関係については何も言えません(が引き起こすか、またはその逆か)。外れ値を検出するために、回帰直線からの偏差を調べたいと思います。これを行うには、関数として線形回帰を作成するか、またはその逆を行います。可変順序の選択は結果に影響しますか?x 2 r > 0.9 x 1x 1 x 2
2つの変数(と)間の相互作用を調査しています。これらの変数の間には、かなりの線形相関があります。問題の性質から、因果関係については何も言えません(が引き起こすか、またはその逆か)。外れ値を検出するために、回帰直線からの偏差を調べたいと思います。これを行うには、関数として線形回帰を作成するか、またはその逆を行います。可変順序の選択は結果に影響しますか?x 2 r > 0.9 x 1x 1 x 2
回答:
標準回帰では、点と線の間の垂直距離が最小になるため、2つの変数を切り替えると、水平距離が最小になります(同じ散布図の場合)。別のオプション(いくつかの名前で呼ばれます)は、垂直距離を最小化することです。これは、主成分を使用して行うことができます。
以下は、違いを示す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'))
外れ値を探すには、主成分分析の結果をプロットするだけです。
あなたはまた見たいかもしれません:
Bland and Altman(1986)、臨床測定の2つの方法間の一致を評価するための統計的方法。ランセット、307-310ページ