PLS-regression: a basic tool of chemometrics
May 21, 2022重回帰分析は、説明変数の行列がフルランクでないとき、多重共線性により出力が不安定になる。 そのため、説明変数の数を減らし、説明変数間に相関関係がないようにする必要がある。 PLS(部分的最小二乗法)は、入力変数の線形結合で表わせる潜在変数を求め、潜在変数の線形結合で目的変数を表す。 説明変数の数より少ない数の潜在変数を求めることで、説明変数間の相関関係をとりのぞく。
説明変数を\(\boldsymbol{\rm x}_k(k=1, \dots K)\), 目的変数を\(\boldsymbol{\rm y}_m( =1,2, \dots M)\)として、求める潜在変数を\(\boldsymbol{\rm t}_a (a=1,2, \dots , A)\)とおく。 以下では\(\boldsymbol{\rm X}\)は中心化と標準化されているものとする。
潜在変数の要件より、\(A\)は\(K\)より小さく、潜在変数\(\boldsymbol{\rm t}\)は互いに直交である。 潜在変数は、説明変数の一部の\(A\)次元で
$$ t\_{ia} = \sum\_kW^*\_{ka}X\_{ik}; (\boldsymbol{\rm T}=\boldsymbol{\rm XW}^\*) $$と表せる。逆に、潜在変数の線形結合で説明変数を近似するのであれば、\(e_{ik}\)を残差すると
$$ X\_{ik}=\sum\_at\_{ia}p\_{ak} + e\_{ik}; (\boldsymbol{\rm X}=\boldsymbol{\rm TP}^\top+\boldsymbol{\rm E}) $$となる。 \(f_{im}\)を残差とすると目的変数も潜在変数の線形結合により
$$ y\_{im} = \sum\_ac\_{ma}t\_{ia} + f\_{im}; (\boldsymbol{\rm Y}=\boldsymbol{\rm TC}^\top+\boldsymbol{\rm F}) $$になる。以上をあわせると、
$$ y\_{im}=\sum_ac\_{ma}\sum\_kw^\*\_{ka}x\_{ik} + f\_{im} = \sum\_kb\_{mk}x\_{ik}+f\_{im} $$$$ \boldsymbol{\rm Y} = \boldsymbol{\rm XW}^\*\boldsymbol{\rm C}^\top + \boldsymbol{\rm F} = \boldsymbol{\rm XB} + \boldsymbol{\rm F} $$
であり、PLSの回帰係数を
$$ b\_{mk}=\sum\_ac\_{ma}w^\*\_{ka}; (\boldsymbol{\rm B}=\boldsymbol{\rm W}^\* \boldsymbol{\rm C}^\top) $$とかける。
PLSの学習アルゴリズムに、NIPALS(非線形反復部分最小二乗法)がある。 これはまず、\(\boldsymbol{\rm u}\)を\(\boldsymbol{\rm Y}\)のある列ベクトルとする。 次に
$$ \boldsymbol{\rm w} = \boldsymbol{\rm X}^\top \boldsymbol{\rm u} / \boldsymbol{\rm u}^\top \boldsymbol{\rm u} $$その後、\(\mid\mid \boldsymbol{\rm w}\mid \mid = 1.0\)としてもよい。
これをもとに\(\boldsymbol{\rm t}=\boldsymbol{\rm Xw}\)として潜在変数\(\boldsymbol{\rm t}\)を計算し、さらに、\(\boldsymbol{\rm c}=\boldsymbol{\rm Y}^\top \boldsymbol{\rm t} / \boldsymbol{\rm t}^\top \boldsymbol{\rm t}\)とする。
最後に、\(\boldsymbol{\rm u}\)を更新する。
$$ \boldsymbol{\rm u}=\boldsymbol{\rm Yc}/\boldsymbol{\rm c}^\top\boldsymbol{\rm c} $$\(\mid \mid\boldsymbol{\rm t_{\text{old}}} - \boldsymbol{\rm t_{\text{new}}}\mid\mid / \mid\mid \boldsymbol{\rm t_{\text{new}}}\mid\mid < \epsilon\)が収束していなければ、\(\boldsymbol{\rm w}\)を求めるところに戻る。
以下の式で現在の成分を\(\boldsymbol{\rm X}, \boldsymbol{\rm Y}\)からデフレーションし、はじめに戻る。
$$ \begin{align} \boldsymbol{\rm p} &= \boldsymbol{\rm X}^\top \boldsymbol{\rm t}/(\boldsymbol{\rm t}^\top \boldsymbol{\rm t}) \\\\ \boldsymbol{\rm X} &= \boldsymbol{\rm X} - \boldsymbol{\rm t} \boldsymbol{\rm p}^\top \\\\ \boldsymbol{\rm Y} &= \boldsymbol{\rm Y} - \boldsymbol{\rm t}\boldsymbol{\rm c}^\top \end{align} $$論文のリンク