回帰分析とは、「何かを行うこと(説明変数)が何かの結果(被説明変数)にどのような影響を及ぼしたか」という因果関係を関数の形で明らかにする分析手法です。説明変数が1つの単回帰分析に対して2つ以上のものを重回帰分析と呼び、単回帰に比べてバイアスを減少させることができる分析手法です。
回帰分析では「何かを行うことが結果にどのような影響を及ぼしたか」という因果関係を明らかにするために用いられます。例えば「どのような機能を持った車だと高い価格が設定できるのか」という因果関係に興味がある場合を考えていきます。
「どのような機能を持った車だと高い価格設定ができるか」という問いを回帰分析で明らかにしたい場合、まず価格に影響を与えそうな要素を洗い出すところから始まります。価格を被説明変数としたときに、価格に影響を与えそうな変数を被説明変数に加えた関数の指揮を記述することが必要です。例えば馬力が価格に与える影響を調べたい場合、以下のようにモデル化を行います。
赤いドットは車の価格と馬力という二つの値で与えられたデータを表しており、回帰式は車の価格=β0+β1馬力という一次関数の形で表されています。ここで、仮にβの値がそれぞれβ0=50、β1=0.55と求まったとすると、馬力が1単位上昇した際に価格が0.55円上がるという関係性を表しているわけです。このように、説明変数と被説明変数の因果関係を、βという係数の値を求めることで推定することを回帰分析といいいます。回帰分析を行うということは、説明変数の係数であるβの値を求めることに他なりません
ここでは簡略化のために、価格をy、馬力をxという文字で置き換えます。そうすると求めたい回帰式はY=β0+β1Xと表されます。一方で、実際には価格に影響を与える要因は他にもあり、さらに馬力と価格の関係性は一つの絶対的なものではなく一定の揺らぎがあることから誤差項であるuを回帰式に追加します。これで推定した意識をY=β0+β1X+uと定義できました。
さて、ここで出てきた誤差項のuとは回帰式とデータとの距離を表すものであり、各データと誤差項の距離を一番小さくすることで最もデータにフィットする回帰式を計算することができます。例えば馬力が1500、価格が50のデータの距離は下の図のようにあらわされます。
上記の画像のように、それぞれのデータと回帰式との距離を足し合わせたものが一番小さくなるようなβの値を求めることで、データに最もフィットする回帰式を書くことができるわけです。最小化する式は一般に以下のように定義されます。
この式を最小化する計算方法についてはいくつかありますが、いずれにしても人間が手を動かして計算する必要はなく、RやPythonといったフリーの統計ソフトを利用したり、MatlabやStataといった有料の統計ソフトを利用したりすることで簡単にβの値を求めることができます。
今回は説明変数が馬力のみという場合を考えましたが、説明変数が増えたとしても基本的な考え方は変わりません。説明変数が2つ以上のものを重回帰分析と呼びます。
回帰分析は以下の用途で使用されます。
ビジネスの現場で使用されるシーンが多くなるのは因果関係の見極めです。
「この広告キャンペーン(何かを行うこと)は本当に売上を増加(何かの結果)させたか」、「会社内での時間と外回りの時間のどのように配分(何かを行うこと)したら社員の営業成績(何かの結果)は良くなるのか」という問いに対して因果関係に基づいた意思決定が行えるからです。もし広告キャンペーン以外の要因で売上が増加していたとしたら、広告宣伝費を増やす意思決定は失敗してしまいます。直感や経験に基づく判断に比べ、事象を明確にわかった/わかってないに分類することで、利益直結する経営判断を下すことができるようになります。
また、因果関係の見極めの中でも後述する処置効果法が最もビジネスの現場に即しているといえます。あるビジネス上の施策を行った際に、それが売上や販売数量といったKPIに与える影響を推定することができるからです。クーポンでの需要喚起がどれくらいなのか、ウェブサイト上でどちらのデザインだと契約率が高くなるのか、どういうメールを打つと返信率が高くなるか、など現実でもよく行われている施策の効果をかなり正確に推定できます。
因果関係の推定方法は複数パターン存在するため、まず明らかにしたい事柄の仮説を立て、それから回帰式で事柄をモデル化することが望ましいです。特に、「その結果に他に影響を与える要因はないだろうか」という観点からバイアスをなるべく排除できるモデルを作ることで因果関係がより明確になります。
AがBに与える影響を調べたい際には単純な重回帰モデルを使用します。ただし、結果に影響すると思われる変数をなるべく多くモデルに組み込む必要があります。AにもBにも影響がある他の要因がある変数を交絡因子と呼び、この変数を追加しない場合欠落変数のバイアスが発生してしまいます。バイアスが発生すると効果を過剰/過小評価してしまう恐れがあり、明確な因果関係を導けない恐れがあるので最大限の注意が必要です。
例えば、アイスクリームの広告宣伝費と売り上げの関係性を見たい場合、アイスクリームの消費に影響を与えると思われる変数(その年の夏の気温や30°Cを超えた日数など)を追加しなければ広告宣伝費の本当の効果を推定することはできません。
ある施策を行った対象と行わなかった対象を比較することで、施策の効果を推定します。インターネット上のマーケティング効果推定は特にABテストとも呼ばれています。この際、実験の介入群と比較群のグループ分けを無作為に行うことでよりバイアスを排除できます。単純な重回帰分析よりもバイアスの問題を解決しやすいです。(テレビCMを打った地域と打たなかった地域で売上がどのように変化したか、割引クーポンが配布された消費者と配布されなかった消費者でどのように購買に違い出るかなど)
ある施策を行った対象と行わなかった対象で、その施策を行った前後の時間経過を通して因果関係を推定する手法です。具体的には差の差法という、ダミー変数と時系列変数を組み合わせた変数を持ちいて推定を行います。(2000年に行った需要喚起施策を、1990年から2010年までの時間変化を通して推定する。)
差の差法を使うことで、時間経過のトレンドが被説明変数に与える影響を無視して、純粋な政策の効果のみを抽出できるようになります。なお、この推定には平行トレンド(施策を実施しなかった場合の介入群と比較群は同じトレンドをたどる)と共通ショック(施策以外に影響を与える要因は同じだけの影響を介入群と比較群に与える)という2つの仮定を置いているため、この仮定が満たされない条件では推定結果の読み解きが難しくなります。
ここまで回帰分析について、内容やビジネスへの役立て方、使用する際の注意点などについて説明してきました。しかし、こういった因果関係の推定を実際にビジネスに取り入れ、売上増加などをアウトプットするにはいくつか達成すべきステップがあります。企業の中でデータ分析を意思決定に有効活用するために、どのような取り組みを行えばいいかについて弊社の考えを共有いたします。
実際の適切なデータ分析を行うには、統計や計量経済といった専門的なバックグランドと経験がある程度必要です。データ分析はコンピューター上のツールを使ったスキルと勘違いされがちですが、その範囲はより広義なものです。収集すべきデータの選定や、推定モデルの構築、分析する前の「どういう問いに答えたいのか」といった、コンピューター上でデータを操作する前段階の過程が重要となります。企業の内部で人材を育成・採用するというのもデータ分析を行う上で1つの解決策ではありますが、そういった人材はビジネス界に少ないのが現状です。まずは大学の教授や研究機関の専門家に協力を仰ぐことがデータ分析への違う解決策となります。
データ分析を自社内で進める場合にはまずデータを用意する必要があります。与えられたデータの中で分析を進めるため、後からこのデータが必要になってしまった、ということがないようにデータ分析の仮説と目的を決めたうえでデータの蓄積を行います。やりたいデータ分析のためにどのようなデータが必要なのかわからない、というケースも発生しやすいため、まずはデータ分析の専門家とどのような分析ができるかを議論したうえで行うとよいでしょう。
また、データは企業ごとの価値源泉となるリソースではありますが、そもそもデータへのアクセスがない場合専門家との協業的な関係は発生しません。また、完全に開かれたデータでなくとも、専門化集団にデータへのアクセス権を付与することで予想せぬポジティブな示唆を得られる可能性があります。まずは完全に信頼できる専門家や教育機関と契約の下でデータの公開を行い、データセキュリティに留意したうえで徐々にデータの門を開いていくことが望ましいと考えます。