PLSR

Partial Least Squares Regression (PLSR) をRで使う方法.PLSRは荒っぽく言うと主成分分析と重回帰分析のあいの子というところか.変数量が多く変数間に共線性(相関が高い)があっても上手く回帰が出来る,らしい.隠れ変数を介して回帰することで共線性を吸収できる模様.
化学分野等のスペクトルデータの解析などに使われるらしいが,あまり知られていない気がする.時系列データの解析に色々使えるのではないだろうか.

#ライブラリーをロード
library(pls)

#データの用意
#(データフレームの1列目に従属変数,その他説明変数の場合)
exp.dat = read.table("data.txt", header=TRUE)
X = exp.dat[,2:length(exp.dat)]
X = scale(X[,apply(X,2,var) != 0])
Y = scale(exp.dat$total)

#実行
#(6は隠れ変数の数, CV = Cross Validation, LOO = Leave One Out も指定できる)
exp.pls = plsr(Y ~ X, 6, validation="CV")

#表示
summary(exp.pls)
plot(exp.pls, "prediciton")
plot(exp.pls, "validation")
biplot(exp.pls, which="loadings")

詳しくは以下を参考に.
http://cse.naro.affrc.go.jp/iwatah/toukei/pls/2004/pls_intro04.htm
プログラミング