Slide 1

Slide 1 text

AI 2024.05.15 AI技術共有会 秋山卓也 株式会社ディー・エヌ・エー ベイジアンABテストってありなの? 〜頻度主義とベイズ主義の両方にぶっ叩かれそうな理解を添えて〜

Slide 2

Slide 2 text

AI 2 # アイドル # キャンプ # 楽器 # 育児 # kaggle? 自己紹介 秋山卓也(あきやま) 
 DeNA AI技術開発部 
 ライブストリーミンググループGL 
 twitter : @ak_iyama 
 kaggle : mtfall 


Slide 3

Slide 3 text

AI 3 目次 01|そもそも:ABテストとは 02|(頻度論ベースの)ABテスト 03|(頻度論ベースの)ABテストの課題 04|ベイジアンABテスト 05|ベイジアンABテストは本当に使えるのか?

Slide 4

Slide 4 text

AI 4 ▪ 複数の施策同士を比較検討する行為 ▪ 例 ▪ インターネット広告における2種類のクリエイティブの違いによる CVRへの影響の比較 そもそも:ABテストとは

Slide 5

Slide 5 text

AI 5 ▪ ABテストを通じて何を知りたいのか? ▪ どちらの施策がより優れた施策なのか ▪ 何に繋げたいのか? ▪ 意思決定 ▪ 施策を正式リリースするか否か ▪ ROI算出 ▪ すでにだいたいの開発は完了しているので、評価に使うケースも ▪ どのように? ▪ 今日の話 そもそも:ABテストとは

Slide 6

Slide 6 text

AI 6 ▪ ABテストに関わる統計的手法は頻度論がベースとなったものが多い ▪ χ2検定やt検定とか(詳細省略) ▪ 詳しくは ABテストのための統計ノートを参照 ▪ https://qiita.com/birdwatcher/items/8887afabe73513fbf264 (頻度論ベースの)ABテスト

Slide 7

Slide 7 text

AI 7 ▪ 頻度論をベースとしたABテストでは何ができる? ▪ 帰無仮説(比べてる施策に効果の差はないという仮説)が成り立っていうことを仮 定した場合に、極めて稀な事象が起きたかどうかを確認し、もし起きたなら帰無仮 説を棄却して対立仮説(施策に効果の差がある)を採択する ▪ 噛み砕くと。。。 ▪ 複数の施策効果の比較のシナリオにおいて ▪ 得られたデータに対して、「施策間の差が無いと言うにはあまりに稀な事象」 であるかどうかを判定できる (頻度論ベースの)ABテスト

Slide 8

Slide 8 text

AI 8 ▪ 例:2種類の広告クリエイティブのCVRのABテスト ● 母比率の差の検定(両側)を行うシナリオ ● ランダムに振り分けられた2つのユーザ群に対してクリエイティブA、Bを出し分け したところ以下のようなデータが得られた ○ A群のユーザ数na = 1000, A群のコンバージョン数 xa = 50 ○ B群のユーザ数na = 1000, B群のコンバージョン数 xb = 70 ● 以下の仮説を設定 ○ 帰無仮説H0:クリエイティブAとBのコンバージョン率に差はない ○ 対立仮説H1:クリエイティブAとBのコンバージョン率に差がある ● 以下の条件を設定 ○ 有意水準α = 5% :偽陽性(第一種の過誤)を犯す確率を5%とする (頻度論ベースの)ABテスト

Slide 9

Slide 9 text

AI 9 ▪ 例の続き ● 検定統計量zを計算 ● p値(両側)が0.0164で、有意水準α=0.05を下回っている ● 統計量が棄却域にあるため、帰無仮説の元ではあまりに稀な事象が発生したと判断 ● 対立仮説を採択し、「クリエイティブAとBのコンバージョン率に差がある」と判定 (頻度論ベースの)ABテスト ただし、    はA, B各群の標本比率、              はプール(重みつき平均)した標本比率

Slide 10

Slide 10 text

