AL204kusukusu320140830152421_TP_V

最も基本的な線形の重回帰分析は、最小二乗法による重回帰分析です。説明変数xと目的変数yがセンタリングされているとして、
y=xb+f
のベクトルbを、誤差fをサンプルごとに二乗した値の総和が最も小さくなるように決める方法です。

この方法では、bを決めるために用いたデータセットにおける目的変数の誤差は小さくなるのですが、新しいサンプルに対する誤差が大きくなってしまうことが問題でした。つまり、モデル構築用のデータセットにはよく当てはまる一方で、それとは別のデータセットに対するモデルの性能が落ちてしまう、一般的にモデルの過適合 (オーバーフィッティング) とよばれている問題です。

この問題を解決するため、いろいろな方法が開発されました。

  • 主成分回帰 (Principal Component Regression, PCR)
  • 部分的最小二乗法 (Partial Least Squares, PLS)
  • リッジ回帰 (Ridge Regression, RR)
  • Least Absolute Shrinkage and Selection Operator (LASSO)
  • Elastic Net (EN)
  • サポートベクター回帰 (Support Vector Regression, SVR)

などです。これらに共通して言えることは、
モデルを作るときに最適化するパラメータに制限を加えることで、モデルが複雑になる (=過適合する) ことを防ごうとしている
ということです。

それぞれの手法でどのように制限を加えているか、説明します。

主成分回帰 (Principal Component Regression, PCR)

目的変数との間で回帰を行う変数の数に制限を加えています。

説明変数と目的変数との間で直接回帰分析をするのではなく、説明変数からPCAによって主成分を計算し、少数の主成分のみと目的変数との間で回帰分析を行っています。このように主成分の数を制限することでモデルが複雑になることを防ごうとしています。さらに、主成分はデータセットのばらつきを表現できるように計算されるため、なるべく多くの情報を回帰分析に用いることができます。

用いる主成分の数は解析者が決める必要があります。ちなみに、すべての主成分を使用すると、説明変数と目的変数との間で直接回帰分析を行う場合と全く同じになります。

部分的最小二乗法 (Partial Least Squares, PLS)

目的変数との間で回帰を行う変数の数に制限を加えています。

PLSでもPCRと同じように、説明変数から計算された主成分のうち、少数の主成分のみと目的変数との間で回帰分析が行われます。PCRとの違いは、PCRでは主成分がデータセットの分散が大きくなるように計算されるのに対し、PLSでは主成分が目的変数との共分散が大きくなるように計算されます。いずれにせよ、主成分の数を小さくすることでモデルが複雑になるのを防いでいます。

PLSでも使用する主成分の数は解析者が決めなければなりません。すべての主成分を用いた結果は、説明変数と目的変数との間で回帰分析を行った結果と全く同じです。

リッジ回帰 (Ridge Regression, RR)

回帰係数の大きさに制限を加えています。

モデル構築用データセットの目的変数の誤差の二乗和のみを小さくするのではなく、回帰係数の二乗和も一緒に小さくしています。つまり、

  • (誤差の二乗和)+λ(回帰係数の二乗和)

を最小化します。これによって、回帰係数が大きくなってモデルが複雑になることを防ごうとしています。

最小化するときの、誤差の二乗和の項に対する回帰係数の二乗和の項の比率であるλの値は解析者が決める必要があります。

Least Absolute Shrinkage and Selection Operator (LASSO)

回帰係数の大きさに制限を加えています。

LASSOはRRと似ています。モデル構築用データセットの目的変数の誤差の二乗和と一緒に、回帰係数の絶対値の和も小さくしています。つまり

  • RR: (誤差の二乗和)+λ(回帰係数の二乗和) の最小化
  • LASSO: (誤差の二乗和)+λ(回帰係数の絶対値の和) の最小化

ということです。

LASSOでもλの値は解析者が決める必要があります。

Elastic Net (EN)

回帰係数の大きさに制限を加えています。

Elastic netはRRとLASSOの組み合わせです。つまり、

  • (誤差の二乗和)+λ1(回帰係数の二乗和)+λ2(回帰係数の絶対値の和)

を最小化します。

λ1とλ2の値は解析者が決める必要があります。

サポートベクター回帰 (Support Vector Regression, SVR)

回帰係数の大きさと、誤差の計算に使用するサンプルに制限を加えています。

SVRはRRと似ています。誤差に関する項だけでなく、回帰係数の二乗和も一緒に小さくすることはRRと同じです。違いの一つは、SVRでは目的変数の誤差がある値 ε 以下のサンプルの誤差は0として扱われます。これによって、すべてのサンプルの誤差を小さくするために回帰モデルが複雑になることを防ごうとしています。さらにSVRでは、誤差の二乗和ではなく誤差の絶対値の和を用います。

SVRでは、εとRRのλにあたるパラメータCの2つの値については解析者が設定する必要があります。

まとめ

単純な線形の重回帰分析ではモデルが複雑になりすぎてしまい、新しく入力する いろいろなサンプルに対する推定性能が落ちてしまうことから、

  • 目的変数との間で回帰を行う変数の数に制限を加えたり (PCR・PLS)
  • 回帰係数の大きさに制限を加えたり (RR・LASSO・EN・SVR)
  • 誤差の計算に使用するサンプルに制限を加えたり (SVR)

することで工夫されてきました。

ただ、主成分の数やλの値などのパラメータについては解析者が決める必要があります。一般的には、クロスバリデーションの結果がよくなるようにパラメータの値を決めます。