本記事について
この記事では、効果検証入門〜正しい比較のための因果推論〜の勉強に際しての備忘録である。なお、この記事は効果検証入門に関する備忘録の1本目であると同時に、私の初Hatena記事でもある。ドキドキしてるよ。この記事にたどり着いてくれてありがとねありがとね。自分のために記事に残すけど、何よりもこれを見た人の助けになればいいな。
この記事にたどり着いたってことは、統計学だの効果検証だのt検定だの因果推論だの勉強しているってことでしょう?僕もです。一緒に頑張りましょう。時代に追いつけ、追い越せ。
内容と対象者
本記事の内容としては、効果検証入門の第一章の途中まで。著作権の関係もあるので、自分の言葉で書いていきたいと思う。間違っていたり、分かりにくい所があったら教えて下さい。
これから効果検証・因果推論に関して勉強を始める、という人向け。イントロダクション。
キーワード
- 効果 effect ... ビジネスにおける何らかのアクションが、売上等重要なKPIに与えた影響
- 介入(処置) treatment ... 効果を生むためのアクション
- バイアス bias ... 「介入による本当の効果」と「データから得られた分析結果」の乖離
- セレクションバイアス selection bias ... 元々所属しているグループの潜在的な傾向が異なるために発生するバイアス
- RCT(無作為化比較実験) Randomized Controlled Trial ... 介入の対象をランダム化し、その結果として得られたデータを分析し、比較すること
嘘っぱちの効果とそれを見抜けないデータ分析
「はじめに」ではなく「嘘っぱちの効果とそれを見抜けないデータ分析」から始まる本書籍。なんてロックなんだ。この本は、仕事で因果推論を使用したい人向けに書かれている。そのため、理論的な面よりも実用性/直感性を重視して記述されている(ように感じた)。正直、読んでいて理論が書かれていなさすぎて「ん?」となってしまうことが多々あったため、本記事/ブログでは理論の面にも触れながら、理解しやすいようにまとめて行く予定。 なお、サンプルコードはRで記述されているが、いかんせん私はもっぱらPythonユーザーなので、記事中でコードを記す際にはPythonで記述しようと思う。なお、Pythonで記述された(書き換えられた)サンプルコードは、(nekoumeiさんのQiita記事)https://qiita.com/nekoumei/items/648726e89d05cba6f432で紹介されているように、(Github)https://github.com/nekoumei/cibook-pythonにあるので、そちらも参考にしてはいかがだろう。あくまで自己理解のために取り組むので、本記事中のコードは基本的に私が独自に記述する。どちらを参考にしてもらっても構いません。ご自由に。
「嘘っぱちの効果」
嘘っぱちな効果、とは何か。そもそも、「効果」とは何か。ここでは、ビジネスにおいてとった何らかのアクションが、売上などのビジネス上重要なKPI (Key Performance Index)に与えた影響のことを指す。そしてその「アクション」は、ビジネスでは施策と表現されるが、因果推論や計量経済学においては介入 or 処置と呼ばれる。
例えば、ある商品Aを売り出すためにCMを流すこと、これが介入である。そしてそのCMが放送されることによって生じる売上の増加分こそが、「CMという介入によって生じた効果」なのである。
。。。。本当に??????
気づいただろうか。これこそが、「嘘っぱちの効果」なのである。売り上げが増加する要因は、
- 商品Aのリニューアル
- 他の商品を巻き込んでのポイント還元キャンペーン等
- 競合他社の変化 etc.
などいくつも考えられる。これらの要因が絡んで、「売上の増加」という結果が得られたことになる。すると、この結果とCMの効果はイコール関係にはならないのだ。だが、これらの要因の影響を無視し、「CMは売上増加の効果があるぞ!」と施策決定を進めてはどうなるか。言わずもがな、期待した結果が得られなくなる。本来売上の増加という効果を得るために取るべきアクションではないからである。このように、特定の介入の効果を検証したいのであれば、他の要因の影響をできるだけ排除する必要がある。
本当の「効果」を得るために
ここからは、具体例を交えながら話を進めていこう。クーポンメールをユーザーに送付するという介入に対しての、売上への効果を例にとる。
ユーザーAはクーポンを受け取り、ユーザーBはクーポンを受け取っていないとき、それぞれの購入金額(売り上げ額)が円、円(ただし、、上付きの数値はクーポン受け取りの有無(0; no coupon, 1; receive coupon)を表す)であり、クーポンという介入により得られる効果がだったとしよう。である。これだけ見ると、クーポンという介入は売上を円分増加させる効果がある、と考えられる。
誰にクーポンを送っている?
ここで考えなければならないのは、クーポンを送付するユーザーをどのように選定したか、である。ビジネス上の施策である以上、予算には限りがある。そのため、クーポンを送付するユーザーを選ぶ際には、「送付することで購買する見込みのある」ユーザーを選定するだろう。つまり、選ばれたユーザーは、選ばれなかったユーザーと比較して、そもそもクーポンがなくとも購買する可能性が高いのだ。つまり、である。
このことから、先ほど述べた効果は、クーポンという介入に対する本当の効果ではなく、であったことがわかる。この、本当の効果との解離はバイアスと呼ばれる。その中でも、今回のユーザーAとBのように、元々所属していグループの潜在的な傾向が異なる(介入せずともAは購買見込みが高く、Bは低い)ことに起因して発生するバイアスをセレクションバイアスという。
セレクションバイアスがない状態で施策(介入)の比較を行うことで、本当の効果を知ることができ、取るべき施策を決定することができる。
因果推論の根本問題
セレクションバイアスがない状態、すなわち全く同じサンプルで介入の効果を検証することが施策の決定には理想であるが、実際問題、そのような状況を作り出すことは現実的に不可能である。それはつまり、とを比較することを意味するのだが、これらの比較はできないのだ。どういうことか、簡単に例を挙げると、
- 原作の小説を読んだ後に見る映画Aに抱く感想と、読まなかった場合に抱く感想
- Kurt Cobainが亡くなったことによるNirvanaの知名度への影響(生存していたなら今頃どれくらい有名になっていたのか)
- Kが生存していた場合にBLARE FEST.でのPTPのライブを見た際に流した涙の量と、亡くなっている場合に流した涙の量
(個人的なものを折り混ぜてしまった)このように、同じサンプルに対して介入の有無を比較することは、同時に存在することができないため不可能なのである。どちらかしか観測することができない、これは因果推論の根本問題と呼ばれている。つまり、を観測したらなは観測することができないということである。
RCT; Randomized Controlled Trial
介入に際してのサンプルをランダムに抽出すること、これこそが実際に実行できる、最も信頼のおける効果の検証方法である。クーポンの例に擬えると、元々購買見込みの高い集団と、購買見込みの低い集団を混ぜた集団から、ランダムに選択することを意味する。この場合、ランダムに選択された集団は、とに属しているサンプルの割合が同程度であること、さらに選択されていない集団と他の要因に関しても平均的に同一であることが期待される。すると、ここで平均を比較して検証することは、セレクションバイアスがない状態、すなわち介入の他の影響を受けない、本当の効果が観測されることが期待できる。
このように、効果を知りたい介入の対象を完全にランダムにすることでバイアスを最小限に抑え、それによって得られる結果を分析・比較することをRCT; Randomized Controlled Trial(無作為化比較実験)と呼ぶ。一部企業や界隈では、このような検証方法はABテストとも呼ばれている。
To Be Continued...
今回はここまで。次回は、
- 効果を測る方法
- 実際のメールマーケティングデータを使用し効果の検証
を実施する予定。
(せーのっ)
\\\ Another Starting Line //
Hi-STANDARD- ANOTHER STARTING LINE- Full ver.(OFFICIAL VIDEO)