便利な線形回帰手法PLSの使い方【後編】

2017.12.13

京都大学 教授 加納 学

前編はこちら

注意1:精度向上のために変数選択をする

PLSを用いれば、変数の数がサンプル数よりも多くてもモデルを構築することができます。しかし、だからと言って、変数選択をせずに、入力変数を全部使うのがよいというわけではありません。重回帰分析と異なり、相関の強い入力変数を使っても構いませんが、あくまで出力変数の予測に役立つ入力変数のみを用いるようにして下さい。そうしないと、高い予測精度を実現するのが困難になります。

shutterstock_411088774.jpg

では、どのようにして変数を選択すればいいのでしょう。残念ながら、常に最高の結果を約束してくれる万能な変数選択方法はありません。よく使われている方法の一つに、一度PLSモデルを構築してから、回帰係数の絶対値が大きな入力変数のみを採用するという方法があります。回帰係数の代わりにVIP(Variable Importance in Projection)を指標として用いる方法もよく使われます。遺伝的アルゴリズムのようなヒューリスティックな手法を用いて、組み合わせ最適化問題を解く方法もあります。これらの他にも様々な変数選択方法が提案されていますが、どれが良いかは問題に依存します。このため、どの方法を使うかで悩みすぎることなく、予測に役立つ入力変数のみを用いるという意識を強く持つことが大切です。もちろん、統計的な方法のみに頼るのではなく、対象についての知識を用いて変数を選択することも有効です。

PLSは、潜在変数を入力変数の線形結合で作り出し、その潜在変数を用いて出力変数を表現する方法であるため、潜在変数の数を適切に選ぶことが重要です。潜在変数の数が多すぎると、多重共線性の問題が発生し、オーバーフィッティングしてしまいます。こうなると、モデル構築用データに対する誤差は小さくなりますが、未知のデータに対する予測誤差が大きくなってしまいます。逆に、潜在変数の数が少なすぎても予測精度は低下します。

潜在変数の数を決めるのによく利用されるのがクロスバリデーション(交差検証)です。モデル構築用データをいくつかのグループに分割し、あるグループをモデル検証に、その他のグループをモデル構築に用いて予測誤差を見積り、この作業をグループを入れ替えながら繰り返して、予測誤差の合計が最小となる潜在変数の数を選びます。

注意2:クロスバリデーションの結果を鵜呑みにしない

shutterstock_666627364.jpg

しかし、この予測誤差の合計が二次関数のように美しく鋭い曲線になることはまずありません。大きく上下に振動したり、あちこち凹みまくった鍋底のような形状になったりします。そのような状況で、予測誤差の合計が最小となる潜在変数の数を選ぶと、数が多くなりすぎることが多く、高い予測精度を実現できません。このため、潜在変数の数と予測誤差の合計の関係をグラフに描き、潜在変数を増やしてもあまり誤差が小さくならないところで打ち切るのが良いとされています。その際、潜在変数の寄与率も確認するようにして下さい。寄与率がほぼゼロの潜在変数をモデルに組み込む必要はありません。というか、そんなことをすると酷いモデルが出来上がってしまいます。

PLSは様々な分野で実績のある線形回帰手法です。特に、多重共線性が問題となるような場合に威力を発揮します。是非、活用してみて下さい。