ベータ分布
Beta Distribution ・ べーたぶんぷ
0〜1の確率そのものの分布。ベイズ推定で成功率の不確かさを表す定番
✦ 30秒で試す — 航海「まったく分からない」を表す形は、平らとは限らない1回試して成功した。見立ての平均が大きく動くのは?予想してみる概要
ベータ分布は、0から1の範囲の値だけを取る確率分布です。0〜1の値といえばまず思い浮かぶのが「確率」そのもの——コインの表が出る確率、広告のクリック率、新機能のコンバージョン率。ベータ分布はまさに「確率そのものがどれくらい不確かか」を表すための分布として使われます。「クリック率はたぶん3%前後だが、2%かもしれないし5%かもしれない」という曖昧さを、1本の曲線として描けるのです。
形は α(アルファ)と β(ベータ)という2つのパラメータで決まります。直感的には「α − 1 回の成功と β − 1 回の失敗を見たあとの、成功率についての信念」と読めます。α = β = 1 なら何も見ていない状態で、0〜1のどこも同じくらい確からしい一様分布に一致します。成功と失敗の観測が増えるほど、曲線は観測された成功割合のあたりに鋭く尖っていきます。
この「観測の数がそのままパラメータになる」性質のおかげで、ベータ分布はベイズ推論で成功率を推定する場面の事前分布と事後分布の定番として登場します。A/Bテストやバンディットアルゴリズムなど、実務での出番も多い分布です。
なぜ生まれたか
割合の推定には、素朴な方法の限界がつきまといます。「3回試して3回成功したから成功率は100%」——観測された割合をそのまま推定値にすると、データが少ないときに極端すぎる結論が出てしまいます。3回中3回の100%と、1万回中1万回の100%は、確からしさがまるで違うはずです。この違いを表現するには、成功率を1つの数値(点推定)ではなく「確率の分布」として持つ必要がありました。
実はこの問題は確率論の歴史の出発点近くにあります。18世紀のトーマス・ベイズが遺稿で扱ったのは「成功回数の観測から、成功確率そのものの分布を逆算する」という問題でした。成功確率について一様な見立てから出発し、n 回中 k 回の成功を観測すると、成功確率の分布は x の k 乗と (1 − x) の n − k 乗の積に比例する形——今日でいうベータ分布——になります。つまりベータ分布は、ベイズの定理の最初の適用例と同時に現れた分布です。20世紀になって、この組み合わせの数学的な相性の良さが「共役性」として整理され(共役事前分布)、二項分布型のデータに対する事前分布の標準になりました。
詳細
α と β が決める形
ベータ分布の確率密度は、x の α − 1 乗と (1 − x) の β − 1 乗の積に比例します。数式を覚えるより、パラメータと形の対応を掴むのが実用的です。α = β = 1 は水平な直線(一様分布)。α と β が等しければ 0.5 を中心に左右対称で、値が大きいほど鋭く尖ります。α > β なら山は1寄り(成功が多かった)、α < β なら0寄り(失敗が多かった)に傾きます。α と β がどちらも1より小さいと、両端が高いU字形になり、「成功率は0か1のどちらかに近いが、どちらかは分からない」という見立てを表します。
分布の平均は α ÷ (α + β)、つまり「成功の擬似回数の割合」で、これは期待値として自然な読み方ができます。山の頂点(最頻値)は (α − 1) ÷ (α + β − 2) で、α・β が1より大きいときに定義されます。ばらつきの目安である分散は αβ ÷ [(α + β)² × (α + β + 1)] で、α + β(擬似的な観測の総数)が大きくなるほどおよそ反比例して小さくなります。平均が同じ0.7でも、Beta(7, 3) と Beta(70, 30) では確信の度合いがまるで違う、ということがこの式に表れています。
共役性 — 足し算だけで信念が更新できる
ベータ分布が定番になった最大の理由は、二項分布との「共役性」です。成功率についての事前の信念を Beta(α, β) で持っておき、新たに s 回の成功と f 回の失敗を観測すると、ベイズの定理による更新後の分布(事後分布)は Beta(α + s, β + f)——元と同じベータ分布のまま、パラメータに観測回数を足すだけです。事前分布と事後分布が同じ分布族に収まるこの性質を共役といい、複雑な積分計算なしに、カウンタを2つ増やすだけでベイズ推論の更新が完了します。仕組みと他の分布の例は共役事前分布の項で詳しく扱います。
この読み方をすれば、α と β は「これまでに見た成功と失敗の擬似的な蓄積」です。上の図の Beta(8, 4) は、Beta(1, 1) から始めて7勝3敗を観測した結果です。同じ Beta(1, 1) から1勝4敗を観測していれば Beta(2, 5)。どちらも1回の更新でその形になるのであって、データを追加するたびに Beta(1, 1) → Beta(2, 5) → Beta(8, 4) と進むわけではない点に注意してください(Beta(2, 5) に7勝3敗を足せば Beta(9, 8) です)。データが少ないうちは分布が広い=「まだ断言できない」ことも、分布の形が正直に語ってくれます。
A/Bテストとトンプソンサンプリング
実務での代表的な使いどころがA/Bテストです。案Aと案Bそれぞれのコンバージョンを Beta(成功+1, 失敗+1) で表し、2つの分布から乱数を何万組も引いて「Bの値がAを上回った割合」を数えれば、「Bの成功率がAを上回っている確率は92%」のような、意思決定に直結する言明ができます。仮説検定のp値よりも直感的に読める点が好まれます。区間で言いたければ、事後分布の分位数から「成功率は95%の確からしさで2.1%〜4.8%の間」という信用区間が取れます。頻度論の信頼区間と似て非なる概念で、こちらは文字どおり「この範囲にある確率」として読めます。
さらに一歩進んだ応用がトンプソンサンプリングです。複数の選択肢(広告バナーなど)それぞれのベータ分布から乱数を1つずつ引き、最大値を出した選択肢を今回表示する——これだけで「有望な案を多めに試しつつ、不確かな案も適度に探索する」バランスが自動的に取れます。分布が広い(まだよく分からない)案ほど、たまたま大きな値を引いて選ばれる機会があるからです。ベータ分布からのサンプリングがモンテカルロ法的な意思決定エンジンになっている例で、推薦システムや広告配信で広く動いています。
落とし穴 — 事前分布は「無色」ではない
注意すべきは、事前分布の選択が結論に影響することです。Beta(1, 1) は一見中立ですが、「成功率が50%付近」も「99%付近」も同等に扱うという主張を含んでいます。クリック率のように事前に「せいぜい数%」と分かっている量なら、Beta(1, 30) のような情報を持たせた事前分布のほうが少データでの推定が安定します。逆に事前分布を強くしすぎるとデータが軽視されます。目安は「事前の α + β が、何回ぶんの観測に相当するか」で、実データの件数と比べて事前が重すぎないかを確かめるとよいでしょう。データ量が十分なら事前分布の影響はほぼ消えるので、問題になるのは少データのとき——その少データのときこそベータ分布の出番でもある、という緊張関係を意識しておくことが大切です。
もう1つの落とし穴は、成功率が本当に1つの値だと仮定していることです。ユーザー層や日によって成功率そのものがばらつくのに全データを1つのベータ分布に足し込むと、分布は実態より鋭く尖り、確信過剰になります。グループごとの違いを持たせたいなら階層ベイズモデルの出番です。なお、ベータ分布は一様分布の乱数を小さい順に並べたときの「k番目の値の分布」(順序統計量)としても現れる、確率論の随所に顔を出す分布でもあります。
試問
ベータ分布 Beta(α, β) は、成功率のように 0〜1 をとる値が「どのあたりにありそうか」という見立てを表す分布で、α と β の2つの数で形が決まります。見立ての確かさは、分布の広がりに表れます。
6つのベータ分布を、成功率についての不確かさ(分布の広がり)が大きい順に並べよ
↑ 広い(まだ分からない)
↓ 狭い(確信している)
2つを順に選ぶと入れ替わります(↑↓でも動かせます)
