Upgrade to Pro — share decks privately, control downloads, hide ads and more …

部分的最小二乗回帰(Partial Least Squares Regression, PLS)

部分的最小二乗回帰(Partial Least Squares Regression, PLS)

部分的最小二乗回帰 (PLS) とは?
どうして PLS を使うの?~多重共線性~
多重共線性への対策
主成分回帰 (PCR)
PCR と PLS との違い
PLS の概要
PLSの基本式 (yは1変数)
1成分のPLSモデル
t1の計算 yとの共分散の最大化
t1の計算 Lagrangeの未定乗数法
t1の計算 Gの最大化
t1の計算 式変形
t1の計算 w1の計算
p1とq1の計算
2成分のPLSモデル
w2、t2、p2、q2の計算
何成分まで用いるか?
クロスバリデーション
r2CV (予測的説明分散)
成分数の決め方
Root Mean Squared Error (RMSE) : 誤差の指標

PLSのプログラミング課題: http://datachemeng.com/pythonassignment/

Hiromasa Kaneko

August 04, 2017
Tweet

More Decks by Hiromasa Kaneko

Other Decks in Science

Transcript

  1. 部分的最小二乗回帰 (PLS) とは︖ 部分的最小二乗回帰 (Partial Least Squares Regression, PLS) •

    線形の回帰分析手法の1つ • 説明変数(記述⼦)の数がサンプルの数より多くても計算可能 • 回帰式を作るときにノイズの影響を受けにくい • 説明変数の間の相関が高くても対応可能 • 主成分分析をしたあとの主成分と目的変数との間で最小二乗法を ⾏うのは主成分回帰 (PCR) であり、PLSとは異なるので注意 • PLS回帰とかPLSRとも呼ばれているが、ここでは PLS 1
  2. 多重共線性への対策 事前に共線性のある変数(記述⼦)を削除 → 変数選択 • 必要な変数(記述⼦)を取り除いてしまう危険もある Xを無相関化 (相関係数=0 に) してから重回帰分析

    Xの情報の一部のみを使用して重回帰分析 3 主成分分析 (Principal Component Analysis, PCA) + 重回帰分析 主成分回帰 (Principal Component Regression, PCR) 重回帰分析については こちら、PCAについては こちら
  3. 主成分回帰 (PCR) 主成分回帰 (Principal Component Regression, PCR) • 説明変数のデータ X

    のみを用いて主成分分析を⾏い 主成分 T を得る ⁃ T の成分(変数)の間は無相関 • T と目的変数 y との間で最小二乗法による重回帰分析 4 T X y 成分抽出 (PCA) 最小二乗法 X y 最小二乗法 通常の重回帰分析 PCR 説明変数(記述⼦) サンプル 目的変数(物性・活性) 主成分
  4. PCR と PLS との違い PCA • 主成分 t の分散 (

    tTt ) が最大になるように主成分を抽出 PLS • 主成分 t と目的変数 y との共分散 ( tTy ) が最大になるように 主成分を抽出 5 -2 0 2 -2 -1 0 1 2 y t -2 0 2 -2 -1 0 1 2 y t 共分散 大きい 共分散 小さい
  5. PLS の概要 PCA • 主成分 t の分散 ( tTt )

    が最大になるように主成分を抽出 PLS • 主成分 t と目的変数 y との共分散 ( tTy ) が最大になるように 主成分を抽出 6 T X y 最小二乗法 成分抽出 yの情報 説明変数(記述⼦) サンプル 主成分
  6. PLSの基本式 (yは1変数) 7 A : PLS の成分数 ta : a

    番目の主成分 pa : a 番目のローディング E : X の残差 E TP E p t X + = + = ∑ T T A a a a f Tq f t y + = + = ∑ A a a a q qa : a 番目の係数 f : y の残差 X、y はオートスケーリング後 (平均0、標準偏差1) オートスケーリングについては こちら ⾏列の表し⽅やローディングについては こちら
  7. t1 の計算 yとの共分散の最大化 9 y と t1 の共分散 yTt1 を最大化するよう

    t1 を求める オートスケーリングしているため X と y は平均0 y との関連性が大きい t1 を抽出したい ただし、 (制約条件) 1 1 = w
  8. t1 の計算 Lagrangeの未定乗数法 10 Lagrangeの未定乗数法 μ を未知の定数として、下の G を最大化 (

    ) ( ) 1 1 G 2 1 1 T 2 1 1 T − − = − − = w Xw y w t y µ µ 制約条件がある中での最大化
  9. t1 の計算 Gの最大化 11 n : データ数 d : 説明変数の数

    ( )       − − = − − = ∑ ∑ ∑ = = = 1 1 G 1 2 , 1 , 1 , 1 1 2 1 1 T d k k k k i d k i n i w w x y µ µ w Xw y G は w1 の関数 0 2 G , 1 1 , , 1 = − = ∂ ∂ ∑ = k n i k i i k w x y w µ k : 変数番号 G が最大値のとき、G を w1 の要素ごとに偏微分した値は 0
  10. t1 の計算 式変形 12 0 2 , 1 1 ,

    = − ∑ = k n i k i i w x y µ k n i k i i w x y , 1 1 , 2µ = ∑ = w1,k を両辺に掛けると、 2 , 1 1 , 1 , 2 k n i k k i i w w x y µ = ∑ = µ 2 1 , 1 , 1 = ∑ ∑ = = d k k k i i n i w x y k について 1 から d まで和を取る (制約条件を使ってwが消える) µ 2 1 T = t y より、 よって、
  11. t1 の計算 w1 の計算 13 µ 2 1 , ,

    1 ∑ = = n i k i i k x y w μは yTt1 の値、w1 の 大きさ(ノルム)は1より、 y X y X w T T 1 = 1 1 Xw t = w1 が得られた後、t1 も計算 k n i k i i w x y , 1 1 , 2µ = ∑ = より、
  12. p1 とq1 の計算 14 p1 は X の残差 E の要素の二乗和が最小になるように求める

    (最小二乗法) 1 T 1 1 T 1 t t t X p = q1 は y の残差 f の要素の二乗和が最小になるように求める (最小二乗法) 1 T 1 1 T 1 t t t y = q
  13. 15 2成分のPLSモデル PLSモデル式 X2 : X の中で1成分のPLSモデルでは説明できない部分 y2 : y

    の中で1成分のPLSモデルでは説明できない部分 2 T 2 2 T 1 1 E p t p t X + + = 2 2 2 1 1 f t t y + + = q q T 1 1 2 p t X X − = 1 1 2 q t y y − = ただし、w2 の大きさ(ノルム)は1 t2 は X2 の線形結合 2 2 2 w X t = 1 2 = w
  14. w2 、t2 、p2 、q2 の計算 16 y2 と t2 の共分散

    y2 Tt2 を最大化するよう t2 を計算する y2 との関連性が大きい t2 を抽出したい 1成分の時と同様にして、 2 T 2 2 T 2 2 y X y X w = 2 2 Xw t = 2 T 2 2 T 2 2 t t t X p = 2 T 2 2 T 2 2 t t t y = q 3成分以降も同様に計算する
  15. クロスバリデーション 例) 3-fold クロスバリデーション 18 X 比較 変数 サンプル y

    X1 X3 y1 y3 X2 y2 X1 y1 X2 y2 X3 モデル1 y3p y1 y3 y2 y1p y3p y2p ① X2 y2 X3 y3 X1 モデル2 y1p ② X3 y3 X1 y1 X2 モデル3 y2p ③ ① ③ ②
  16. r2 CV (予測的説明分散) クロスバリデーションによる予測値を用いた説明分散 r2 • Leave-one-out クロスバリデーション • N-fold

    クロスバリデーション など モデルの予測性を表す指標 1に近いほど良い 19 ( ) ( ) 2 ( ) ( ) CV 2 1 CV 2 ( ) A 1 1 n i i i n i i y y r y y = = − = − − ∑ ∑  y(i)︓i 番目のサンプルにおける 目的変数の値 yCV (i)︓i 番目のサンプルにおける クロスバリデーションによる 目的変数の推定値 yA ︓目的変数の平均値 n︓サンプル数
  17. 成分数の決め⽅ 例) r2 CV 値を指標にして判断 • r2 CV 値が最大値を取る成分数 •

    r2 CV 値が最初の極大値を取る成分数 • r2 CV 値の上昇が最初に0.03以下となる成分数 20 成分数 r2(⻘) r2 CV (赤) モデル構築用データに 対する性能は高くなって いるが、予測性能は低下 → 過学習が起きている
  18. Root Mean Squared Error (RMSE) : 誤差の指標 21 RMSEC (RMSE

    of Calibration) RMSECV (RMSE with Cross-Validation) r2 , r2 CV が大きい ⇔ RMSEC , RMSECV が小さい データが同じであれば、 ( ) ( ) 2 ( ) ( ) 2 1 2 ( ) 1 ˆ 1 n i i i n i i y y r y y = = − = − − ∑ ∑  ( )2 ( ) ( ) 1 C ˆ n i i i y y RMSE n = − = ∑  ( ) ( ) 2 ( ) ( ) 2 1 CV 2 ( ) 1 ˆ 1 n i i CV i n i i y y r y y = = − = − − ∑ ∑  yの計算値 ( )2 ( ) ( ) 1 CV ˆ n i i CV i y y RMSE n = − = ∑  クロスバリデーションによるyの予測値