#03 因果関係を見抜く / 5. 定量的手法: 因果関係を数字で測る

=====================
《ビジネス×サイエンス》
#03 因果関係を見抜く

   ■ 0. 「ビジネス×サイエンス」の背景
   ■ 1. <導入> 「データいじり」を乗り越える
   ■ 2. <ビジネス編(前)> ビジネスケーススタディ: データが結論を導くとき
   ■ 3. <ビジネス編(後)> ビジネス上のキーポイント: 原因と結果の落とし穴
   ■ 4. <サイエンス編(前)> 因果関係の定義: ホンモノとニセモノ
   ■ 5. <サイエンス編(後)> 定量的手法: 因果関係を数字で測る (このページ)
=====================

■5. <サイエンス編(後)> 定量的手法: 因果関係を数字で測る

この章の最後に、因果関係の大きさを数値で検証する方法を考えましょう。

「因果関係」を読み解く、というからには、「原因」候補と「結果」候補の2群の変数があり、その間の関係を解き明かすことになります。

 

■5.1 関係性の強さと確かさ

・関係性の強さ

最も単純なケース、「原因」変数も「結果」変数も「なし/あり」の0/1の情報の場合から考えましょう。例えば、「ある広告は、その商品の購入を促したか」を考える場合。「原因」には顧客が「ある広告を見た/見なかった」、「結果」にはその顧客が「商品を買った/買わなかった」とし、1000人分の情報を集めたとしましょう。

「結果」あり 「結果」なし   合計   「あり」の割合
「原因」あり a b a+b a/(a+b)
「原因」なし c d c+d c/(c+d)

例えば具体的には、

「結果」あり 「結果」なし   合計   「あり」の割合
「原因」あり 270 230 500 54%
「原因」なし 240 260 500 48%

このとき、「広告が商品の購入を促した強さ」はどう表現できるでしょうか。

a/bは、広告を見た人のうち、商品を買った人は買わなかった人の何倍いるか。つまり、広告を見た人が商品を買う傾向の強さを表します。c/dは同じく、広告を見なかった人の商品を買う傾向の強さ。これの比を取ると、

  OR = (a/b) \div (c/d) = ad/bc

は「広告が商品の購入を促した強さ」を表す最もシンプルな指標になります。「広告を見た人のほうが見なかった人よりも何倍購入しやすいか」と表現してもよいでしょう。この指数は「オッズ比(odds ratio)」と呼ばれます。(※統計に興味のある人向け: 「何倍購入しやすいか」という言葉に対しては、オッズ比の代わりに RR=(a/(a+b))\div(c/(c+d)) を充てることもあります)

もしも「広告を見たこと」と「商品の購入」とが全く関係ない場合は、広告を見た人も見なかった人も購入する割合が同じ、つまりa:b = c:dになるはずです。このときはオッズ比は1になります。「広告を見た人のほうが購入しやすい」場合は1よりも大きな数値に、逆に「広告を見た人のほうが購入しにくい」場合は1よりも小さな数値になります。

図:オッズ比と性質

少し数学が得意な方であれば、対数を考えると良い、とすぐに思いつかれたかもしれません。オッズ比の対数\log ORは、「広告を見たこと」と「商品の購入」とが全く関係ない場合は0に、正の関係がある場合はプラスに、負の関係がある場合はマイナスになるわけです(※対数の底は1以上とします)。また「広告を見た」「見なかった」の関係がひっくり返ると、オッズ比2のちょうど反対は0.5になりますが、対数の場合はこれがちょうどプラスマイナス逆になります。

図:オッズ比とその対数

上の例で言えば、

  \begin{array}{rl}  OR &= (270 \times 260) \div (230 \times 240) = 1.272 \\  \log_e OR &= 0.240  \end{array}

となり、オッズ比が1以上(=対数が0以上)であることが確認できます。

 

・関係性の確かさ: 「たまたま」で生じる分布

