2016-7-7_21-5-15_No-00

回帰分析・クラス分類のとき、変数間の多重共線性が問題になります。そのときによく使われるのがPCAPLSです。PCA・PLSではデータセットの説明変数を、互いに無相関な主成分軸に変換します。そのあとに少ない主成分のみ用いて目的変数との間で回帰分析することで、「共線性に対処」しています。

でも、「共線性に対処」するってことは、回帰モデル・クラス分類モデルの精度が上がるってこととはちょっと違います

多重共線性とは?

多重共線性は英語でmulticollinearityもしくは単にcollinearity、日本語でもマルチコって呼ばれたりします。説明変数の間に相関があるってことです。このときに、データセットのサンプルの間の距離がうまく計算できなかったり、回帰モデル・クラス分類モデルを作るときに問題が起こります。

一般的に言われている、回帰分析・クラス分類のときの多重共線性の問題

とりあえず回帰モデルを作るときの問題に絞ります。ただクラス分類モデルでも同じことがいえます。問題を一言でいうと、モデルが不安定になる、ということです。

たとえば、2つの説明変数があり、それらの間の相関が高いとしましょう。目的変数との間で線形の回帰分析を行うと、2つの説明変数に回帰係数が割り当てられます。ただ、説明変数が相関している、つまり似ているので、回帰係数が変わりやすいんです。一つの回帰係数の値を 1 大きくして、もう一つの回帰係数の値を 1 小さくしてもだいたい同じモデルを表しますよね。サンプルが増えたり減ったりして、データセットがちょっと変わったときに、この回帰係数が変わりやすい、つまり不安定ということです。

さらに厄介なのが、とくに説明変数の数が大きくなったときに、回帰係数の値が正に大きくなり過ぎたり、負に小さくなり過ぎたりすることです。さきほど説明した通り、一つの回帰係数の値を大きくして別の相関している回帰係数の値を小さくするってことが行き過ぎて、そのように回帰係数の値の絶対値が大きくなってしまいます。こうなると、モデルを構築したときとは別の新しいサンプルを入力したときに、推定値が大きくなりすぎたり、逆に小さくなりすぎたりしてしまいます。いわゆるモデルのオーバーフィッティングです

PCA・PLSの登場

ここでPCAやPLSを使うとどうなるか。PCAやPLSによって、互いに無相関で説明変数より数の小さい主成分を使うことができます。すると、先ほどのように一つの回帰係数の値を大きくして別の回帰係数の値を小さくするっていう調整ができにくくなります。このため回帰係数の値が安定するのです。

このようにPCAやPLSによってモデルのオーバーフィッティングが小さくなり、新しいサンプルに対する推定誤差が小さくなります。そのため、「PCAやPLSによって多重共線性の問題を対処して回帰モデルの精度が上がった」って言われます。

ちょっと待って、モデルの精度は下がってるよ!

ただ、本当に「回帰モデルの精度が上がった」のでしょうか。PCAやPLSでは、変数の間を無相関にすると同時に、主成分の数を少なくすることで回帰係数を調整できる自由度を小さくしています。自由度が小さくなるということは、それだけデータセットを説明できる能力がなくなりますので、モデルの精度は下がります。

そうです。PCAとかPLSを使うとモデルの精度は下がるんです

実は、モデルの適用領域が広くなっていた

PCA・PLSでモデルの精度は下がるのに、どうして新しいサンプルをうまく推定できるようになったのでしょうか。実は、PCA・PLSによってモデルを適用できる領域が広がっていたのです。より多くのサンプルを、ある程度の誤差で推定できるようになった、ということです。

PCA・PLSを使う前は、モデルの精度は高かったのですが、モデル構築用データセットもしくはそのサンプルの非常に近いところにあるサンプルしかちゃんと(誤差が小さく)推定できていませんでした。回帰係数の絶対値が大きいですからね。ちょっとでもモデル構築用データセットのデータ領域から外れると、推定値が外れてしまうわけです。モデルの適用領域が狭い、ということです。

PCA・PLSを使うことで、用いる変数(主成分)の数が減ります。これによって、モデルの自由度は下がり、モデルの精度は下がりますが、回帰係数の絶対値が小さくなり、ちゃんと(ほどほどの誤差で)推定できるサンプルのデータ領域が広がります。これによって、より多くのサンプルをほどほどの誤差で推定できるようになったわけです。

一つ注意点、モデルの適用領域は元の説明変数を用いて設定しましょう

PCA・PLSによってモデルの適用領域は広がります。ただ、一つ注意しなければならないことがあります。それは、モデルの適用領域として、主成分の空間以外も見ましょう、ということです。こちらの記事に、PCAでは、実際のデータ空間では離れたサンプルでも、低次元化したあとに近くに来てしまう、といったことを書きました。

データの見える化・可視化をした結果を解釈するときに必要なたった1つのこと

これは、実際のデータ空間では新しいサンプルがモデル構築用データセットから離れていても、PCA・PLSによってあたかもモデルの適用領域内にきてしまうことを表します。このようなサンプルはしっかり検出して、ちゃんとモデルの適用領域の外、としなければなりません。つまり、モデルの適用領域は元の説明変数を用いて設定してください。

まとめ

説明変数の多重共線性の話から始まり、モデルの精度とモデルの適用領域の関係について説明しました。モデルの精度とモデルの適用領域の広さとは、トレードオフの関係です。つまり、モデルの精度を上げると適用領域は狭くなり、精度を下げると適用範囲は広がります。実際にモデルを運用するときは、この辺りにも注意するようにしましょう。

ご案内。

オススメ記事セレクション。

twitterでも発信中。

フォローしていただけると嬉しいです。


無料メルマガでブログにない情報を配信中。

無料メルマガの登録はこちら