とあるエンジニアの作業ブログ

Analytics コンサル ビジネス書要約

『統計学が最強の学問である』を読んで自分用メモ

投稿日:2020年1月18日 更新日:

西内啓さんの「統計学が最強の学問である」を読んで自分用のメモ。
自分用なのでかなり偏ってます。

データをビジネスで使うための「3つの問い」

データをビジネスで使うための「3つの問い」

当たり前の話だが、データ分析が目的であってはならないし、分析した結果具体的なアクション(利益創出活動)に繋がらない分析は意味をなさない。
よって、分析の結論は以下の3つの質問に最低限答えられるものでなければならないし、その分析コストに見合った結論でなければならない。

  • 【問1】何かの要因が変化すれば利益は向上するのか?
  • 【問2】そうした変化を起こすような行動は実際に可能なのか?
  • 【問3】変化を起こす行動が可能だとしてその利益はコストを上回るのか?

自分自身の見解としては(というか当たり前だから作中に書いてないだけと思料)、一回の分析で全てに答えられる必要はないと思う。様々な分析を繰り返しそれらを積み上げて上記問いに答えられれば良いと思う。

サンプリング調査で得られたデータが十分であるかどうかを検証する

サンプリング調査でデータを収集し、目的の値(割合)を求めたとして、サンプル数が少なく誤差が大きければ意味はない。
よって全数に対してサンプル数が十分であるかを担保するために標準誤差が計算される。

標準誤差

$$標準誤差 = \sqrt{\frac{全数 – サンプル数}{全数 – 1}\times\frac{真の割合(1 – 真の割合)}{サンプル数}}$$

失業率を例にとると、

  • 全数 ··· 全国民の人口
  • 真の割合 ··· 真の失業率。もちろん事前にはわからないのでサンプリング調査で得られた割合で良い

サンプルから得られた割合に対して標準誤差の2倍を引いた値から標準誤差の2倍を足した値までの範囲に真の値が含まれている信頼性が95%、という値。
上述の失業率の例で言えば、サンプリング失業率が25%で標準誤差が0.5%(0.005)なら、真の失業率も24%〜26%の間に95%の確率で存在するという意味。
なお、標準誤差は真の割合が50%の時に最大化するので、サンプリング調査で得られた結果がワーストケースとどれだけ乖離があるかも検証することができる。
また、標準誤差の許容範囲は目的によって異なる。大まかな確率の範囲がわかれば良いのであれば数%の誤差があっても許されるだろうし、厳密である必要があるなら許容誤差は±0.1%以下などになるだろう。

収集したデータを集計し有意な差があるか見極める

クロス集計

グループ間での要因比較、傾向比較のための集計。
A/Bテストにおいてどっちのボタンデザインの方がCTRが高いかとかそんなん。

ボタンデザイン クリック 非クリック
Aパターン 9,500人
(9.5%)
90,500人
(90.5%)
Bパターン 9,600人
(9.6%)
90,400人
(90.4%)

そんなに難しく考える必要なし。普段からやっていること。

カイ二乗検定

上記のクロス集計でA/Bのグループ間のCTR 0.1%の差が、誤差なの?それともデザインの差による効果(意味のある偏り)なの?というのを確かめる手法がカイ二乗検定。

本書中にはあまり詳しい記載がなかったので以下で調べた。
参考https://logics-of-blue.com/chi-squared-test/

上記サイトによるとカイ二乗値が大きければ大きいほど、意味のある偏りと捉えることができるが、いくらになれば有意なほど大きいと言えるのか?
その悩みに対する解が次のp値となる。

p値

実際にはなんの差もないのに誤差や偶然によってたまたま差が生じる確率をp値という。
このp値が(慣例的に)5%以下であれば「この結果は偶然得られたとは考えにくい」と判断できる。

実際のp値の計算は上記で参考にしたサイトに記載されている通り、まずカイ二乗値をカイ二乗検定で算出し、カイ二乗値をExcel関数なりPythonなりでp値に変換すればOK。(実際はExcelやPythonの場合はクロス集計から直計算可能)
実際には変換の数式があるのだろうが、そこを詳細に知ることは目的ではないので割愛。

ランダム化が行えない現実世界で如何にして一般化した結論を導くか

