コンテンツにスキップ

「ベイズ推定」とは?

ABテストの結果を活用するには、統計学的な観点からの分析が必要不可欠です。

従来のABテストでは、「統計的有意差」があるか確かめることが重要とされてきました。

一方、Optimize Next では「最適である確率」という指標を重視しています。

「Optimize Next」ABテスト結果のレポート画面

この記事では、それぞれの概念的な意味をわかりやすく説明した上で、 「最適である確率」を算出するために用いる「ベイズ推定」という手法の仕組みについて、簡略化したモデルをもとに解説しています。

統計的に有意な差がある」とは、データ間の差異が「偶然によって生じたものではなく何らかの意味を持つ」と言える状態のことを指します。

たとえば、薬の効能を調べる臨床試験では、被験者をランダムに2つのグループに割り振り、 グループAには本物の薬を、グループBにはプラセボ(偽薬)を服用させて、 グループAの被験者の方が効能を示すことを確認します。

このとき、単にグループAの方が数値が良いというだけでは不十分で、 グループBとの差分が「偶然とは言えない」ものであるかどうかが重要になります。

この判断は、p値 と呼ばれる指標を算出し、その大きさによって行います。

手順の詳細はこちら
  1. 「データ間の差は偶然によるものである(有意な差はない)」という仮説(帰無仮説)を立てる
  2. 帰無仮説 が正しいと仮定した場合に、実験結果と同等(orそれ以上)に極端な結果が得られる確率(p値)を算出する
  3. p値 の大きさに応じて、「帰無仮説 が正しい」という仮定そのものを評価する
    1. p値 が小さい場合(一般的には5%未満)

      実験結果は 帰無仮説 のもとではなかなか得られにくいため、帰無仮説 を棄却する →「データ間の差は偶然によるものではない」と判断する

    2. p値 が大きい場合(一般的には5%以上)

      実験結果は 帰無仮説 のもとでも十分に得られうるため、帰無仮説 は棄却されない →「データ間の差は偶然によるものかもしれない」と判断する

p値 は価値のある指標ではありますが、 一方で、その解釈や利用方法に関して多くの批判や警告が繰り広げられていることも事実です。

参考

P値の誤用の蔓延に米国統計学会が警告

P値の誤用の蔓延に米国統計学会が警告(nature ダイジェスト)

p値を使って学術論文を書くのは止めよう(J-STAGE)

p値を使って学術論文を書くのは止めよう(J-STAGE)

また、そもそも p値 は学術的な文脈において使われる指標であり、私たちマーケターにとってどれほどの価値を持つものかという点については一考の余地があります。

私たちの興味の対象は「いかにWebサイトのパフォーマンスを最大化させるか」であり、 「実施したABテストの結果に統計的有意差があると言えるか」ではありません。

むしろ、テストパターンの方が高いパフォーマンスを示したものの、 p値 が基準よりも大きい(統計的有意差が認められない)という理由だけで実装を見送ってしまうことは、場合によってはサイト改善の機会損失になり得るということを覚えておかなければなりません。


Optimize Next で実施されたエクスペリエンスでは、 各パターンが「最適である確率」(勝ちパターンである確率)を算出しています。

この画像の例では、「パターン1」の 最適である確率 が「91%」となっています。

これは、「オリジナル」から「パターン1」に変更することでCVRが改善する確率が「91%」であることを示しています。

逆に言えば、CVRが悪化する(または変わらない)確率は「9%」あります。

このリスクを許容した上で「パターン1」を採用するのか、それとも採用を見送るのか、 確率をもとに判断することができます。

通常、この例においては「パターン1」を採用するのが合理的と言えるでしょう。


最適である確率 について理解する第一歩は、 各パターンにおける「真のCVR(目標達成率)」という概念を考えることです。

上の画像の例では、「パターン1」の目標達成率は「1.78%」ですが、 これはあくまで「12,017人」のユーザーに対する実験の結果に過ぎず、 「パターン1」の「真の目標達成率」とは必ずしも一致しないはずです。

では、その「真の目標達成率」とは、いったい何%なのでしょうか?

当然ながら、これは概念上の数値(いわゆるイデアのようなもの)なので、 「ズバリ〇〇%です!」と算出することはできません。

「真の目標達成率」は「1.8%」で、実験結果でも近い数値が得られたのかもしれませんし、 「真の目標達成率」は「1.6%」で、実験結果では偶然高い数値が得られただけかもしれません。

ただし、「真の目標達成率」が「1.8%」である確率 を算出することはできます。

つまり、「真の目標達成率」が「どのような確率分布を取るか」を求めることは可能です。

「確率分布」とは?

結果が複数の値を取りうる場合に、 「それぞれの値が結果として得られる確率」がどのように分布しているかを示すものです。

たとえば、サイコロを振ったときの出目は、 1から6までの値を取り、いずれも6分の1の確率で分布しています。

一方で、サイコロ2つを振ったときの出目の和は、 2から12までの値を取り、7となる確率が最も高くなるように分布しています。

そして、「真の目標達成率」の確率分布 を各パターンに対して求めれば、

「パターン1の真の目標達成率」が「オリジナルの真の目標達成率」よりも高くなる確率 を算出することができます。

これこそが「パターン1が最適である確率」の正体です。

実際の算出には、「ベイズ推定」という手法を利用しています。


ベイズ推定」は、統計学において確率的推論を行う手法のひとつです。 サンプル数が比較的少ない場合でも有益な推論結果を得られることが特徴です。

