大学・確率統計・データ・統計

ベイズ統計の入口の練習問題

事前分布・尤度・事後分布の関係が分かり、簡単なベイズ更新ができる。

考え方

事前の見込み(事前分布)をデータ(尤度)で更新して事後分布を求める、ベイズ統計の基本の流れが分かり、ベータ分布を使ったクリック率などの簡単な更新ができるようになります。データが少ない段階での A/B テストや、需要予測の更新に使います。

事前分布
データを見る前の、パラメータ(クリック率 θ\theta など)についての見込みを表す分布。
尤度
パラメータが θ\theta のとき、観測したデータが得られる確率。
事後分布
データを見たあとの見込み。事前分布 × 尤度 に比例する。
ベータ分布 Beta(α,β)\mathrm{Beta}(\alpha, \beta)
0〜1 の値(確率・割合)の分布。平均は αα+β\dfrac{\alpha}{\alpha + \beta}。

ベイズ統計では、知りたい値(クリック率 θ\theta)そのものを確率分布で表します。過去の経験から「だいたい 20% くらい」という見込みを事前分布にし、新しいデータを見るたびに分布を更新していきます。

更新のきまりはベイズの定理と同じで、事後分布は「事前分布 × 尤度」に比例します。データがよく出るような θ\theta ほど、事後分布で重みが増えます。

事前分布がベータ分布 Beta(α,β)\mathrm{Beta}(\alpha, \beta) で、データが二項分布(nn 回中 kk 回成功)なら、事後分布もベータ分布 Beta(α+k, β+n−k)\mathrm{Beta}(\alpha + k,\ \beta + n - k) になります。成功の回数を α\alpha に、失敗の回数を β\beta に足すだけです(共役事前分布)。

事後平均 α+kα+β+n\dfrac{\alpha + k}{\alpha + \beta + n} は、事前の見込み αα+β\dfrac{\alpha}{\alpha + \beta} とデータの割合 kn\dfrac{k}{n} の間の値になります。データが少ないうちは事前の見込みに引き寄せられ、データが増えるほどデータの割合に近づきます。

クリック率 θ の分布。事前分布 Beta(2, 8)(点線)は 0.1〜0.2 付近を中心に低く広く、事後分布 Beta(14, 36) は 0.28 付近に高く細く集まるθ事前分布事後分布00.20.40.6
事前分布 Beta(2,8)\mathrm{Beta}(2, 8)(点線)は低く広く、40 回中 12 回のデータで更新した事後分布 Beta(14,36)\mathrm{Beta}(14, 36) は 0.28 付近に高く細く集まります。データで見込みが絞り込まれたことを表します。

ポイント

事後分布∝事前分布×尤度\text{事後分布} \propto \text{事前分布} \times \text{尤度}

事前 Beta(α,β)\mathrm{Beta}(\alpha, \beta)、nn 回中 kk 回成功 → 事後 Beta(α+k, β+n−k)\mathrm{Beta}(\alpha + k,\ \beta + n - k)

Beta(α,β)\mathrm{Beta}(\alpha, \beta) の平均 =αα+β= \dfrac{\alpha}{\alpha + \beta}、事後平均 =α+kα+β+n= \dfrac{\alpha + k}{\alpha + \beta + n}

解き方の手順

  1. 事前分布の α\alpha, β\beta と、試行回数 nn、成功回数 kk を読み取る。
  2. 失敗回数 n−kn - k を求める。
  3. 事後分布 Beta(α+k, β+n−k)\mathrm{Beta}(\alpha + k,\ \beta + n - k) のパラメータを計算する。
  4. 事後平均 α′α′+β′\dfrac{\alpha'}{\alpha' + \beta'} を計算する(約分する。小数でもよい)。

例

クリック率の事前分布を Beta(2,8)\mathrm{Beta}(2, 8) としました。広告を 40 回表示して 12 回クリックされたとき、事後平均を求めてください。

  1. 事前の見込み: 22+8=0.2\dfrac{2}{2 + 8} = 0.2
  2. 失敗回数は 40−12=2840 - 12 = 28 回なので、事後分布は Beta(2+12, 8+28)=Beta(14,36)\mathrm{Beta}(2 + 12,\ 8 + 28) = \mathrm{Beta}(14, 36)
  3. 事後平均: 1414+36=1450=725=0.28\dfrac{14}{14 + 36} = \dfrac{14}{50} = \dfrac{7}{25} = 0.28
  4. 事前の 0.2 と、データの割合 1240=0.3\dfrac{12}{40} = 0.3 の間の値になっています。

よくある間違い

練習問題でこの間違い方をしたときは、その場でお伝えします。

  • 事前分布を無視するベイズ推定で事前分布の情報を使わず、データだけの割合(成功回数 ÷ 試行回数)を事後平均として答える。事後分布は、事前分布とデータの両方を反映します。事前分布のパラメータに成功・失敗の回数を足してから平均を求めましょう。

見る

計算例

新しいバナー広告のクリック率 θ\theta をベイズ統計で推定します。過去の広告の実績から、事前分布をベータ分布 Beta(4,12)\mathrm{Beta}(4, 12) としました。新しい広告を 20 回表示したところ、3 回クリックされました(クリック数は二項分布に従うとします)。

表示回数
20回
クリック数
3回

問いデータを反映した事後分布の平均(事後平均)を求めてください(分数または小数で)。

途中の式

  1. 事前分布がベータ分布で、データが二項分布なら、事後分布もベータ分布になります(共役事前分布)。成功の回数を α\alpha に、失敗の回数を β\beta に足します。
  2. 事後分布: Beta(4+3, 12+17)=Beta(7,29)\mathrm{Beta}(4 + 3,\ 12 + 17) = \mathrm{Beta}(7, 29)
  3. 事後平均: α′α′+β′=736\dfrac{\alpha'}{\alpha' + \beta'} = \dfrac{7}{36}
  4. 事前の見込み 14\frac{1}{4} と、データだけの割合 320\dfrac{3}{20} の間の値になります。データが増えるほど、データの割合に近づきます。

答えθ の事後平均は 736\frac{7}{36}

一緒にやる

小さく分けて、一緒に解く

1つずつ答えを確かめながら進みます。間違えても大丈夫です。

新しいバナー広告のクリック率 θ\theta をベイズ統計で推定します。過去の広告の実績から、事前分布をベータ分布 Beta(2,10)\mathrm{Beta}(2, 10) としました。新しい広告を 25 回表示したところ、4 回クリックされました(クリック数は二項分布に従うとします)。

データを反映した事後分布の平均(事後平均)を求めてください(分数または小数で)。

小さな問いに分けて、1つずつ一緒に進めます。

ステップ 1 / 3

事前分布 Beta(2,10)\mathrm{Beta}(2, 10) の平均(事前に見込んでいたクリック率)は?

分数は 3/4、ルートは √3(または sqrt(3))、累乗は 2^3、円周率は π と入力できます。

読み取り:(入力すると、ここに数式で表示されます)

自分でやる

練習問題

数字は毎回変わります。2〜3問続けて解けたら、次の単元や元のレッスンに進みましょう。

問題を準備しています…

学び直しマップ

前後の単元

分からないところがあったら前提まで戻り、分かったら使う先へ進みましょう。

学び直しマップで、この単元のまわりを見る