PyMC3版が動かなくなっていたため,以下で置き換えました.
経緯
タイトルの通り,以下の記事を基に作ったCoLabを利用したツールのPyMC3版を2つ,GitHubに上げました.手作り版はアクセス数・CV数が大きくなるとエラーになってしまう不具合があり,今回ライブラリを使用したバージョンを作り直すことにしました.
注意
- コード複製・改変・その他諸々フリーですが,ツールから得た結果について一切責任を負いません
- このツールはGoogleドライブ上に保存することができるので,セキュリティに注意ください!
- ツール紹介がメインなので,技術的な説明や使用条件は省略しています
- とは言え記載に致命的な誤りがある場合はコメントください
過去記事
ベイジアンABテストに関する記事
旧手作り版ツールの記事
新しいツール
ABテストPyMC3版
使い方は前記事とほぼ同じですが,ビジュアライズを若干改良しているので,変更部分だけ説明します.CoLabへの直接リンクではなく,CoLabのGitHubにコピーを保存を利用しています.
Open in CoLabボタンをクリックすればCoLabが起動して使用できます.
今回PyMC3というライブラリを使用しているためpip install ..
の実行が必要です.「▶」を押してしばらく待てばインストール完了.
しばらく待つと確率分布が表示されます.アクセス数とCV数から推定した分布を使用し,指定したサンプル数分の試行をシミュレートした結果を得ることができます!ライブラリを初期化しているのか,最初の実行だけ妙に時間がかかります,,,
テスト | アクセス数 | CV数 | CV率 | HDI下限値 | HDI上限値 |
---|---|---|---|---|---|
A | 122 | 11 | 0.090 | 0.054 | 0.141 |
B | 169 | 24 | 0.142 | 0.101 | 0.190 |
HDI(Highest density interval)は誤差のようなものですが,厳密には異なります.例えばしきい値を0.9とした場合,90%の確率でこの範囲内に収まります.詳細は以下.
今回は検証を分けているため,こちらも「▶」を押して実行します.
A - Bが0
以上となる確率の合計から,AよりBが高くなる確率を求めることができます.
AよりBが高い確率:90.48%
AよりBが低い確率:9.53%
AよりBが高い確率,しきい値による判定,B - A
の確率分布が表示されます.AよりBが何%高くなるか,の確率分布を確認することができます.オレンジと青のグラフに若干のズレがあるようです,,,こちらは時間のあるときに修正を試みます,,,
================================
しきい値90.0%での判定: Bの勝利!
================================
しきい値を基にABテストの判定結果を表示しています.しきい値を下回る場合は優位差無し
となります.
B - A | HDI下限値 | HDI上限値 |
---|---|---|
0.905 | -0.012 | 0.113 |
この図からはHDIの範囲を確認することができます.
レポート上にも注意点として記載していますが,HDIはAよりBが何%高いかという値が90%の確率でこの範囲に収まる,としたものであり,AよりBが高い確率とは異なるものです.具体的には,HDIは確率分布の右側の確率を含みませんが,AよりBが高い確率は,右側の確率を含んでいます.
アンケート分析PyMC3版
こっちは今回新たに作ったものです.アンケートやレビューなどの結果から得られたデータを分析するツールです.それぞれの確率分布とHDIを計算してくれます.
値のリストvalues
には,アンケートなどから得られた結果を選択肢分入力します.複数回答が可能な場合は件数が重複するため,総数all_size
を入力.その他はベイジアンABテストと同じパラメータです.期待値を算出したいときは,それぞれの選択肢に対する重みweights
を入力します.
実行結果
選択肢 | 総数 | 選択数 | 割合 | HDI下限値 | HDI上限値 |
---|---|---|---|---|---|
選択1 | 185 | 25 | 0.135 | 0.096 | 0.178 |
選択2 | 185 | 45 | 0.243 | 0.191 | 0.293 |
選択3 | 185 | 31 | 0.168 | 0.122 | 0.212 |
選択4 | 185 | 78 | 0.422 | 0.358 | 0.476 |
選択5 | 185 | 6 | 0.032 | 0.0149 | 0.058 |
各選択肢の平均の割合とHDIの範囲を比較することができます.それぞれの選択肢でどちらがどれだけ高いか,などの細かい比較は,ベイジアンABテストを使えば実現できます.例えば選択1より選択3の比較をしたい場合,ベイジアンABテストツールでそれぞれの総数と選択数を入力します.
更に,それぞれの選択肢に対する重み(レビューの星の数,課金額など)から,期待値の確率分布を表示します.今回の実行例では,それぞれの選択肢1〜5をそのままレビューの星の数として,期待値の確率分布とHDIを算出しています.
期待値 | HDI下限値 | HDI上限値 |
---|---|---|
2.974 | 2.833 | 3.108 |
おわりに
以前から,意思決定の材料として確からしさが重要だと感じていて,それを定量的に確認できるツールを作りたいと考えていました.簡易的なツールで用途は限られますが,このツールをきっかけにして,新たな知識・技術を得てカスタマイズすることで,より適切な意思決定の助けになるのではないか,と思います.
また,以前であればアプリやWebサイト公開する必要がありましたが,CoLabを使えばスタンドアローンに近い実行環境を手軽に提供できます.GitHubからポチっとすれば,ユーザーのクラウド環境で,ある程度無料で実行できるのはめちゃくちゃ便利ですね.
まだまだ知識不足ですが,今後も勉強を続けながらツールを作り,公開できそうなものは公開していきます.最後まで読んで頂き,ありがとうございました!