第163話|実務でよく使われる、色々ある「回帰分析」

第163話|実務でよく使われる、色々ある「回帰分析」

回帰分析は非常にシンプルです。

そのため、実務的にも非常に使い勝手がよく、人気の高い分析手段の1つです。

回帰分析には2つの概念の変数が登場します。

  • 目的変数Y: 説明したい、もしくは、予測したい変数(例:受注金額、受注の件数、受注確率など)
  • 説明変数X: 目的変数Yを説明する、もしくは、Yの要因となる変数(例:時期、販促、顧客属性など)

回帰分析のアウトプットの1つに、目的変数Yを説明変数でXで説明する数式があります。

目的変数Yに何が影響しているのかといった要因分析にも使えますし、目的変数Yの将来予測にも使えます。

今回は、「実務でよく使われる、色々ある『回帰分析』」というお話しをします。

ここで紹介する回帰分析

回帰分析には、色々なものがあり、説明しきれません。

しかも、新しい回帰分析の手法がまだ増えていっています。多くの場合、アルゴリズムのちょっとした改良だったりしますが……

ここでは、実務でよく使われる次の回帰分析を、簡単にご紹介します。

  • 線形回帰(単回帰/重回帰)ポアソン回帰ロジスティック回帰
  • 主成分回帰 PCR部分最小二乗回帰 PLS
  • Ridge回帰Lasso回帰Elastic Net回帰

もちろん、数理的な説明を省略するだけでなく、数理統計学的な厳密性からも逸脱した簡易な説明にイメージ重視の説明になります。

線形回帰(単回帰/重回帰)とポアソン回帰、ロジスティック回帰

多くの場合、線形回帰(単回帰/重回帰)ポアソン回帰ロジスティック回帰で十分です。

線形回帰(単回帰/重回帰)に関しては、Excelで簡単に実施できます。

ポアソン回帰ロジスティック回帰をExcelで実施する場合、ちょっとした工夫が必要になります。ここでは説明しません。

この3つの回帰分析は、目的変数Yの性質が異なります

つまり、目的変数Yの性質に応じて、線形回帰(単回帰/重回帰)なのか、ポアソン回帰なのか、ロジスティック回帰なのかを選べばいいのです。

  • 線形回帰(単回帰/重回帰):目的変数Yが、受注金額のような
  • ポアソン回帰:目的変数Yが、受注件数のようなカウントデータ(1件,2件,3件,…)
  • ロジスティック回帰:目的変数Yが、受注・失注(1:受注,0:失注)などのような2値(0-1)データ

この3つの回帰分析では手に負えなくなることがあります。

マルチコ(マルチコリニアリティ、multicollinearity、多重共線性)

説明変数X同志に強い相関関係がある場合など、上手く回帰分析できません。

例えば、売上予測やキャンペーン効果のデータ分析を考えたとき、説明変数X同士が強い相関をする場合が多いです。

なぜならば、同じ時期に集中して販売促進の施策を打つからです。

新聞の折り込みチラシの配布枚数と交通広告(電車の中づり広告など)の露出量、値引率などが強く相関したりします。

このような場合、単純な線形回帰(単回帰/重回帰)で予測式を構築すると、可笑しなことが起こります。

予測式の係数のプラス・マイナスの符号が逆になったり、係数の値が極端に大きくなったりするのです。

このような現象はマルチコ(マルチコリニアリティ、multicollinearity、多重共線性)と呼ばれる、回帰分析の古典的な問題で、説明変数X同志に強い相関関係がある場合に起こります。

主成分回帰 PCR と部分最小二乗回帰 PLS

マルチコの問題を解決する古典的な方法が、「主成分回帰PCR」(Principal Component Regression)です。

次にように、説明変数Xに対し主成分分析を実施し、新たな説明変数(主成分)を作ります。

この新たな説明変数である主成分同志の相関は低く、マルチコの問題を回避できます。

その主成分回帰 PCR の親戚に、部分最小二乗回帰 PLSという手法があります。

新たな説明変数(主成分)

主成分回帰PCRでは、説明変数Xを主成分分析し新たな説明変数(主成分)を作り、この新たな説明変数(主成分)で回帰分析を実施し予測式を導き出します。

主成分分析は、元の説明変数Xの情報量をできるだけ減らさないように、新たな説明変数(主成分)を作ります。

そして多くの場合、元の説明変数Xよりも新たな説明変数である主成分の方が、変数の数が少なくなります

そのため、説明変数Xの数を減らしたい場合にも、この主成分回帰PCRは使えます。

主成分分析の主成分は、目的変数Yとは無関係に決まる

主成分分析で求めた主成分は、目的変数Yを上手く説明する主成分ではありません

あくまでも、元の説明変数Xの情報量をできるだけ減らさないように作ったものです。