AI 10 ▪ 1回のABテストで一度しか検定を出来ない ▪ 帰無仮説が棄却されなかった場合、その原因が差がなかったからなのかサンプルサイ ズが不足していたからなのか不明 ▪ しかしサンプルサイズを増やしての再検定は基本的に許されない ▪ 意図的に有意性を得る”p-hacking”の行為にあたるから ▪ なのに事前にサンプルサイズを仮定することが難しい ▪ サンプルサイズは式計算により導出することが可能だが、期待する効果を仮定す る必要があり、それを事前に知ることは難しいため ▪ 詳しくは ABテストのための統計ノート ▪ 途中で結論を出すことが出来ない ▪ 有意差を検定しなければ意思決定できない ▪ 検定の結果として、差があるのか無いのかしか言えない ▪ どの程度の差があるのか、という点についての情報はない (頻度論ベースの)ABテストの課題

Slide 11

Slide 11 text

AI 11 ▪ p値が水準より大きかった際の意思決定が難しい ▪ わかることは「差がないとは言い切れない」 ▪ 原則棄却・撤退すべきだが、実際にその決定ができるかというと… ▪ 大抵サンクコストが莫大 ▪ 類似の再テストを行って良いのか?という話もある ▪ 類似施策を多数行えばその施策群の中で第一種の過誤が発生する確率も増える ▪ (用語・定義への理解の誤りが怖い) ▪ 逆に言うと、解釈違いやp-hackingが起こりやすい (頻度論ベースの)ABテストの課題 これらの課題に対する1つのアプローチがベイジアンABテスト

Slide 12

Slide 12 text

AI 12 ● 何が出来るものなのか ○ 施策の優れている程度の評価が可能 ■ 「施策AがBより優れている確率は90%」のような言い方が可能 ○ テスト中に何回でも分析が可能 ■ テストの途中で結果を確認し、その結果に基づいてテストを終了するか続行す るかを判断可能 ■ サンプルサイズを事前に厳密に決める必要がない ベイジアンABテスト

Slide 13

Slide 13 text

AI 13 ● どのように? ○ ベイズ更新を用いてパラメータの事後分布を求める ベイジアンABテスト ● ベイジアンABテストの手順 a. 施策A,Bの事前分布を決める b. 施策A,Bのサンプルデータを手に入れる c. Aのデータ、事前分布、尤度をもとに Aの事後分布を得る d. Bのデータ、事前分布、尤度をもとに Bの事後分布を得る e. Aの事後分布とBの事後分布を比較する f. 大きさを比較した結果をもとに、評価を下す X:サンプルデータ θ:パラメータ α:θの分布のハイパーパラメータ p(θ | α):事前分布 p(θ | X, α):事後分布 p(X | θ, α):尤度

Slide 14

Slide 14 text

AI 14 ● 例:2種類の広告クリエイティブのCVRのABテスト ○ 施策A,Bの事前分布を決める ■ 予想がつかないので、Beta(1,1)の ベータ分布を使う(無情報事前分布) ○ 施策A,Bのサンプルデータを手に入れる ■ A群のユーザ数10, A群のコンバージョン数1 ■ B群のユーザ数10, B群のコンバージョン数2 ○ データ、事前分布、尤度をもとにそれぞれの事後分布を得る ■ ベイズの定理に基づいて計算(省略) ○ Aの事後分布とBの事後分布を比較する ■ 施策Bが約55%の勝率 ○ 大きさを比較した結果をもとに、評価を下す ■ うーん。。。なんとも。。。 ベイジアンABテスト

Slide 15

Slide 15 text

AI 15 ● 例の続き ○ まだなんとも言えないのでもっとサンプル増やして判断したい! ■ A群のユーザ数100, A群のコンバージョン数10 ■ B群のユーザ数100, B群のコンバージョン数20 ○ データ、事前分布、尤度をもとにそれぞれの事後分布を得る ○ Aの事後分布とBの事後分布を比較する ■ 施策Bが勝率が約80%に変化 ○ 大きさを比較した結果をもとに、評価を下す ■ よし!施策Bを採用! ベイジアンABテスト このように、ベイジアンABテストでは何回でも分析が可能 -> 本当?

Slide 16

Slide 16 text