次に、この結果の確かさについて考えましょう。

オッズ比rが2.0や0.5であれば、明確な効果があるような気がします。一方で、1.05や0.96だと、ほとんど関係ないのかなという気がします。とはいえ、もしも1000億円の商品売り上げが1.05倍になるのであれば、50億円の増収ですから大きな効果です。では、効果の確かさを信じてよい線引きは存在するのでしょうか。

1000人に対して調査を行ったとすると、その情報は、市場全体、例えば数百万人の中から選び出したものです。たまたま選ばれた1000人がそれぞれa,b,c,dのどれに当てはまるかは偶然によります。ですが、1000人分も集めると、OR(ないし\log OR)の値は一定の値にある程度収まる、と考えられるわけです。それでも、常に全く同じ値になるわけではありません。

何度も1000人を選び直したとき、\log ORがどんな分布になるかを書き出してみましょう。下の図は、この試行を1000回やってみた場合の分布を示したものです。

図:log ORの分布

この分布は、ほぼ全ての部分が0よりも大きい範囲に広がっています(対数をとる前のORで言えば1以上)。ですから、偶然によってばらつく効果を考慮に入れても、「広告を見たこと」と「商品の購入」との間には関係があるとかなりの信頼性を持って言えることになるわけです。

 

・分布の広がり具合: 標準偏差

これを単純化して、分布の広がり具合を表す指標「標準偏差(standard deviation)」σを使って表してみましょう。

今回の分布にこの「分布の広がり具合」を書き加えると以下のようになります。

図:log ORの分布再掲。平均と±σ

世の中の多くの分布は、サンプル数が多くなると、お手本の分布とも言える「正規分布(normal distribution)」に近づくことが知られています。

図:正規分布

この正規分布では、平均±σの範囲には68.3%が、平均±2σの範囲には95.4%が、平均±3σの範囲には99.7%が収まります。実際に扱う分布はこの正規分布と全く同じではありませんが、これらの数値はよい目安になります。7割の確度で当たっていれば決断できるというときは平均±σを、95%の確度が必要だと思うときは平均±2σを目安とすればよいわけです。あるいは、上記の例のように「0を上回っている」とどのくらい自信を持って言えるか、という状況であれば、分布の片側だけに注目することになりますから、平均が+σであれば84%、平均が+2σであれば97.8%の確率で「0を上回っている」と言えることになります。(この確率の逆、つまり16%や2.2%が「p値」と呼ばれます)

自然科学では一般に、普段は「平均±σ」を誤差の範囲として表記する習慣になっています。CERNがHiggs粒子の発見を発表した際など、「新しい発見が実験的に証明された」と宣言するときは「3σ」が基準とされます。社会科学では一般に、確率が「95%」を越えたときに「統計的に有意」という言い方をする習慣になっています。

 

・直感を鍛える数理的センス

ここで取り上げている「オッズ比の対数\log OR」の場合は、標準偏差は以下の式で与えられます。

  \sigma (\log_e OR) \simeq \sqrt{ 1/a+1/b+1/c+1/d}

これを使えば、冒頭の例の場合は以下のように計算することができます。

  \begin{array}{rl}  \sigma(\log_e OR) &\simeq \sqrt{ 1/270+1/230+1/240+1/260} \simeq 0.127 \\  \log_e OR &= 0.240 \pm 0.127  \end{array}

とはいえ、こんな式をいちいち頭の隅から引っ張り出してp値を関数電卓やPCで計算しているようでは実用性に劣ります。もっと直感的に把握することはできないでしょうか。

 

カスタマーインサイトなど経営とデータに関わる人に「数式は苦手で・・・」と言われると、この計算だけを覚えておくようにお教えしています。

  N \pm \sqrt{N}

