Aritalab:Lecture/Math/PLS/R PLS
From Metabolomics.JP
- 参考資料
RによるPLS
Rでは pls パッケージを使います。
> install.packages("pls")
> library(pls)
PLSは共線性を持つ変量が多いデータに適するため、PCAなどで使った iris データでは面白くありません。ここではオリーブオイル 16種(ギリシャ5, イタリア5, スペイン6)の官能試験データを利用します。chemical カテゴリーに Acidity, Peroxide, K232, K270, DK の 5 項目、sensory カテゴリーに yellow, green, brown, glossy, transp, syrup の 6 項目の情報があります。3 軸のchemical 主成分で、6項目の値を予測してみます。
> s <- plsr(sensory ~ chemical, ncomp=3, data=oliveoil)
> summary(s)
Data: X dimension: 16 5
Y dimension: 16 6
Fit method: kernelpls
Number of components considered: 3
TRAINING: % variance explained
1 comps 2 comps 3 comps
X 99.59 99.87 100.00
yellow 17.33 47.00 49.48
green 11.64 43.80 45.38
brown 60.41 63.24 68.91
glossy 45.00 51.46 52.98
transp 35.81 45.65 45.96
syrup 57.62 58.80 58.80
3軸目では説明能力があまり上がっていないことがわかります。 各項目への一致度や軸のローディングは plot 関数でわかります。
> plot(s, ncomp=2, asp=1, line=TRUE) > plot(s, "loadings", comps=1:2, legendpos = "topleft")