「良過ぎる場合の対処法」で「多重共線性」を回避する方法として「主成分回帰法」を説明しました。今回は別法の「PLS(Partial Least Squares regression:部分的最小二乗法)回帰法」を説明します。原理的なことはまだ理解できていませんので、概略的な話と統計ソフトMinitabの実行例の説明になります。
資料はこちら → PLS回帰分析
p.1 先ず下の図をご覧ください。多重共線性のイメージ図です。3次元空間に相関性の高いデータがある場合、データの近似直線を回転軸とする平面は無数に存在するため、重回帰分析を実施しても因子の係数が一意的に定まりません。この対処法としては、➀高い相関のある因子を取り除くか、②共線性がある列をまとめ、PLS回帰分析する2通りあります。PLS法は、主成分と目的変数との間の共分散が最大になるように主成分を抽出後、線形回帰を実施します。
p2 主成分析とPLS回帰分析を比較しています。主成分分析は、射影した点の分散が最大になる主成分tを作ることを意味し、PLS回帰分析は、目的変数yとの分散が最大になる主成分tを作ることを意味します。右下図のように目的変数yと相関がとれる軸を主成分分析を用いて逐次探していく解析法です。いまいち理解し難いので、分かり次第アップします。
p.3 統計ソフトMinitabにPLS回帰分析用のデータがありましたので、これを用いてPLS回帰分析を実行してみます。このデータは、60個の大豆粉のサンプルを分析して、その際の近赤外スペクトルの88波長の説明変数と応答変数として水分と脂肪分を調べています。60から54サンプルをランダムに抜き取りPLS回帰分析を実施後、6個の検定用のサンプルで水分・脂肪分を予測します。
p.4 水分を目的変数、88波長データを説明変数として重回帰分析を実行してみました。重回帰分析不能であることがわかります。
p.5 Minitbを用いて、➀標本データ「大豆粉.MTW」を開くとデータが表示されます。②統計 → 回帰→PLS の順にクリックします。ポップアップが表示されますので、③応答に、水分・脂肪を選択、モデルに'1'-'88’を選択して「予測」をクリック、④連続予測変数の新しい観測値に、テスト1-テスト88を選択、応答の新しい観測値(オプション)に、水分2脂肪2を選択してOKをクリックします。
p.6 ⑤「グラフ」をクリック、⑥見たいグラフにチェック入れてOK、⑦ビュー→ 出力のみをクリックすると実行結果が表示されます。水分と脂肪に関する検定の決定係数が0.9あるいは0.8なのでモデルが十分予測できていることを示しています。6個の検定用のサンプルにおいて、水分・脂肪分を95%の信頼度で予測しています。
p.7 左図は、水分と脂肪について波長毎の重み付け係数を示しています。右図は、モデルによる予測値と実測値の相関を水分と脂肪についてプロットしています。相関がとれていることがわかります。
p.8 左図は、第1主成分が横軸で、縦軸に比べて分散が大きいことを示しています。右上は、88波長の多くが水平方向に近いベクトルになっています。横軸が第1主成分ですので、このモデルは第1主成分の軸を用いていることがわかります。右下図は、88波長毎のモデルの分散の程度を示しています。
まだ、詳細の計算原理は理解できていませんが、PLS回帰分析がやろうとしていることは何となくイメージできました。また、新たな知見が得られましたら、お伝えいたします。