N個のサンプルが見つかったとき、その誤差(標準偏差)はその個数の平方根で与えられる、という意味です。例えば以下のように、N数が大きくなればなるほど、振れ幅が小さく信頼性が高くなります。(厳密にはこれは近似式ですが、感覚を掴む上では気にする必要はないでしょう。数学が得意な人はこの式の導出に挑戦してみてください。)

(例)

  \begin{array}{rlllll}  N &= 25  & \quad \to\quad  25 \pm\sqrt{25}  &= 25 \pm 5,   & 20 \sim 30   & (\pm 20\%) \\  N &= 100 & \quad \to\quad 100 \pm\sqrt{100} &= 100 \pm 10, & 90 \sim 110  & (\pm 10\%) \\  N &= 400 & \quad\to\quad 400 \pm\sqrt{400} &= 400 \pm 20, & 380 \sim 420 & (\pm 5\%)  \end{array}

これを念頭に置いていると、先の2×2表は最初から以下のように見えているわけです。

「結果」あり 「結果」なし
「原因」あり 270 ± 16 230 ± 15
「原因」なし 240 ± 15 260 ± 16

この誤差範囲を考えれば、どの程度確からしいかはおおよそ見当が付きます。たいそうにp値や対数などを計算するまでもなく、最初に数字を見た瞬間に感覚を掴むことができるのです。

経営の意志決定のために必要なのは、「95%信頼区間で統計的に有意だ」云々とごたくを並べる能力ではありません。数字の裏にある状況を直感的に把握する「数理的思考のセンス」こそが決定的に差をつけるのです。

 

■5.2 連続的な変数

「原因」、「結果」は0/1ではなく連続的な変数で表されることもあります。

・原因、結果の一方が0/1、一方が連続的な変数の場合

変数の一方が0/1、もう一方が連続的な値を取る場合を考えてみましょう。

例えば、自社会員のうち半数にDMを送付し、残り半数には何も送らず、DM送付によって購入頻度をどれだけ増やす効果があったかを検証することにしましょう。
   ・「原因」候補:DMを送付した、しなかった
   ・「結果」:購入頻度の昨年比での増減
となります。

もちろん、「結果」側を「増えた/増えなかった」の二択に変換すれば、先程と同じ2×2の表になります。ですが、増えたか否かではなく、どのくらい増加が期待できるのか、DM送付コストと比べた投資効率がどの程度か、を検証するためには、「結果」側を連続的な変数のまま扱う必要が出てきます。

 

では、どんな計算をすれば、DM送付の有効性を数値化して検証することができるでしょうか。社会科学の教科書のように「p値」の計算をして統計的に有意かどうかを判定するのが良いのでしょうか。

DMを送付した群、送付しなかった群を比較して使われる指標は、大きくまとめると以下の3つのいずれかでしょう。

   (1) (送付群の平均値)-(不送付群の平均値)
   (2) {(送付群の平均値)-(不送付群の平均値)}÷(分布の標準偏差)
   (3) {(送付群の平均値)-(不送付群の平均値)}÷{(分布の標準偏差)÷√(サンプル数)}

図:2つの群の「結果」変数の分布

(1)は、「DMを送付したことで購入頻度はどれだけ増加したか」を表します。これに「送付人数」と「購入1回あたり単価」を掛ければ、DM送付による売上増加金額を弾けるわけです。そこからコストを差し引けば利益貢献額になります。あるいは、送付した会員によって利益貢献がプラスの集団とマイナスの集団に分かれるのであれば、プラスの集団に限定して送付すればよいと考えることもできます。また、収入サイドは送付人数に単純に比例する一方、コストサイドは通数が増えるほど逓減するはずですから、簡単なグラフを描けば損益分岐点も描き出せます。

(2)は、「DMを受け取った人が購入頻度を増やす確からしさ」だと言えます。(1)の数値が同じでも、横方向の分布が狭い場合も広い場合もあるのです。狭く分布している場合は「確実に増える」、広く分布している場合は「増えないこともある」と考えられるわけです。

図:平均値の差が小さい場合

図:標準偏差が大きい場合