ランダム化してしまえば、比較したい両グループの諸条件が平均的にはほぼ揃う。そして揃っていない条件は実験で制御しようとした条件だけであり、その条件下において両グループに「誤差とは考えづらい差」が生じたのであれば、それはすなわち実験で制御した条件によって結果に差が出たという因果を証明できたという事になる。
しかし、現実世界で”適切な”ランダム化を行うことは非常に難しい。

ランダム化に対する「現実」の壁とは、つまり「絶対的なサンプル数の制限」と「条件の制御不可能性」である。

これはすなわち、

  • 数回しかチャンスがない事象に対してランダム化しようとしてもできない
  • 規模に対するコストや時間の制約を受けて”完全ランダム化”が行えない(全世界の人口からランダムに抽出する等)
  • 条件自体を制御する術がなければ比較実験自体が行えない(例えば地震などの自然界の事象を制御した比較実験は行えない)

といった物理的制約を意味している。特にビジネスの世界においては1つ目や2つ目の問題は顕著で、「コストがかかりすぎるので何回もテストできないので数回のテストで判断する」とか「本来は全人口に対してサンプリング調査を行いたいがコストや時間の関係でできないので特定地域に限定する」とかの判断が日常茶飯事に必要となる。
こういった現実世界の制約を受けながら、統計学を如何にして活用していくかが以下。

ケースコントロール研究・層別解析

ケースコントロール研究とは、因果を証明したい条件以外は、なるべく同じような条件になるように人為的に比較対象(比較対照)を選び比較すればランダム化しなくても「フェアな比較」ができるというもの。
層別解析とはそういった諸条件を「人為的に揃えた」グループを条件差ごと(男女別や年代別など)にいくつかのグループに区切って比較すること。
何の事は無い、ビジネスの世界で比較検証するときに意識せずに当たり前にやること。
ただし、完全なランダム化ではないので「揃えているつもりでもずれている条件」があり得ることを認識しておくべき。

疫学におけるケースとは症例すなわち関心のある病気となった事例(患者)のこと。
コントロールとはその比較対照のことである。
比較対照には「関心のある疾患とリスク要因の有無以外は条件がよく似た人」が選ばれる。
ランダム化を行えば、どんな条件についても比較した両グループ間で平均的には同様となる。どんな条件についても、その条件を測定しようが測定姉妹が変わらないとうことだ。
我々が今まったく想像もしないような何かが結果に影響していたとしても、ランダム化を行う限り、知らず知らずのうちに「平均的には同様」となる。
だが、ケースコントロール研究ではどうだろうか。あくまで「同様」にできるのは、人為的に「同様」となるよう揃えた条件だけである。

回帰分析と利用のための基礎用語

回帰分析自体はy=ax+bの話なので今更詳しく記載しない。ここでは回帰式が与えられたときにそれを読み解く基礎用語について記述する。

  • 回帰係数 ··· 回帰式の切片と傾きのこと。回帰分析はデータの中心を通る直線とそれを表す数式である。よってデータ自体にばらつきが大きいと回帰係数のばらつきも大きくなる。
  • 標準誤差 ··· 回帰係数の誤差の大きさ。この値単独で評価するよりそこから導出される95%信頼区間で評価する方が良い。
  • 95%信頼区間 ··· (ほぼ)この範囲内に真値があると判断できる値区間
  • p値 ··· 仮に回帰係数が0だった場合にデータのばらつきだけでこれぐらいの回帰係数が推定されてしまう確率。やはり慣例的には5%を下回ると回帰係数が一定信頼できると判断される。

一般化線形モデル

回帰分析から派生した多くの統計学的手法を「広義の回帰分析」として一般化線形モデルという「基本的に同じ手法」として俯瞰した1枚の表が以下。

分析軸(説明変数)
2グループ間の比較 多グループ間の比較 連続値の多寡で比較 複数の要因で同時に比較
比較したいもの(結果変数) 連続値 平均値の違いを検定 平均値の違いを分散分析 回帰分析 重回帰分析
あり/なしの二値 集計表の記述とカイ二乗検定 ロジスティック回帰