AI 16 ● 頻度論ベースのABテストでは、一度しか検定できないのにベイジアンABテスト では許されている?本当? ○ 頻度論ではなぜだめ? ■ p-hackingにあたるからNG -> kwsk ● 何度も検定する行為が、第一種の過誤が発生する確率を増やす ○ 第一種の過誤:本当は差がないのに差があると判定してしまうこと ○ n回の検定で第一種の過誤が一度も発生しない確率:1 - 0.95^n ● 「有意性がない時だけ再検定」という恣意性も第一種の過誤を増やす ○ ベイジアンABテストでは? ■ 都度都度の事後分布を求めているだけなのでOK ■ そして都度都度の状況下で勝ち負けの確率を見てるだけなので、許すも許さない もない ベイジアンABテストは本当に使えるのか? まだよくわからない。。。

Slide 17

Slide 17 text

AI 17 ● 何の確率を扱っているか、が違う ○ 頻度論 ■ p値:帰無仮説(施策間で母集団のパラメータが同じ)の元で、得られたサンプ ルデータより稀なデータを得る確率 ■ p値を使って有意水準αを基準とした検定を行うことで、その検定が偽陽性(第一 種の過誤)を犯す確率をコントロールしている ■ むず。。。 ■ 乱暴に言うと、「実験がミスを犯す確率」をコントロールしている ● 実験自体が1つ1つのサンプルであるため、サンプルを得る手続きは同じか つ正当なものでないといけない ○ ベイズ ■ パラメータそのものを確率として扱う ベイジアンABテストは本当に使えるのか?

Slide 18

Slide 18 text

AI 18 ● なぜこのような違いが生まれるのか? ○ パラメータの概念が違うため ○ 頻度論 ■ 頻度論において母集団は固定された唯一のものであり、母集団の性質を指すパラ メータは確定された値であるため、確率的に扱うができない ■ サンプルを得る行為・得られたサンプルこそが確率的な事象であり、仮定を置い た際の発生確率として表現する ○ ベイズ ■ パラメータとは信念であり、確率的な振る舞いをするもの ■ 信念は更新可能であり、得られたサンプルをもとにより尤もらしい信念に更新し ていくことはむしろ推奨される行為 ベイジアンABテストは本当に使えるのか?

Slide 19

Slide 19 text

AI 19 ● ベイジアンABテストの欠点は? ○ 事前分布の選択に主観的な要素が入る ■ ベイジアンではパラメータを自分で選べるためより主観的 ● (頻度論側でも確率分布の仮定に主観的な要素はある) ■ 結果として、実験間の比較やメタアナリシスが難しくなる ■ 無情報事前分布を選択するなどで影響の軽減が可能 ○ 計算の複雑さやコスト ■ 頻度主義的な方法に比べて計算が複雑だったり、大規模なデータセットや複雑な モデルを扱う場合に計算コストが高くなる ■ 共役事前分布を選択して解析的に解いたり、MCMCなどの手法を使って効率的に ゴリ押しすることも可能 ベイジアンABテストは本当に使えるのか?

Slide 20

Slide 20 text

AI 20 ● 頻度論ベースとの実用上の使い分け ○ 1つ1つの実験をサクサク進め、大枠としての実験群をコントロールしたい場合には頻 度論ベースのABテストが良い ■ 例:webサイトの改善アイデアが100個あり、誤った施策の採用をコントロール しつつ全体として改善に持っていきたい ■ メタアナリシスを実施しやすいメリットもある ○ 単発の肝入り施策のABテストや、カオスな状況下で逐次的な改善を繰り返していきた いケースではベイジアンABテストが良い ■ 例:webサービスのコンバージョン動線をガラッと変える施策のテスト ■ 気合いの入った施策ほど「信念」が強くなりがちだが、その信念をパラメータの 事前分布として表現して、サンプルに応じて分布を更新し、確信を得た段階で意 思決定を行うようなプロセスとは相性が良い ベイジアンABテストは本当に使えるのか?

Slide 21

Slide 21 text

AI 21 ● ABテストでは頻度論的手法がスタンダードだが課題もある ● 特に、検定を一度しか行えないことが実用上問題になることがある ○ 頻度論では実験自体が確率上の1つのサンプルであり、サンプルを得る手続 きは同じかつ正当なものでないといけないため ● その課題に対する1つのアプローチとしてベイジアンABテストがある ○ ベイズでは得られたサンプルをもとにより尤もらしいパラメータ(≒信念) に更新していくことは推奨される行為 ● 各々の性質をよく理解して使い分けをすることが大事 ● ベイジアンABテストってありなの? ○ あり まとめ