ただ、(2)の数値が1よりも小さく、二つの分布がかなり重なり合っている場合でも、「平均的には、DMを受け取った人のほうが購入頻度が増える傾向がある」と言うことはできます。サンプル数が10人や100人と少ないと、たまたまかもしれません。サンプル数が1万人、10万人と増えると、かなり重なり合っている場合でも、ほぼ確実に「平均的には効果がある」と言えるはずです。それを表したのが(3)です。ここで割り算している{(分布の標準偏差)÷√(サンプル数)}は、それぞれの分布の平均値が揺らぐ幅を表しています。

統計の教科書でまず最初に書かれている、「t検定(t-test)」で「t値(t-value)」を求めてp値を計算する、という手順は、(3)の計算を行っていることに相当します。それを3つ以上の群の間の比較などに拡張した手法は「分散分析(analysis of variance, ANOVA)」と呼ばれます。

ビジネスで具体的な目的を持っている時には、(3)から考え始めるのはナンセンスだとお分かりいただけることと思います。ましてや、(1)、(2)、(3)の違いもよく分からずに、統計ソフトで(3)の計算をして(1)が分かったつもりになっていては、データに遊ばれるだけで終わるのです。

経営の意志決定を行うためには、統計学の細かな数式を暗記していることなど結局たいした意味は持たず、かえって思考の邪魔になるくらいです。規模や確率などの数量を直感的に把握できること、それが決定的に運命を分けるはずです。

 

・原因、結果の両方が連続的な変数の場合

次に、原因、結果の両方の変数が連続的な値を取る場合を同様に考えてみましょう。

例えば、初回購入時の満足の度合いが、その後の1年間の購入金額をどの程度引き上げるかを考える場合。「満足度」のような心理的な指標を事業のKPI(Key Performance Indicator)に用いるとき、それがどれだけの金額に相当するかを表す係数は、費用対効果をもとにgo/no goの意志決定を下すために頻繁に必要とされます。

例えばこんなケースを考えてみましょう。初めて自社製品を購入した人に、満足の度合いを「とても満足した」から「とても不満だった」まで10段階で評価してもらいました。また、何が満足・不満だったかを自由記入で回答してもらいました。その人たちのその後1年間の購買データを追い、散布図にプロットしました。

図:散布図

散布図からいくつかの指標を取り出してみましょう。

   (1) 近似直線 y=ax+b の傾き a
   (2) 相関係数 r
   (3) (相関係数 r)×√(サンプル数)

(1)の傾きaは、効果の大きさ自体を表します。「満足度の10段階スケールが1段階上がると購買金額が何円増えるか」です。

(2)の相関係数rは、散布図がどの程度直線状に近い分布になっているかを表します。

そして(3)は先程と同様、この相関関係が統計的に有意かどうかを判定する指標になります。

ここでも先程と同様、統計ソフトのボタンを押すのに満足して、自分が何を計算しているのか分からずに使っている人をよく見かけます。(2)の相関係数は計算が容易ですから安易に頼りがちです。ですが、効果の大きさ自体を比較したいのであれば(1)を使うべきですし、統計的な有意性を比較したいのであれば(3)を使うべきです。

統計ソフトのメニューを覚えたり数式を覚えたりしても、本質を見抜く力が身につくことはありません。数理的手法は、計算方法を覚えることではなく、仕組みを理解し、目的によって使い分けることこそが重要なのです。

 

■5.3 交絡を避ける数値化

最後に、もう一つの重要な側面に触れましょう。先に様々な例を挙げた、相関関係はあるが因果関係ではない「ニセモノの因果関係」を見破るための数値的手法です。

ここでは代表的な2方向からの考え方を取り上げます。本来はこれだけで1冊の本になるくらいのトピックですから、興味のある方はぜひご自身で考え進めてみてください。

・交絡の影響を除外する基本構造