それぞれの具体例を簡単にメモ。

  • 例えば一人当たりの売上という変数は1円刻みの連続値であり、これを男女(2グループ間)で比較する場合はそれぞれの平均値を記述しt検定によって得られた「この平均値の差は誤差の範囲と言えるかどうか」というp値や信頼区間を示せば良い
  • 「来店回数が多い人ほど売上も高まるのか」という問いに対しては来店回数を説明変数、売上を結果変数とする回帰分析を行えば良い
  • 「購買の有無」や「来店の有無」は二値である。このような結果変数を2グループ間、あるいは3グループ以上(例えば年代別など)の間で比較したければ、クロス集計でそれぞれのグループの購買割合や来店割合を集計しカイ二乗検定によりp値を示せば良い
  • 連続値でもなく二値でもない、つまり何カテゴリーに属するかという結果変数を扱う場合は、二値もしくは連続値に置き換えて扱うことが多い。
    アンケートの「1.まったくない」「2.あまりない」「3.たまにある」「4.よくある」といったアンケート項目には1→2→3→4という順序性や方向があるので、「1かそれ以外」という二値にする手もあれば、1〜4という連続値として分析するということもある。
    また、支持政党などの順序性や方向がない分類についても、「自民党を支持するかしないか」のような二値に置き換えることが一般的。

ダミー変数

上記のような分析においてよく用いられる手法として、「男性の場合なら1、女性の場合なら0」というように「2つのグループ」あるいは「二値の変数」を0か1で表現するやり方のことをダミー変数と呼ぶ。こうすることで定性的な二値を変数化できる。
上記の男性の場合なら1であれば「男性ダミー」と呼ぶ。

ロジスティック回帰

重回帰分析は結果変数が連続値の場合にしか使うことができないが、それをさらに二値の結果変数に対して拡張したのがロジスティック回帰である。

もともと0か1かという二値の結果変数を変換し、連続的な変数として扱うことで重回帰分析を行えるようにした、というのがロジスティック回帰の大まかな考え方である。
ロジスティック回帰では、回帰係数をオッズ比つまり「約何倍そうなりやすいか」で示す

ロジスティック回帰の結果を評価するに当たって見るべき値は、重回帰分析と同様に、回帰係数(の推定値)、標準誤差と信頼区間、それにp値である。

傾向スコア

傾向スコアは作中で一番よくわからなかった箇所なので少し調べた。
要は2つのグループ間で、評価対象の説明変数以外に結果変数に影響を与えうる説明変数(共変量)の条件を等価にするために定量的に判断できるようにしたもの。

もう少し腹落ちするために喫煙の有無が肺がんに与える影響の例で記述。

喫煙の有無が評価対象となる説明変数、肺がんになる確率が結果変数。
肺がんになる確率には、喫煙の有無以外にも、性別や年齢、生活環境など様々な要因(共変量)が影響するし、それらを全て説明変数として等価にすることは難しい。
そこで、喫煙するグループ、しないグループの中で性別や年齢、生活環境などの説明変数から、「喫煙する群」に当てはまる(もしくは「喫煙しない群」に当てはまる)傾向スコアを推定し、その傾向スコアが同じ人同士で比較する。
こうすることで、「共変量から鑑みるに喫煙する可能性が●%で、やっぱり喫煙する人」と「共変量から鑑みるに喫煙する可能性が●%だけど、喫煙しない人」を比較することで、結果変数に有意な差が出るならば、「共変量から鑑みるに喫煙する可能性が●%」という喫煙の有無以外の説明変数は等価なので喫煙の有無のみが結果変数に影響を与えたと説明し得る。
注意しないといけないのは、この「喫煙する可能性が●%」を算出する上で共変量に対してロジスティック回帰を行いその結果を傾向スコアとするが、共変量自体は分析者が選択しなければならないので選択されなかった共変量については等価にならない。
よって、あくまでも傾向スコア算出に選択された共変量については等価と論理的に説明するための数値である。

参考https://best-biostatistics.com/summary/propensity-score.html#i

ベイズ派と頻度論派 〜確率に対する考え方〜

頻度論とは確率を「何回中の何回」といった「頻度」で捉える考え方。頻度論は世の中一般的な確率の考え方と言って良いと思う。

一方、ベイズ論派は確率を「事前確率」と「事後確率」で考える。
ベイズ論派の確率の計算方法は以下の通り。

  1. 命題に対してどの程度の確率で起こり得るかを事前に考える(事前確率の定義。作中では本物のコインか偽物のコインかの確率)
  2. 条件付き確率を計算する(頻度論と同じ方法で計算)
  3. 事前確率と条件付き確率の積を求める
  4. 事後確率の計算(事前確率と条件付き確率の積/事前確率と条件付き確率の積の合計)

作中の、10回コインを投げて10回とも全て表立った場合のベイズ的な確率の計算の表をそのまま記載。

