2016-06-06_20h42_45

回帰分析手法として、部分的最小二乗法 (Partial Least Squares, PLS) は有力な候補の一つです。またPLSはいろいろな分野で数多く使われている手法であることからも、その有用性の高さがわかります。

しかしPLSといっても、どんなデータに対してもうまくいく万能な手法というわけではありません

そこでPLSの得意・不得意を考えて、PLSでうまくいくケースとうまくいかないケースをまとめます。

PLSでうまくいくケース

PLSでうまくいくのは、

  • 説明変数 (特徴量・記述子・入力変数) と目的変数 (出力変数) との間の関係が線形であるケース
  • 説明変数の間の相関関係が強いケース

です。

説明変数と目的変数との間の関係が線形であるケース

PLSも最小二乗法による重回帰分析と同様に線形の回帰分析手法です。つまり各説明変数に重みが与えられて、各説明変数の値とその重みとのかけ算の総和+定数項で目的変数の値が推定されます。つまり、説明変数と目的変数との間の関係が線形と仮定できるときはPLSが上手く機能するわけです。

説明変数の間の相関関係が強いケース

説明変数の間に強い相関関係があることを共線性の問題と呼び、モデルが不安定になることが知られています。しかしPLSでは、目的変数との共分散の大きい主成分のみで回帰分析を行ない、主成分の間の関係は無相関であるため、うまく共線性の問題を回避できます。説明変数の間に強い相関関係がある方向に主成分軸を設定することで、より少ない数の互いに無相関な変数で目的変数との間の関係をモデル化でき、安定的なモデルを作れるわけです。

PLSでうまくいかないケース

PLSでうまくいかないのは

  • 説明変数と目的変数との間の関係が非線形であるケース
  • データセットの中に外れ値があるケース
  • 目的変数と関係ない変数が説明変数にあるケース

です。

説明変数と目的変数との間の関係が非線形であるケース

当然ですが、説明変数と目的変数との間の関係が線形でなければ、PLSは適切な主成分を抽出できませんし、目的変数との間で適切な回帰モデルは構築できません。このようなときは、説明変数や目的変数を非線形変換して両者が線形関係となるようにしてからPLS解析するか、PLSではなく他の非線形の回帰分析手法を用いるようにしましょう。

データセットの中に外れ値・異常なサンプルがあるケース

データセットによっては、その中に他のサンプルとは説明変数と目的変数との関係が異なる外れ値・異常なサンプルが含まれることがあります。このようなサンプルがあると、まずPLSでは主成分がうまく抽出できません。PLSでは目的変数と主成分との共分散が大きくなるように主成分を抽出します。この共分散の計算に異常なサンプルも含まれてしまうため、適切に共分散が評価されません。そして、その後の主成分と目的変数との間の重回帰でも、異常なサンプルの目的変数の誤差も小さくなるよう回帰係数が計算されるため、うまくいきません。このような異常なサンプルはPLSを行う前に除いておきましょう。

目的変数と関係ない変数が説明変数にあるケース

説明変数の間に相関関係があるときはPLSで適切な主成分を計算できるといいましたが、その前提は、主成分と目的変数との間に線形の関係があることです。関係が非線形のときにうまくいかないことは先ほど述べました。さらに、説明変数の中に目的変数と関係ない変数があることも望ましくありません。理想的には、そのような目的変数と関係のない説明変数に対する重みは0になればよいのですが、PLSでは必ずしもそうはなりません。PLSにはそのような変数の重みを0にするような機能が備わってないためです。偶然に大きな重みがついてしまうことも、特にデータ数が小さいときに起こりますし、そうでなかったとしても、ほとんどの場合は小さいながらも0でない重みがついてしまいます。実際の重みは0にしてほしいのに、このようなことが起きてしまうと、新しいサンプルを入力したときにノイズのように目的変数の推定値の誤差を大きくしてしまいます。PLS解析を行うさいは目的変数と関係のない説明変数を除いておきましょう。

まとめ

最後にまとめると、

○PLSでうまくいくケース

  • 説明変数 (特徴量・記述子・入力変数) と目的変数 (出力変数) との間の関係が線形であるケース
  • 説明変数の間の相関関係が強いケース

○PLSでうまくいかないケース

  • 説明変数と目的変数との間の関係が非線形であるケース
  • データセットの中に外れ値があるケース
  • 目的変数と関係ない変数が説明変数にあるケース

ということです。この辺りのことを考慮に入れてPLS解析を行うようにしましょう!