「原因A」が「結果B」を生じさせるように見えた。でも実際は、「交絡因子C」が「原因A」と「結果B」の両方を生じさせていて、そのために「原因A」と「結果B」は同じ時に起こっていただけで、「原因A」と「結果B」との間に因果関係がなかった。(または、「原因A」と「結果B」の間の相関関係の強さほどは因果関係が強くなかった。)これが交絡の基本的な構造でした。

では「交絡因子C」が存在することが分かっているときに、「原因A」と「結果B」の間の因果関係の有無・強弱を検証するにはどうすればよいでしょうか。

結論から言えば、「交絡因子C」を固定した時に「原因A」と「結果B」の間に相関関係があるかを調べるのが基本的なアプローチです。

「交絡因子Cを固定する」ためにどのような方法を取るかが腕の見せ所です。交絡因子がどんな変数か、あるいは交絡因子をどこまで事前に把握できているか、などによって最適な方法は変わってきます。代表的ないくつかの考え方を見ていきましょう。

 

・層別に計算

上の模式図のように、交絡因子Cが取る値ごとに別々に集計するのが、最も単純な方法でしょう。この発想は、全体の母集団を交絡因子ごとに層に切り分けるイメージを持って、「層化(stratification)」などと呼ばれます。

交絡因子Cが0/1で表されるのであれば、「交絡因子Cあり」、「交絡因子Cなし」の二つの集計表を作り、その両方で「原因A」と「結果B」の間に相関関係が認められるかを確認すればよいことになります。交絡因子Cがもっと多くの値、例えばC=a,b,c,d,e,fを取るのであれば、その各々について同様に集計表を作って確かめることができます。

図:交絡因子による層化

前ページの交絡の例では、全体で見ると強い相関があったのに、交絡因子ごとに集計表を分けると相関が消えることを示しました。交絡因子がどのように影響しているかを見るには、このように丁寧に見ていくことで本質をよく理解できます。

一方、この方法の限界はまず、いくつかの集計表を作ったときに、一部の集計表では相関なし、一部では相関あり、になったときに全体としての判断には迷いが生じます。また、交絡因子が取る値が多くてその値ごとに集計表を分けていると各集計表のサンプル数が少なくなりすぎる場合にも限界に行き当たります。

 

・層化して合計

層別に考える必要があった背景は、「交絡因子C」の変数が、原因A「あり/なし」の割合を変えてしまうことでした。では、「交絡因子C」ごとに切り分けた各層で、原因A「あり/なし」の割合を揃えてしまいましょう。

母集団全体の原因A「あり/なし」の比率を各層で保つように数を調整して、各層からサンプルを抽出すると、どの層でも原因A「あり/なし」が揃った新しい母集団が出来上がります。この母集団を使えば、「交絡因子C」の影響を除いて相関関係を検証することができるようになります。あるいは、サンプル抽出の代わりにウェイト係数を掛けてもよいでしょう。

図:層別に一定比率で抽出

より精密には、マンテル=ヘンツェル(Mantel-Haenszel)法が疫学などではよく使われています。

「結果」あり 「結果」なし 合計
「原因」あり a_i b_i a_i+b_i
「原因」なし c_i d_i c_i+d_i
合計 a_i+c_i b_i+d_i n_i

このように層化した多重の2×2表があったとき、

  OR_{MH} = \cfrac{\sum_i {a_i d_i / n_i}}{\sum_i {b_i c_i / n_i}}

がMH法によるオッズ比の推計値になります。それぞれの層ごとに重み付けしてオッズ比を計算していることに相当するわけです。こういった手法を使えば、交絡因子を一つ一つ追うのが複雑な大規模データでも、比較的簡単に交絡を排した因果関係の大きさを数値化することができます。

 

・データ取得段階で層別に調整

市場調査など、新たにデータを取得する場合には、最初から層別にサンプル数を調整するように調査設計を組み立てることもできます。