本物 偽物 合計
事前確率 50.00% 50.00% 100.00%
条件付き確率 0.10% 10.74%
事前確率×条件付き確率 0.05% 5.37% 5.42
事後確率 0.90% 99.10% 100.00

個人的にはベイズ的な考え方のキモは、如何にして事前確率を定義するかだと思う。
何も事前確率が5分5分の命題だけではないので、事前確率を定義するためには様々な仮定を置くことになり、この仮定の拠り所となるのはこれまでに確立されてきた理論だ。
要はベイズ論は今までの理論の上に成り立つことが前提となっている手法(今までの理論を積み上げて考える手法)と言っても良いのかもしれない。
対して頻度論は、実際に計測したデータのみに基づいて判断する。実際に計測したデータなので一番のリアルであり、それ以上に説得力のある情報は存在しない。
ただし、それは相応のボリュームが揃っていることとランダム化ができている前提でである。
その2つを満たさない限りは頻度論においては「計測したデータが不十分であり有意な結論を導くには至らない」という見解しか得られえない。逆に言えば、大量のランダムサンプリングが行える状況下においてはベイズ的な考え方をするメリットは小さく、余計な因果推論を導きかねない仮定を廃して頻度論的に考えた方がリアルをより反映していると言える。

エビデンスの見つけ方

最高のエビデンス「系統的レビュー」と「メタアナリシス」

エビデンスとしてのヒエラルキーは4階層。

  1. メタアナリシス/系統的レビュー
  2. ランダム化比較実験
  3. 疫学・観察研究
  4. 専門家の意見・基礎実験

系統的レビュー(Systematic Review)とは、ランダム化比較実験の唯一の弱点である「ほとんどのランダム化比較実験において、全国民とか全人口とかを対象にした調査ではない」という点を補うもの。
系統的レビューではあらかじめレビューする論文の条件を定め、過去に公表された関連分野のすべての文献から条件に該当するものを選び出す。そしてそれらの情報を収集・分析してその結果どういうことがわかるかをまとめたもの。
これはほとんど主観が入らず、かつランダム化比較実験の弱点である特定範囲に限定されたランダム化を、現時点で可能な限り一般化できる手法である。よって、「現時点での最善解」となり得る。
メタアナリシスとは、系統的レビューの中で、複数のランダム化比較実験や研究観察の結果を、さらに解析してまとめ上げる作業のことをいう。

代表的な論文データベース

名前 URL 分野
ERIC https://www.eric.ed.gov/ 教育学
PsycINFO https://www.apa.org/psycinfo/ 心理学
Econlit https://www.aeaweb.org/econlit/ 経済学
Pubmed https://www.ncbi.nlm.nih.gov/pubmed/ 医学
JSTOR https://www.jstor.org/ 総合

-Analytics, コンサル, ビジネス書要約
-,

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

リスクベースドテストにおけるリスク定義方法

リスクベースドテストにおけるリスク定義方法のメモ。 主に、リスク定義する上でのリスク算出要因(影響度(Damage), 発生確率(Probability of Failure))と重みづけ方法、及びリ …

システムにおける適応度関数 〜進化的アーキテクチャを読んで〜

オライリーの進化的アーキテクチャを読んで、重要そうなポイント、特に適応度関数について自分用まとめ。 はじめに断っておくと、この本は「システムアーキテクチャを変更する際にこういう風にしておけば容易に変更 …

【入門】専門じゃない人のためのデータ分析でよく使う用語まとめ

データ分析とか統計の本を読んでいるとよくでてくる用語で、数学とか統計とかそういう畑を出てない自分にとって馴染みの薄いものを備忘的にまとめていくメモ。 用語 概要 因子 因果関係の原因となる項目。 e. …

絵で見てわかる量子コンピュータの仕組み アニーリング編

『絵で見てわかる量子コンピュータの仕組み』まとめ アニーリング編

アニーリングについて概要レベルをさらっと勉強したかったので「絵で見てわかる量子コンピュータの仕組み」を読了。 アニーリング部分についてまとめ。 作中で該当する部分は1、2、3、7、8章。 目次 量子コ …

Tableauで損益計算書を作る

Tableauで損益計算書(正確には管理会計、すなわち売上と費用の予実分析資料)を作成することになったのでその結果のまとめ。 目次 実現したいこと いきなり残念な結論 一応Tableauでやるとどうな …