ここでは、簡略化されたモデルを用いて、初歩的な「ベイズ推定」の仕組みを解説します。


まずはこのような問いを考えてみましょう。

当たった確率は40%だから、当たりは10本のうち4本! ・・・というのはもちろん間違いで、たった5回の試行から当たり本数を求めることはできません。

(試行回数が十分に多かったとしても、”正確な” 当たり本数を求めることはできません。)

しかし、当たり本数が「どのような確率分布を取るか」を求めることは可能です。

かんたんな数学の計算により、このようなグラフが得られます。

確率分布の計算方法はこちら
  1. 当たり本数が0本 1本10本の場合それぞれにおいて、 「5回のうち2回が当たり(= 3回がハズレ)」となる確率を求める
    • 当たり0本の場合:0%
    • 当たり1本の場合:7.3% = $(0.1^2) × (0.9^3) × _5C_1$
    • 当たり2本の場合:20.5% = $(0.2^2) × (0.8^3) × _5C_2$
    • 当たり3本の場合:30.9% = $(0.3^2) × (0.7^3) × _5C_3$
    • ・・・
  2. 上記11通りの場合の確率の総和が 1(100%)になるように調整する
    • 当たり0本の場合:0%
    • 当たり1本の場合:4.4% = $0.073 / (0.073 + 0.205 + 0.309 + ...)$
    • 当たり2本の場合:12.3% = $0.205 / (0.073 + 0.205 + 0.309 + ...)$
    • 当たり3本の場合:18.5% = $0.309 / (0.073 + 0.205 + 0.309 + ...)$
    • ・・・

直感的にも分かりやすいグラフではないでしょうか。

4本である確率が最も高いですが、3本 または 5本である確率も高いです。

また、「2本6本のいずれかである確率」は84%です。


それでは、次の問いを考えてみましょう。

(細かいグラフを描画するため、クジの総数を増やしています。)

箱Bの方が当たりが多く出たのだから、実際に当たりクジが多く入っているのも箱B!

・・・というのは間違いで、この情報だけから確定させることはできません。

たとえば、箱Aに当たりが90本、箱Bに当たりが10本入っていたとしても、

  • 箱Aからは運悪く3回も「10%のハズレ」を引いた
  • 箱Bからは運良く4回も「10%の当たり」を引いた

というケースは、ごくわずかな確率(約27万分の1)ではありますが、「起こり得る」ことは確かです。

これは極端な例ですが、より現実的なケースも考えていくと、 「箱Bの方が箱Aよりも当たりクジが多い」というのは確実ではなく、その確率は決して100%ではないと分かります。

では、その確率とはどのくらいなのでしょうか?

  1. 箱Aと箱Bそれぞれの「当たり本数の確率分布」を求める
  2. 両者を比較して「箱Aよりも箱Bの方が当たり本数が多い確率」を求める

という手順で算出してみましょう。

先ほどと同様の計算により、「箱Aの当たり本数」の確率分布として、このようなグラフが得られました。

箱Bの場合はこちら。

2つのグラフを重ね合わせると、このようになります。

箱Aは40本、箱Bは80本の周辺にピークができています。

かなりの確率で「箱Aよりも箱Bの方が当たり本数が多そう」です。

実際に「箱Aよりも箱Bの方が当たり本数が多い」確率を求めると、87.5%となります。

確率の計算方法はこちら
  1. 「箱Aの当たり本数がn本」かつ「箱Bの当たり本数がn+1本以上」である確率を、 0<n<100の範囲のnに対してそれぞれ求める

    例)n=50 の場合:1.66% = $0.0188 × 0.886$

    • 箱Aの当たり本数が50本1.88%
    • 箱Bの当たり本数が51本以上:88.6% = $0.0099 + 0.0105 + 0.0111 + ...$
      • 箱Bの当たり本数が51本0.99%
      • 箱Bの当たり本数が52本1.05%
      • 箱Bの当たり本数が53本1.11%
      • ・・・
  2. すべてのnに対して算出した確率を合計する

このように、試行回数がたった5回であるにも関わらず、 9割近い確率で「より多くの当たりクジが入っているのはどちらの箱か」を推論することができました。


試行回数を増やすとどうなるでしょうか?

このようなグラフが得られます。

試行回数(サンプル数)を増やすと、分布範囲を狭く絞ることができます。

2つのグラフに重複部分はほとんどなく、箱Bの方が当たりが多い確率は99.99...%となりました。


では、当たり回数の差を少なくしてみると?

このようなグラフが得られます。

箱Bの方が当たりが多い確率は82.7%となりました。


さらに試行回数を増やすことで、当たり回数の差が少ない場合でも推論の確率を向上させることができます。

箱Bの方が当たりが多い確率は96.1%となりました。


ここまで、「クジ100本のうち何本が当たりか」ということにフォーカスしてきましたが、 これは「当たりを引く確率は何%か」と言い換えることもできます。

この場合、グラフの横軸は 0% 1%100% のように、1%刻みの値を取ります。

両軸ともに単位が「確率(%)」になるため、理解が難しくなってしまうかもしれませんが、実質的には同様です。

また、実際のABテストにおける「目標達成率」は、1%刻みではなく連続的な値を取るため、 ここまでの解説で用いてきた計算方法を利用することはできません。

そのため、Optimize Next で実際に利用している算出ロジックは全く別のものですが、概念的な理解を深めるためには、このセクションが十分に役立ちます。