例えば、一定以上の金融資産の所有者を対象としたビジネスについて、数千人規模のアンケートを行う場合。

単純にランダムサンプリングを行うと、年齢層が高い層ほど資産保有高も高い母集団になります。「年齢層」が交絡因子となって結果を読み誤ることを避けるためには、最初から、20代、30代、40代、・・・ごとに、資産保有高が低い人から高い人まで割合を揃えてサンプル抽出しておく設計が考えられます。

交絡を起こし得る因子がいくつもある場合もあるでしょう。あるいは、市場全体に正確に比例した母集団を形作ることのほうが優先する調査設計もあり得ます。その場合には、サンプル抽出数で調整する代わりに、交絡を打ち消すウェイト係数を用意する(そのためにはウェイト係数を計算するのに必要な情報の取得を必ず調査設計に入れる)という設計も考えられます。

 

・「原因」のランダム割り当て

「層化」の発想をもう一歩進めると、交絡因子の正体が全くつかめない場合にも解決策があります。ここまでの発想は、「交絡因子C」別の各層で、「原因A」のありなしをどの層でも同じ割合で生じさせればよい、というものでした。

世の中一般では、「交絡因子Cあり」の人が「原因Aあり」になりがち、だとしましょう。そのとき、もし強制的に、「あなたは原因Aあり、あなたは原因Aなし」と、完全にランダムに割り当てることが出来たとしたらどうでしょうか。

そうすると、「交絡因子C」で切ったどの層でも、原因A「あり/なし」の人が同じ一定比率で割り当てられることになります。「交絡因子C」が0/1変数だろうと連続変数だろうと、あるいは交絡因子がいくつも重なっていようと、関係なくこの性質は成り立ちます。

図:ランダム割り当てによる交絡の無効化

「ABテスト」の手法を耳にしたり実際に使ったりした方は多いことでしょう。ABテストでは、2パターンのウェブサイトを作るなどして、ユーザーにランダムにどちらかを見せ、どちらが効果がより高いかを判別します。これがまさに、ランダムサンプリングによって交絡因子を無効化する手順なのです。

 

■5.4 この章のまとめ

ここまで、「目的観」と「全体観」を持って指針を定めるための思考技術、という発想の起点を持って考えてきました。よくある統計の教科書のように、相関係数の計算式やp値の計算方法などを発想の起点とする場合とはずいぶん違った視野を持つことになることを感じていただけたでしょうか。

因果関係を数値的に検証する手法は、疫学や社会科学など幅広い分野で中心的な役割を果たすため、それ自体が一つの研究分野として成立しているほどに深く専門的な研究が進められています。ですが、ここで議論しているように「事業の羅針盤を定める」ために用いる場合、本当に決定的に成否を分けるのは、統計学の高度な知見では必ずしもありません。

企業体の意志として何をしたいのかという目的の意識。その目的に合った手法を選ぶための、回転の速さではなく思考のセンス。因果関係の方向や交絡因子を冷静に見極める観察眼。顧客の深層心理に想像を至らせる人の心の理解。

結局は、考えるべき対象に真摯に向き合うことこそが重要、ということも出来るでしょう。科学的手法を突き詰めようとすればするほど、事業家としての哲学のようなものが表に出てくる。それもまた「科学的思考のビジネスへの適用」の大事な効用なのかもしれません。

=====================
《ビジネス×サイエンス》
#03 因果関係を見抜く

   ■ 0. 「ビジネス×サイエンス」の背景
   ■ 1. <導入> 「データいじり」を乗り越える
   ■ 2. <ビジネス編(前)> ビジネスケーススタディ: データが結論を導くとき
   ■ 3. <ビジネス編(後)> ビジネス上のキーポイント: 原因と結果の落とし穴
   ■ 4. <サイエンス編(前)> 因果関係の定義: ホンモノとニセモノ
   ■ 5. <サイエンス編(後)> 定量的手法: 因果関係を数字で測る (このページ)
=====================