Aritalab:Lecture/Math/PLS/R PLS

From Metabolomics.JP
< Aritalab:Lecture | Math | PLS
Revision as of 09:20, 19 June 2020 by Adm (Talk | contribs)

Jump to: navigation, search
参考資料

RによるPLS

Rでは pls パッケージを使います。

> install.packages("pls")
> library(pls)
> summary(oliveoil)
   chemical.Acidity     chemical.Peroxide       chemical.K232         chemical.K270          chemical.DK     
 Min.   :0.150000      Min.   : 8.1400       Min.   :1.33100       Min.   :0.08500000    Min.   :-0.00500    
 1st Qu.:0.190000      1st Qu.:10.9500       1st Qu.:1.53600       1st Qu.:0.10150000    1st Qu.:-0.00325    
 Median :0.260000      Median :12.4000       Median :1.65350       Median :0.11600000    Median :-0.00200    
 Mean   :0.311875      Mean   :13.2525       Mean   :1.70825       Mean   :0.11814375    Mean   :-0.00175    
 3rd Qu.:0.312500      3rd Qu.:15.3750       3rd Qu.:1.89325       3rd Qu.:0.12850000    3rd Qu.: 0.00000    
 Max.   :0.730000      Max.   :19.4000       Max.   :2.22200       Max.   :0.16800000    Max.   : 0.00300    
   sensory.yellow      sensory.green       sensory.brown       sensory.glossy      sensory.transp      sensory.syrup   
 Min.   :21.400      Min.   : 9.7000     Min.   : 8.00000    Min.   :67.7000     Min.   :63.50000    Min.   :42.300    
 1st Qu.:32.075      1st Qu.:12.0750     1st Qu.:10.02500    1st Qu.:77.8000     1st Qu.:74.17500    1st Qu.:46.150    
 Median :52.800      Median :31.1500     Median :10.80000    Median :80.4000     Median :77.20000    Median :47.500    
 Mean   :50.875      Mean   :33.5125     Mean   :12.33125    Mean   :80.8125     Mean   :78.19375    Mean   :47.975    
 3rd Qu.:68.800      3rd Qu.:54.7000     3rd Qu.:11.97500    3rd Qu.:85.3750     3rd Qu.:84.87500    3rd Qu.:50.650    
 Max.   :73.500      Max.   :73.4000     Max.   :28.40000    Max.   :89.9000     Max.   :89.70000    Max.   :52.800    

ここではオリーブオイル 16種(ギリシャ5, イタリア5, スペイン6)のデータを利用します。chemical カテゴリーに Acidity, Peroxide, K232, K270, DK の 5 項目、sensory カテゴリーに yellow, green, brown, glossy, transp, syrup の 6 項目の情報があります。

"Chemical" はオイルの品質基準で,いずれも低い方がよいとされます。

  • Acidity 脂肪酸の割合 (EUにおける許容最大値 0.80)
  • Peroxide 酸化の状態 (EUにおける許容最大値 20)
  • K232, K270, DeltaK オイルに含まれる酸性物質の量 (EUにおける許容最大値それぞれ 2.50, 0.20, 0.01)

"Sensory" は官能試験のスコアです。どちらも相関の高い軸を持っています。

OliveoilChemicalPairsR.png OliveoilSensoryPairsR.png


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")
Personal tools
Namespaces

Variants
Actions
Navigation
metabolites
Toolbox