そのため、主成分回帰PCRの主成分も同様のことが当てはまります。

しかし、主成分回帰PCRの目指ししているのは、目的変数Yを上手く説明する予測式です。

目的変数Yを考慮した主成分を作りたい

「どうせなら、目的変数Yも考慮した主成分を作れないだろうか」と考えるのが自然でしょう。

それを実現したのが「部分最小二乗回帰 PLS」(partial least squares regression)です。

ここでは詳しく説明しませんが、「主成分回帰PCR」(Principal Component Regression)の進化版と捉えて頂ければと思います。

Ridge回帰とLasso回帰、Elastic Net回帰

正則化項でマルチコを緩和する

マルチコの問題に対処する方法が主成分回帰PCR部分最小二乗回帰 PLSだけではありません。

これらの主成分分析を絡ませた方法以外で、古典的な回帰分析として「Ridge回帰」というものがあります。

Ridge回帰は、通常の回帰分析に「正則化項」という概念を加えたもので、ここでは詳しく説明しません。

正則化項」を加えることで、マルチコの影響を緩和します。

この「正則化項」にも種類があり、どのような「正則化項」を考えるのかで、Ridge回帰と呼ばれたり、Lasso回帰と呼ばれたりします。

Ridge回帰

Ridge回帰と聞くと、聞き慣れない方も入りかもしれません。

ご安心ください。

Ridge回帰分析を実施した場合、線形回帰(単回帰/重回帰)とポアソン回帰、ロジスティック回帰とほぼ似たようなもの(予測式の係数など)が出力されます。

ちなみに、Ridge回帰と1ワードで表現していますが、線形回帰(単回帰/重回帰)のRidge回帰ポアソン回帰のRidge回帰ロジスティック回帰のRidge回帰が、それぞれあります。

Lasso回帰

Lasso回帰の大きな特徴として、変数選択を実施してくることにあります。

ここの変数選択とは、「目的変数Yを説明し予測するのに必要な説明変数Xを、数理的に選択する」ということです。

特徴量選択とも言います。

人為的な説明変数選択ではなく、数理的に説明変数選択されるのが特徴です。

そのため、説明変数Xの数が多い場合に非常に有効です。

Lasso回帰は変数選択も実施してくれ、非常に良さそうですが、1つ大きな問題があります。

Lasso回帰の実務上のよくある問題点

今、相関関係の高い「X1」(チラシ配布量)と「X2」(値引率)という説明変数があったとします。

そのまま線形回帰(単回帰/重回帰)を実施すると、マルチコが起こり上手く予測式が求まりません。

そこで、Lasso回帰分析を実施しました。

どうどうなるでしょうか。

この場合、「X1」(チラシ配布量)と「X2」(値引率)の2つの説明変数の内、1つだけが選択されます。

なぜならば、X1とX2は相関関係が高いので、一方から他方を推測できるため1つで十分なのです。

このように、Lasso回帰の場合、相関関係の高い説明変数同志は、どちらか一方を採用し、他方を採用しません

相関関係の高い説明変数同志を、両方とも予測式に使いたい場合には、Ridge回帰を実施するといいでしょう。

しかし、Ridge回帰の場合、目的変数Yを説明し予測するのに不必要な説明変数も考慮した予測式になります。

Elastic Net回帰

相関関係の高い説明変数同志を、両方とも予測式に使いたいけど、変数選択も実施したい、このようなニーズは当然起こります。

そのニーズに答えるのがElastic Net回帰です。Group Lassoなどこのニーズに答えられそうな手法は他にもあります。詳しく説明しません。

厳密性は欠きますが、Elastic Net回帰は、Ridge回帰とLasso回帰の中間に位置するものです。

ちなみに、Lassoの分野スパース推定というキーワードで、近年研究が目覚ましく、多くの研究成果が報告されています。

今回のまとめ

今回は、「実務でよく使われる、色々ある『回帰分析』」というお話しをしました。

今回簡単に紹介したのは、次にような回帰分析です。

  • 線形回帰(単回帰/重回帰)ポアソン回帰ロジスティック回帰
  • 主成分回帰 PCR部分最小二乗回帰 PLS
  • Ridge回帰Lasso回帰Elastic Net回帰

難しいそうな名称のものもありますが、回帰分析として出力されるものの多くは共通しています。

実際に手を動かしてみないと分からない、という方もいると思いますので、別の機会に実データを使った説明をいたします。

蛇足ですが…… 回帰分析系は、結局のところ「残差」と呼ばれるものを、コツコツと深掘りすることが多いです。詳しくは説明しませんが、回帰分析したら「残差(Regiduals)」をグラフ化したり確認しましょう。「残差(Regiduals)」に何か法則性のようなものが見出したら、それを説明する説明変数Xがないかどうかを検討し、回帰分析の中に組み込む必要がでてきます。