Rでロバスト回帰

統計数理研の方のお勧めのテキストは↓だそうです。
http://www.amazon.co.jp/Robust-Statistics-Theory-Methods-Probability/dp/0470010924

ロバスト回帰ははずれ値の影響を小さくした回帰法。
はずれ値に強い回帰ができます。

ロバスト回帰のイメージは、
http://imagingsolution.blog107.fc2.com/blog-entry-32.html
参考にしてください。

Rではロバスト推定はrobustbaseパッケージ。
回帰についてはlmrob関数です。



Rでの実装。
まず、robustbase パッケージをインポート。
http://cran.r-project.org/web/packages/robustbase/index.html


ロバスト線形回帰の例。

#ライブラリのインポート
library(robustbase)
#データ作り
x<-1:100
y<-3*x+rnorm(100,mean=0,sd=20)
#はずれ値
y[seq(2,20,3)]<-300+rnorm(length(seq(2,20,3)),mean=0,sd=20)

#プロット
plot(x,y)
#普通の回帰(緑線)
fit<-lm(y~x)
a<-fit$coefficients[2]
b<-fit$coefficients[1]
curve(a*x+b,add=T,col=3,lty=4,lwd=3)
#ロバストの回帰(赤線)
fit2<-lmrob(y~x)
a2<-fit2$coefficients[2]
b2<-fit2$coefficients[1]
curve(a2*x+b2,add=T,col=2,lty=2,lwd=3)

赤線がロバスト回帰、緑線が普通の回帰。
正解傾き: 3. ロバスト回帰:傾き a2=2.95; 普通の回帰:傾き a=2.07