Lemma

第7章ベイズ統計

目安 9〜13 時間定理など 5演習 8 問
ここまでの道

この章の目標

  • 事前分布と尤度から事後分布を求め、ベータ–二項・ガンマ–ポアソン・正規–正規の共役事前分布の計算を証明できる
  • 二乗損失のベイズ推定量が事後平均、絶対値損失のベイズ推定量が事後中央値であることを証明できる
  • 信用区間と信頼区間の解釈の違いを説明し、事後予測分布を計算できる
  • メトロポリス–ヘイスティングス法が目標分布を定常分布にもつことを詳細つり合いから証明し、収束にはさらに条件が要ることを説明できる
  • ギブスサンプリング、階層モデルによる縮小推定、ベイズファクターの考え方と注意点を説明できる

前提:第1章、第3章、第4章。7.6 節ではマルコフ連鎖の定常分布と収束の定理を 11 確率論 第6章 から引用する。7.8 節では 第6章 の BIC と比べる。

新しい商品ページを公開したところ、20 人が訪れて 3 人が購入した。購入率の最尤推定値は 3/20=0.153/20 = 0.15 だが(第3章)、20 人では心もとない。一方、同じサイトの過去のページの購入率がおおむね 5〜20% だったことはわかっている。この知識を推定に組み込みたい。また、意思決定をする人が知りたいのは「購入率が 10% を超える確率」のような、パラメータについての確率であることが多い。

これまでの章の方法(頻度論, frequentist)では、パラメータ θ\theta は未知の定数であり、確率はデータの揺らぎを表すためだけに使った。ベイズ統計 (Bayesian statistics) では、θ\theta についての不確かさも確率分布で表し、データを見る前の分布(事前分布)を、ベイズの定理によってデータを見た後の分布(事後分布)に更新する。推定・区間・予測は、すべて事後分布から導かれる。本章では、計算が閉じた形でできる共役事前分布、ベイズ推定量、信用区間、事後予測分布を扱った後、一般の事後分布に従う乱数を作るマルコフ連鎖モンテカルロ法が正しい分布を目標にしていることを証明する。

7.1 事前分布と事後分布

本章ではパラメータ θ∈Θ⊂Rk\theta \in \Theta \subset \mathbb{R}^k も確率変数とみなし、データ XX との同時分布を考える。離散型の場合も含めて「密度」と書き、離散型では積分を和に読み替える。

定義 7.1(事前分布・事後分布, prior / posterior distribution)θ\theta の密度 π(θ)\pi(\theta) を事前分布、θ\theta が与えられたときの XX の条件付き密度 f(x∣θ)f(x \mid \theta) を統計モデルとし、(θ,X)(\theta, X) の同時密度を π(θ)f(x∣θ)\pi(\theta)f(x \mid \theta) とする。XX の周辺密度

m(x)=∫Θf(x∣θ)π(θ) dθm(x) = \int_\Theta f(x \mid \theta)\pi(\theta)\ d\theta

を周辺尤度 (marginal likelihood) という。m(x)>0m(x) > 0 となる xx について、X=xX = x が与えられたときの θ\theta の条件付き密度

π(θ∣x)=f(x∣θ)π(θ)m(x)\pi(\theta \mid x) = \frac{f(x \mid \theta)\pi(\theta)}{m(x)}

を事後分布という。

後の式は条件付き密度の定義(第1章 定義 1.11)そのものであり、密度についてのベイズの定理である。xx を固定すると f(x∣θ)f(x \mid \theta) は尤度 L(θ)L(\theta) で、m(x)m(x) は θ\theta によらないから、π(θ∣x)∝L(θ)π(θ)\pi(\theta \mid x) \propto L(\theta)\pi(\theta)(事後 ∝\propto 尤度 ×\times 事前)である。ここで g∝hg \propto h は、θ\theta によらない正の定数 cc について g=chg = ch となることを表す。右辺を θ\theta の関数とみて、積分が 11 になるよう定数倍したものが事後密度である。

例 7.2(購入率)20 人中の購入者数を XX とし、X∣p∼B(20,p)X \mid p \sim B(20, p)、事前分布を一様分布 U(0,1)U(0, 1) とする。x=3x = 3 なら、0<p<10 < p < 1 で

π(p∣3)∝(203)p3(1−p)17⋅1∝p3(1−p)17\pi(p \mid 3) \propto \binom{20}{3}p^{3}(1 - p)^{17} \cdot 1 \propto p^{3}(1 - p)^{17}

これは Beta⁡(4,18)\operatorname{Beta}(4, 18) の密度の定数倍なので、事後分布は Beta⁡(4,18)\operatorname{Beta}(4, 18) である。事後平均は 4/22=0.1824/22 = 0.182 で、P(p>0.1∣X=3)=0.848P(p > 0.1 \mid X = 3) = 0.848 である(数値は計算機による)。

注意 7.3(逐次更新)X1,X2X_1, X_2 が θ\theta を与えたもとで条件付き独立なら、π(θ∣x1,x2)∝f(x2∣θ)f(x1∣θ)π(θ)∝f(x2∣θ)π(θ∣x1)\pi(\theta \mid x_1, x_2) \propto f(x_2 \mid \theta)f(x_1 \mid \theta)\pi(\theta) \propto f(x_2 \mid \theta)\pi(\theta \mid x_1) である。x1x_1 による事後分布を新しい事前分布として x2x_2 で更新しても、まとめて更新しても結果は同じである。データが毎日届くなら、昨日の事後分布が今日の事前分布になる。

7.2 共役事前分布

例 7.2 では、ベータ分布(一様分布は Beta⁡(1,1)\operatorname{Beta}(1, 1))の事前分布から、ベータ分布の事後分布が得られた。

定義 7.4(共役事前分布, conjugate prior)統計モデル f(x∣θ)f(x \mid \theta) に対し、事前分布の族 F\mathcal{F} に属するどの事前分布とどの観測値についても事後分布が F\mathcal{F} に属するとき、F\mathcal{F} を共役事前分布族という。

定理 7.5(共役事前分布)a,b,α,β,τ0,σ>0a, b, \alpha, \beta, \tau_0, \sigma > 0、μ0∈R\mu_0 \in \mathbb{R} とする。ガンマ分布 Gamma⁡(α,β)\operatorname{Gamma}(\alpha, \beta) の第 2 パラメータは、第1章と同じく率である。

  1. (ベータ–二項)X∣p∼B(n,p)X \mid p \sim B(n, p)、p∼Beta⁡(a,b)p \sim \operatorname{Beta}(a, b) ならば、p∣X=x∼Beta⁡(a+x,b+n−x)p \mid X = x \sim \operatorname{Beta}(a + x, b + n - x)。
  2. (ガンマ–ポアソン)X1,…,XnX_1, \dots, X_n が λ\lambda を与えたもとで独立に Po⁡(λ)\operatorname{Po}(\lambda) に従い、λ∼Gamma⁡(α,β)\lambda \sim \operatorname{Gamma}(\alpha, \beta) ならば、λ∣x∼Gamma⁡(α+∑ixi,β+n)\lambda \mid x \sim \operatorname{Gamma}\left(\alpha + \sum_{i} x_i, \beta + n\right)。
  3. (正規–正規、分散既知)X1,…,XnX_1, \dots, X_n が μ\mu を与えたもとで独立に N(μ,σ2)N(\mu, \sigma^2) に従い(σ2\sigma^2 は既知)、μ∼N(μ0,τ02)\mu \sim N(\mu_0, \tau_0^2) ならば、μ∣x∼N(μn,τn2)\mu \mid x \sim N(\mu_n, \tau_n^2)。ここで
1τn2=1τ02+nσ2,μn=τn2(μ0τ02+nxˉσ2)\frac{1}{\tau_n^2} = \frac{1}{\tau_0^2} + \frac{n}{\sigma^2}, \qquad \mu_n = \tau_n^2\left(\frac{\mu_0}{\tau_0^2} + \frac{n\bar{x}}{\sigma^2}\right)

証明. いずれも、尤度 ×\times 事前密度を計算し、既知の分布の密度の定数倍になることを確かめる。密度の定数倍で積分が 11 になるものはその密度自身に限るので、事後分布はその分布である。

  1. 0<p<10 < p < 1 で π(p∣x)∝px(1−p)n−x⋅pa−1(1−p)b−1=pa+x−1(1−p)b+n−x−1\pi(p \mid x) \propto p^{x}(1 - p)^{n-x} \cdot p^{a-1}(1 - p)^{b-1} = p^{a+x-1}(1 - p)^{b+n-x-1}。

  2. λ>0\lambda > 0 で π(λ∣x)∝∏ie−λλxi⋅λα−1e−βλ=λα+∑ixi−1e−(β+n)λ\pi(\lambda \mid x) \propto \prod_{i} e^{-\lambda}\lambda^{x_i} \cdot \lambda^{\alpha-1}e^{-\beta\lambda} = \lambda^{\alpha + \sum_i x_i - 1}e^{-(\beta + n)\lambda}(1/xi!1/x_i! は λ\lambda によらない)。

  3. ∑i(xi−μ)2=n(μ−xˉ)2+∑i(xi−xˉ)2\sum_{i}(x_i - \mu)^2 = n(\mu - \bar{x})^2 + \sum_{i}(x_i - \bar{x})^2 の第 2 項は μ\mu によらないから

π(μ∣x)∝exp⁡(−n(μ−xˉ)22σ2−(μ−μ0)22τ02)\pi(\mu \mid x) \propto \exp\left(-\frac{n(\mu - \bar{x})^2}{2\sigma^2} - \frac{(\mu - \mu_0)^2}{2\tau_0^2}\right)

指数の中の μ2\mu^2 の係数は −12(nσ2+1τ02)=−12τn2-\frac{1}{2}\left(\frac{n}{\sigma^2} + \frac{1}{\tau_0^2}\right) = -\frac{1}{2\tau_n^2}、μ\mu の係数は nxˉσ2+μ0τ02=μnτn2\frac{n\bar{x}}{\sigma^2} + \frac{\mu_0}{\tau_0^2} = \frac{\mu_n}{\tau_n^2} なので、指数の中は −(μ−μn)22τn2-\frac{(\mu - \mu_n)^2}{2\tau_n^2} に μ\mu によらない定数を加えたものである。よって事後分布は N(μn,τn2)N(\mu_n, \tau_n^2) である。□\square

事後平均を書き直すと、どれも事前平均と最尤推定値の重み付き平均になる:

a+xa+b+n=a+ba+b+n⋅aa+b+na+b+n⋅xn,α+∑ixiβ+n=ββ+n⋅αβ+nβ+n⋅xˉ,μn=1/τ021/τ02+n/σ2⋅μ0+n/σ21/τ02+n/σ2⋅xˉ\begin{aligned} \frac{a + x}{a + b + n} &= \frac{a + b}{a + b + n} \cdot \frac{a}{a + b} + \frac{n}{a + b + n} \cdot \frac{x}{n}, \\ \frac{\alpha + \sum_i x_i}{\beta + n} &= \frac{\beta}{\beta + n} \cdot \frac{\alpha}{\beta} + \frac{n}{\beta + n} \cdot \bar{x}, \\ \mu_n &= \frac{1/\tau_0^2}{1/\tau_0^2 + n/\sigma^2} \cdot \mu_0 + \frac{n/\sigma^2}{1/\tau_0^2 + n/\sigma^2} \cdot \bar{x} \end{aligned}

事前分布 Beta⁡(a,b)\operatorname{Beta}(a, b) は「a+ba + b 人分のデータ(購入 aa 人)」、Gamma⁡(α,β)\operatorname{Gamma}(\alpha, \beta) は「β\beta 期間に α\alpha 件」と同じ重みをもつ。正規–正規では、分散の逆数(精度)が足し算になる:事後の精度 == 事前の精度 ++ データの精度。n→∞n \to \infty ではデータの重みが 11 に近づき、事前分布の影響は消える。

例 7.6(事前情報を入れる)例 7.2 で、過去のページの実績から事前分布を Beta⁡(2,18)\operatorname{Beta}(2, 18)(平均 0.10.1、20 人分の重み)とすると、事後分布は Beta⁡(5,35)\operatorname{Beta}(5, 35) で、事後平均は 0.5⋅0.1+0.5⋅0.15=0.1250.5 \cdot 0.1 + 0.5 \cdot 0.15 = 0.125 である。

例 7.7(1 日の注文数)ある商品の 1 日の注文数を Po⁡(λ)\operatorname{Po}(\lambda) とし、類似商品の実績から λ∼Gamma⁡(4,2)\lambda \sim \operatorname{Gamma}(4, 2)(平均 22、分散 11)とする。5 日間の注文数が 3,1,4,2,53, 1, 4, 2, 5(合計 1515)なら、事後分布は Gamma⁡(19,7)\operatorname{Gamma}(19, 7) で、事後平均は 19/7=27⋅2+57⋅3=2.7119/7 = \frac{2}{7} \cdot 2 + \frac{5}{7} \cdot 3 = 2.71、事後標準偏差は 19/7=0.62\sqrt{19}/7 = 0.62 である。

例 7.8(A/B テストの効果の縮小)ある施策による売上の改善率の推定値が xˉ=2.0\bar{x} = 2.0(%)、標準誤差が 1.01.0 だった(z=2.0z = 2.0、両側 pp 値 0.0460.046)。正規近似で xˉ∣μ∼N(μ,1.02)\bar{x} \mid \mu \sim N(\mu, 1.0^2) とみなし、過去の多数の実験での効果の分布から事前分布を μ∼N(0,0.52)\mu \sim N(0, 0.5^2) とする。定理 7.5 の 3(n=1n = 1)より、事後の精度は 1/0.25+1/1=51/0.25 + 1/1 = 5 で、事後分布は N(0.4,0.2)N(0.4, 0.2) である。推定値は 5 分の 1 に縮小され、P(μ>0∣xˉ)=Φ(0.4/0.2)=0.81P(\mu > 0 \mid \bar{x}) = \Phi(0.4/\sqrt{0.2}) = 0.81 となる。

ヒント

実務では 有意になった実験だけを選んで効果を報告すると、効果は系統的に過大になる(勝者の呪い, winner's curse)。推定値が有意になりやすいのは、真の効果に正の誤差が上乗せされたときだからである。例 7.8 のように、過去の実験の効果の分布を事前分布にして縮小すると、この偏りを減らせる。ただし結論は事前分布に依存するので、その根拠を明示し、事前分布を変えると結論がどう変わるか(感度分析)も示すべきである。

7.3 ベイズ推定量

事後分布から一つの値を報告するとき、どの値を選ぶべきかは、外れたときの損失で決まる。

定義 7.9(ベイズ推定量, Bayes estimator)推定値 aa を報告し、真の値が θ\theta だったときの損失を表す関数 L(θ,a)≥0L(\theta, a) \geq 0 を損失関数 (loss function) という。観測値 xx のもとでの事後期待損失

ρ(a∣x)=E[L(θ,a)∣X=x]=∫ΘL(θ,a)π(θ∣x) dθ\rho(a \mid x) = E[L(\theta, a) \mid X = x] = \int_\Theta L(\theta, a)\pi(\theta \mid x)\ d\theta

を最小にする aa を δ(x)\delta(x) とするとき、δ\delta をベイズ推定量という。

定理 7.10 θ\theta は 1 次元とし、xx を固定する。

  1. (二乗損失)L(θ,a)=(θ−a)2L(\theta, a) = (\theta - a)^2、E[θ2∣X=x]<∞E[\theta^2 \mid X = x] < \infty ならば、ρ(a∣x)=Var⁡(θ∣X=x)+(a−E[θ∣X=x])2\rho(a \mid x) = \operatorname{Var}(\theta \mid X = x) + (a - E[\theta \mid X = x])^2 であり、ベイズ推定量は事後平均 E[θ∣X=x]E[\theta \mid X = x] である(最小点は一意)。
  2. (絶対値損失)L(θ,a)=∣θ−a∣L(\theta, a) = \lvert \theta - a \rvert、E[∣θ∣∣X=x]<∞E[\lvert \theta \rvert \mid X = x] < \infty ならば、事後分布の中央値 mm(P(θ≤m∣X=x)≥1/2P(\theta \leq m \mid X = x) \geq 1/2 かつ P(θ≥m∣X=x)≥1/2P(\theta \geq m \mid X = x) \geq 1/2 をみたす数)は ρ(a∣x)\rho(a \mid x) を最小にする。

証明. 確率と期待値はすべて事後分布についてのものとし、「∣X=x\mid X = x 」を省く。

  1. θˉ=E[θ]\bar{\theta} = E[\theta] とおくと (θ−a)2=(θ−θˉ)2+2(θ−θˉ)(θˉ−a)+(θˉ−a)2(\theta - a)^2 = (\theta - \bar{\theta})^2 + 2(\theta - \bar{\theta})(\bar{\theta} - a) + (\bar{\theta} - a)^2 で、中央の項の期待値は 00 だから ρ(a)=Var⁡(θ)+(a−θˉ)2\rho(a) = \operatorname{Var}(\theta) + (a - \bar{\theta})^2。これは a=θˉa = \bar{\theta} でだけ最小になる。

  2. a>ma > m とする。θ≤m\theta \leq m なら ∣θ−a∣−∣θ−m∣=a−m\lvert \theta - a \rvert - \lvert \theta - m \rvert = a - m、θ>m\theta > m なら三角不等式より ∣θ−a∣−∣θ−m∣≥−(a−m)\lvert \theta - a \rvert - \lvert \theta - m \rvert \geq -(a - m) なので

ρ(a)−ρ(m)≥(a−m)(P(θ≤m)−P(θ>m))=(a−m)(2P(θ≤m)−1)≥0\rho(a) - \rho(m) \geq (a - m)\bigl(P(\theta \leq m) - P(\theta > m)\bigr) = (a - m)\bigl(2P(\theta \leq m) - 1\bigr) \geq 0

a<ma < m なら、θ≥m\theta \geq m で差は m−am - a、θ<m\theta < m で差は −(m−a)-(m - a) 以上なので、ρ(a)−ρ(m)≥(m−a)(2P(θ≥m)−1)≥0\rho(a) - \rho(m) \geq (m - a)\bigl(2P(\theta \geq m) - 1\bigr) \geq 0。□\square

注意 7.11(ベイズリスク)推定量 δ\delta の頻度論的なリスク R(θ,δ)=E[L(θ,δ(X))∣θ]R(\theta, \delta) = E[L(\theta, \delta(X)) \mid \theta](二乗損失なら第3章の平均二乗誤差)を事前分布で平均したベイズリスク ∫ΘR(θ,δ)π(θ) dθ\int_\Theta R(\theta, \delta)\pi(\theta)\ d\theta は、積分の順序を交換すると E[ρ(δ(X)∣X)]E[\rho(\delta(X) \mid X)] に等しい。よってベイズ推定量はベイズリスクも最小にする。二乗損失では、これは「XX の関数で θ\theta を最もよく近似するのは E[θ∣X]E[\theta \mid X] である」という事実(11 確率論 第5章 定理 5.3)にほかならない。

例 7.12 例 7.2 の事後分布 Beta⁡(4,18)\operatorname{Beta}(4, 18) では、事後平均は 0.1820.182、事後中央値は 0.1720.172、事後密度が最大になる点(事後最頻値, MAP 推定値)は 3/20=0.153/20 = 0.15 である。一様事前分布では事後密度が尤度に比例するので、MAP 推定値は最尤推定値と一致する。事後平均 (x+1)/(n+2)(x + 1)/(n + 2) は不偏ではないが、pp が 1/21/2 に近ければ最尤推定量より平均二乗誤差が小さい(問題 7.4)。

7.4 信用区間と信頼区間

定義 7.13(信用区間, credible interval)0<α<10 < \alpha < 1 とする。観測値 xx から決まる区間 C(x)C(x) で P(θ∈C(x)∣X=x)=1−αP(\theta \in C(x) \mid X = x) = 1 - \alpha となるものを、θ\theta の 100(1−α)100(1 - \alpha) % 信用区間という。事後分布の下側 α/2\alpha/2 点と 1−α/21 - \alpha/2 点を両端とするものを等裾信用区間、事後密度がある値以上となる θ\theta 全体として作るもの(事後密度が単峰なら区間になり、同じ確率の区間のうちで最も短い)を最高事後密度区間(HPD 区間)という。

第4章の信頼区間とは、確率の意味が違う。

信頼区間 信用区間
確率的に動くもの データ XX(したがって区間 C(X)C(X)) パラメータ θ\theta
固定されているもの 未知の定数 θ\theta 観測値 xx
保証 すべての θ\theta で P(θ∈C(X)∣θ)≥1−αP(\theta \in C(X) \mid \theta) \geq 1 - \alpha P(θ∈C(x)∣X=x)=1−αP(\theta \in C(x) \mid X = x) = 1 - \alpha
必要なもの 統計モデル 統計モデルと事前分布

例 7.14(購入率の区間)20 人中 3 人(例 7.2)について計算すると次のようになる(数値は計算機による)。

  • 一様事前分布による 95% 等裾信用区間は [0.054,0.363][0.054, 0.363]、HPD 区間は [0.041,0.340][0.041, 0.340]。
  • 正規近似による 95% 信頼区間(ワルド区間)p^±1.96p^(1−p^)/n\hat{p} \pm 1.96\sqrt{\hat{p}(1 - \hat{p})/n} は [−0.006,0.306][-0.006, 0.306]。下端が負であり、小標本では使えない。
  • 二項分布の確率を正確に使う 95% 信頼区間(クロッパー–ピアソン区間。両端はベータ分布の分位点で表せる)は [0.032,0.379][0.032, 0.379]。

注意

95% 信頼区間 [0.032,0.379][0.032, 0.379] を得て「pp がこの区間に入る確率は 95%」と言うのは誤りである(第4章)。「95% の確率で入る」と言えるのは信用区間のほうだが、それは採用した統計モデルと事前分布が妥当だという前提のもとでの主張である。数値が近くても、二つの区間が述べている内容は異なる。

注意 7.15(両者が近づく場合)定理 7.5 の 3 で τ0→∞\tau_0 \to \infty とすると、事後分布は N(xˉ,σ2/n)N(\bar{x}, \sigma^2/n) に近づく。これは R\mathbb{R} 上の「一様分布」π(μ)=1\pi(\mu) = 1 を形式的に使った事後分布である(積分が無限大なので確率分布ではなく、非正則な事前分布 (improper prior) という。使うときは尤度 ×\times 事前の積分が有限であることを確かめる)。その 95% 等裾信用区間 xˉ±1.96σ/n\bar{x} \pm 1.96\sigma/\sqrt{n} は、分散既知の正規平均の 95% 信頼区間と数値として一致する。より一般に、データが i.i.d. で統計モデルが正しく(真の分布がモデルに含まれ)、パラメータが有限次元で正則条件がみたされ、真の値がパラメータ空間の内部にあり、事前密度が真の値の近くで連続かつ正なら、n→∞n \to \infty で事後分布は最尤推定量を中心とする正規分布(分散はフィッシャー情報量の逆数を nn で割ったもの)に近づき、信用区間は近似的に信頼区間としても使える(ベルンシュタイン–フォン・ミーゼスの定理。主張のみ。Gelman et al. の Bayesian Data Analysis を参照)。小標本や、パラメータが境界に近い場合(購入率が 00 に近いなど)には両者は一致しない。モデルが誤っている場合も、事後分布の広がりは最尤推定量の実際のばらつきと一般には一致せず、信用区間を信頼区間として読むことはできない。

7.5 事後予測分布

次の 100 人のうち何人が購入するかを予測したい。最尤推定値を代入した B(100,0.15)B(100, 0.15) で予測すると、pp の不確かさを無視することになる。

定義 7.16(事後予測分布, posterior predictive distribution)将来の観測 X~\tilde{X} が、θ\theta を与えたもとで XX と条件付き独立で、条件付き密度 g(x~∣θ)g(\tilde{x} \mid \theta) をもつとする。X=xX = x が与えられたときの X~\tilde{X} の条件付き密度

p(x~∣x)=∫Θg(x~∣θ)π(θ∣x) dθp(\tilde{x} \mid x) = \int_\Theta g(\tilde{x} \mid \theta)\pi(\theta \mid x)\ d\theta

を事後予測分布という。

実際、(θ,X,X~)(\theta, X, \tilde{X}) の同時密度は π(θ)f(x∣θ)g(x~∣θ)\pi(\theta)f(x \mid \theta)g(\tilde{x} \mid \theta) なので、θ\theta について積分して m(x)m(x) で割ればこの式を得る。

命題 7.17(ベータ二項分布)事後分布が Beta⁡(a′,b′)\operatorname{Beta}(a', b') で、X~∣p∼B(m,p)\tilde{X} \mid p \sim B(m, p) ならば、k=0,1,…,mk = 0, 1, \dots, m について

P(X~=k∣X=x)=(mk)B(a′+k,b′+m−k)B(a′,b′)P(\tilde{X} = k \mid X = x) = \binom{m}{k}\frac{B(a' + k, b' + m - k)}{B(a', b')}

であり(ベータ二項分布)、s=a′+b′s = a' + b' とおくと E[X~∣X=x]=ma′/sE[\tilde{X} \mid X = x] = ma'/s、Var⁡(X~∣X=x)=ma′b′(s+m)s2(s+1)\operatorname{Var}(\tilde{X} \mid X = x) = \dfrac{ma'b'(s + m)}{s^2(s + 1)} である。

証明. 確率関数は

∫01(mk)pk(1−p)m−kpa′−1(1−p)b′−1B(a′,b′) dp=(mk)B(a′+k,b′+m−k)B(a′,b′)\int_0^1 \binom{m}{k}p^{k}(1 - p)^{m-k}\frac{p^{a'-1}(1 - p)^{b'-1}}{B(a', b')}\ dp = \binom{m}{k}\frac{B(a' + k, b' + m - k)}{B(a', b')}

である。以下すべて X=xX = x のもとで考え、pp を与えたときの X~\tilde{X} の条件付き平均 mpmp と条件付き分散 mp(1−p)mp(1 - p) に全期待値・全分散の公式(第1章 命題 1.12)を使う。ベータ分布の平均と分散(第1章 1.3 節の表)より E[p]=a′/sE[p] = a'/s、Var⁡(p)=a′b′/(s2(s+1))\operatorname{Var}(p) = a'b'/(s^2(s + 1)) で、E[p(1−p)]=E[p]−E[p]2−Var⁡(p)=a′b′/(s(s+1))E[p(1 - p)] = E[p] - E[p]^2 - \operatorname{Var}(p) = a'b'/(s(s + 1)) だから

Var⁡(X~)=E[mp(1−p)]+Var⁡(mp)=ma′b′s(s+1)+m2a′b′s2(s+1)=ma′b′(s+m)s2(s+1)□\operatorname{Var}(\tilde{X}) = E[mp(1 - p)] + \operatorname{Var}(mp) = \frac{ma'b'}{s(s + 1)} + \frac{m^2a'b'}{s^2(s + 1)} = \frac{ma'b'(s + m)}{s^2(s + 1)} \qquad \square

分散の第 1 項は pp がわかっていても残る揺らぎ、第 2 項は pp の不確かさによる揺らぎである。

例 7.18(次の 100 人)事後分布 Beta⁡(4,18)\operatorname{Beta}(4, 18)(例 7.2)のもとで、次の m=100m = 100 人の購入者数 X~\tilde{X} の事後予測分布は平均 18.218.2、標準偏差 8.98.9 で、P(X~≤5∣x)=0.048P(\tilde{X} \leq 5 \mid x) = 0.048、P(X~≥35∣x)=0.050P(\tilde{X} \geq 35 \mid x) = 0.050 より、90% 以上の確率で 66 人以上 3434 人以下である。最尤推定値を代入した B(100,0.15)B(100, 0.15) では標準偏差 3.63.6、同じ作り方(両側の確率がそれぞれ 5% 以下)の範囲は 99 人から 2121 人で、ずっと狭い。代入による予測は、在庫や人員の計画で需要の揺らぎを過小評価させる。なお m=1m = 1 とすると次の 1 人が購入する確率は a′/(a′+b′)a'/(a' + b') であり、一様事前分布ではこれは (x+1)/(n+2)(x + 1)/(n + 2) となる(ラプラスの継起則)。

7.6 マルコフ連鎖モンテカルロ法

共役でないモデルでは、m(x)m(x) が kk 次元の積分になり、kk が大きいと数値積分も難しい。しかし事後分布に従う乱数 θ1,…,θN\theta_1, \dots, \theta_N が得られれば、事後平均は標本平均で、信用区間は標本分位点で近似できる。密度の比だけを使って、事後分布を定常分布にもつマルコフ連鎖を作り、長く走らせるのがマルコフ連鎖モンテカルロ法 (Markov chain Monte Carlo, MCMC) である。この節では、目標とする密度(ベイズ統計では事後密度)を π\pi と書き、Rk\mathbb{R}^k 上の関数とみなす(Θ\Theta の外では 00)。π\pi は定数倍を除いてわかればよい。11 確率論 第6章 の可算な状態空間の推移確率の代わりに、推移核を使う。

定義 7.19(推移核・定常分布・詳細つり合い)θ∈Rk\theta \in \mathbb{R}^k と集合 A⊂RkA \subset \mathbb{R}^k に確率 K(θ,A)K(\theta, A) を対応させ、各 θ\theta について K(θ,⋅)K(\theta, \cdot) が確率分布であるものを推移核という。θt+1\theta_{t+1} の条件付き分布が、過去によらず K(θt,⋅)K(\theta_t, \cdot) で与えられる列 (θt)(\theta_t) をマルコフ連鎖という。確率密度 π\pi がすべての AA について

∫π(θ)K(θ,A) dθ=∫Aπ(θ) dθ\int \pi(\theta)K(\theta, A)\ d\theta = \int_A \pi(\theta)\ d\theta

をみたすとき、π\pi を KK の定常分布という。すべての A,BA, B について

∫Aπ(θ)K(θ,B) dθ=∫Bπ(θ)K(θ,A) dθ\int_A \pi(\theta)K(\theta, B)\ d\theta = \int_B \pi(\theta)K(\theta, A)\ d\theta

となるとき、KK は π\pi について詳細つり合い (detailed balance) をみたすという。

定常分布の式は「θt∼π\theta_t \sim \pi ならば θt+1∼π\theta_{t+1} \sim \pi」を意味する。詳細つり合いの式で B=RkB = \mathbb{R}^k とおくと、K(θ,Rk)=1K(\theta, \mathbb{R}^k) = 1 より定常分布の式を得る。つまり、詳細つり合いをみたす π\pi は定常分布である(可算な場合は 11 確率論 第6章 定義 6.22 の後の議論)。

定義 7.20(メトロポリス–ヘイスティングス法, Metropolis–Hastings algorithm)各 θ\theta について q(θ,⋅)q(\theta, \cdot) が確率密度であるもの(提案分布)をとり、π(θ)q(θ,θ′)>0\pi(\theta)q(\theta, \theta') > 0 のとき

α(θ,θ′)=min⁡{1,π(θ′)q(θ′,θ)π(θ)q(θ,θ′)}\alpha(\theta, \theta') = \min\left\lbrace 1, \frac{\pi(\theta')q(\theta', \theta)}{\pi(\theta)q(\theta, \theta')} \right\rbrace

とおく(それ以外では α=1\alpha = 1 とする)。π(θ0)>0\pi(\theta_0) > 0 となる θ0\theta_0 から始め、現在の値 θt\theta_t から次の手順で θt+1\theta_{t+1} を作る。(i) θ′∼q(θt,⋅)\theta' \sim q(\theta_t, \cdot) を生成する。(ii) 確率 α(θt,θ′)\alpha(\theta_t, \theta') で受理して θt+1=θ′\theta_{t+1} = \theta' とし、受理しなければ(棄却)θt+1=θt\theta_{t+1} = \theta_t とする。

α\alpha には π\pi の比しか現れないので、正規化定数は要らない。提案が対称、すなわち q(θ,θ′)=q(θ′,θ)q(\theta, \theta') = q(\theta', \theta) なら(θ′=θ+ε\theta' = \theta + \varepsilon、ε∼N(0,s2I)\varepsilon \sim N(0, s^2I) など)α=min⁡{1,π(θ′)/π(θ)}\alpha = \min\lbrace 1, \pi(\theta')/\pi(\theta) \rbrace となる。これが最初のメトロポリス法(1953 年)で、ヘイスティングス(1970 年)が非対称な提案に拡張した。この手順の推移核は

K(θ,A)=∫Aq(θ,θ′)α(θ,θ′) dθ′+r(θ)1A(θ),r(θ)=1−∫q(θ,θ′)α(θ,θ′) dθ′K(\theta, A) = \int_A q(\theta, \theta')\alpha(\theta, \theta')\ d\theta' + r(\theta)\mathbf{1}_A(\theta), \qquad r(\theta) = 1 - \int q(\theta, \theta')\alpha(\theta, \theta')\ d\theta'

である。第 1 項は提案が受理されて AA に移る確率、r(θ)r(\theta) は棄却されてその場に留まる確率である。

定理 7.21(メトロポリス–ヘイスティングス法の正しさ)定義 7.20 の推移核 KK は π\pi について詳細つり合いをみたす。特に、π\pi は KK の定常分布である。

証明. g(θ,θ′)=π(θ)q(θ,θ′)α(θ,θ′)g(\theta, \theta') = \pi(\theta)q(\theta, \theta')\alpha(\theta, \theta') とおく。π(θ)q(θ,θ′)>0\pi(\theta)q(\theta, \theta') > 0 なら

g(θ,θ′)=min⁡{π(θ)q(θ,θ′),π(θ′)q(θ′,θ)}g(\theta, \theta') = \min\lbrace \pi(\theta)q(\theta, \theta'), \pi(\theta')q(\theta', \theta) \rbrace

であり、π(θ)q(θ,θ′)=0\pi(\theta)q(\theta, \theta') = 0 なら両辺とも 00 なので、この式はつねに成り立つ。右辺は θ\theta と θ′\theta' について対称だから g(θ,θ′)=g(θ′,θ)g(\theta, \theta') = g(\theta', \theta) である。KK の式より

∫Aπ(θ)K(θ,B) dθ=∫A(∫Bg(θ,θ′) dθ′)dθ+∫A∩Bπ(θ)r(θ) dθ\int_A \pi(\theta)K(\theta, B)\ d\theta = \int_A\left(\int_B g(\theta, \theta')\ d\theta'\right)d\theta + \int_{A \cap B}\pi(\theta)r(\theta)\ d\theta

右辺の第 1 項は、積分の順序を交換し(被積分関数が非負なので交換できる。厳密には 06 測度と積分 第5章 定理 5.6(トネリの定理))、gg の対称性を使うと ∫B(∫Ag(θ,θ′) dθ′)dθ\int_B\left(\int_A g(\theta, \theta')\ d\theta'\right)d\theta に等しい。第 2 項は AA と BB について対称である。よって左辺は AA と BB を入れ替えても変わらない。後半は定義 7.19 の後の注意による。□\square

注意 7.22(定常分布にもつことと、収束すること)定理 7.21 が保証するのは「θt∼π\theta_t \sim \pi ならその後もずっと π\pi に従う」ことだけである。任意の初期値から θt\theta_t の分布が π\pi に近づくことや、時間平均 1N∑t=1Nh(θt)\frac{1}{N}\sum_{t=1}^{N}h(\theta_t) が ∫hπ\int h\pi に収束することには、別の条件が要る。状態空間が可算なら、連鎖が既約(どの状態からどの状態へも正の確率で到達できる)であれば、定常分布 π\pi をもつことから連鎖は正再帰的で、定常分布は π\pi だけである(11 確率論 第6章 定理 6.17)。さらに ∑∣h∣π<∞\sum \lvert h \rvert\pi < \infty なら、任意の初期値から時間平均は確率 1 で ∑hπ\sum h\pi に収束し(同 定理 6.21)、連鎖が非周期的なら任意の初期値から分布が π\pi に収束する(11 確率論 第6章 定理 6.20)。Rk\mathbb{R}^k 上でも、既約性・非周期性にあたる条件のもとで同様の定理が成り立ち、たとえば π\pi が Rk\mathbb{R}^k 上で連続かつ正で、提案が正規分布のランダムウォークなら条件はみたされる(一般の状態空間のマルコフ連鎖の理論による。主張のみ。Gelman et al. を参照)。条件が崩れる例:目標 π\pi が [−3,−2]∪[2,3][-3, -2] \cup [2, 3] 上の一様分布、提案が θ′∼U(θ−1,θ+1)\theta' \sim U(\theta - 1, \theta + 1) なら、−2.5-2.5 から出発した連鎖は、[−3,−2][-3, -2] の外への提案が π(θ′)=0\pi(\theta') = 0 のためすべて棄却されるので、[−3,−2][-3, -2] から出られない。π\pi は定常分布だが([−3,−2][-3, -2] 上の一様分布も定常分布である)、連鎖の分布は π\pi に近づかない。

例 7.23(共役でない事前分布)例 7.2 で、購入率 pp の代わりに対数オッズ θ=log⁡(p/(1−p))\theta = \log(p/(1 - p)) に事前分布 N(−2,1)N(-2, 1) をおく(pp の事前中央値は 1/(1+e2)=0.121/(1 + e^{2}) = 0.12)。事後密度は

π(θ∣x)∝e3θ(1+eθ)20exp⁡(−(θ+2)22)(θ∈R)\pi(\theta \mid x) \propto \frac{e^{3\theta}}{(1 + e^{\theta})^{20}}\exp\left(-\frac{(\theta + 2)^2}{2}\right) \qquad (\theta \in \mathbb{R})

で、共役ではない。提案 θ′=θ+ε\theta' = \theta + \varepsilon(ε∼N(0,1)\varepsilon \sim N(0, 1))のメトロポリス法で乱数を作る。桁あふれを避けるため対数で計算し、一様乱数 UU について log⁡U<log⁡π(θ′)−log⁡π(θ)\log U < \log \pi(\theta') - \log \pi(\theta) のとき受理する(確率 min⁡{1,π(θ′)/π(θ)}\min\lbrace 1, \pi(\theta')/\pi(\theta) \rbrace での受理と同じである)。

import numpy as np

def log_post(t, x=3, n=20):      # θ = log(p/(1-p)) の対数事後密度(定数を除く)
    return x * t - n * np.log1p(np.exp(t)) - (t + 2) ** 2 / 2

rng = np.random.default_rng(0)
t, chain, acc = 0.0, [], 0
for k in range(50000):
    s = t + rng.normal(0, 1.0)   # 対称な提案(ランダムウォーク)
    if np.log(rng.uniform()) < log_post(s) - log_post(t):
        t, acc = s, acc + 1      # 受理(棄却なら t に留まる)
    chain.append(t)
p = 1 / (1 + np.exp(-np.array(chain[5000:])))   # 最初の 5000 回を捨て、p に戻す
print(f"受理率 {acc / 50000:.3f}")
print(f"事後平均 {p.mean():.4f}")
print(f"95% 信用区間 [{np.quantile(p, 0.025):.4f}, {np.quantile(p, 0.975):.4f}]")
受理率 0.526
事後平均 0.1442
95% 信用区間 [0.0462, 0.2965]

格子上の数値積分で求めた値(事後平均 0.14420.1442、95% 等裾信用区間 [0.0458,0.2954][0.0458, 0.2954])とよく一致する。最初の部分を捨てる(バーンイン, burn-in)のは、初期値 00 の影響が残る部分を除くためである。連続する値は互いに相関しているので、45000 個の値は 45000 個の独立な標本ほどの精度をもたない。

パラメータが多いモデルでは、ほかの成分を固定したときの 1 成分の条件付き分布(完全条件付き分布, full conditional distribution)が簡単なことが多い。θ=(θ1,…,θk)\theta = (\theta_1, \dots, \theta_k) から第 jj 成分を除いたものを θ−j\theta_{-j} と書く。

定義 7.24(ギブスサンプリング, Gibbs sampling)現在の値 θ\theta の第 jj 成分を、完全条件付き分布 π(θj∣θ−j)\pi(\theta_j \mid \theta_{-j}) から生成した値で置き換える操作を、j=1,…,kj = 1, \dots, k の順に行うことを 1 回の更新とする。

定理 7.25 各成分の置き換えは π\pi を不変にする。すなわち θ∼π\theta \sim \pi ならば、第 jj 成分を置き換えた値も π\pi に従う。したがって π\pi はギブスサンプリングの定常分布である。

証明. θ∼π\theta \sim \pi なら、θ−j\theta_{-j} は周辺密度 π−j(θ−j)=∫π(θ) dθj\pi_{-j}(\theta_{-j}) = \int \pi(\theta)\ d\theta_j に従う。置き換えた値 θj′\theta'_j は θ−j\theta_{-j} を与えたもとで密度 π(θj′∣θ−j)\pi(\theta'_j \mid \theta_{-j}) に従うので、(θj′,θ−j)(\theta'_j, \theta_{-j}) の同時密度は π−j(θ−j)π(θj′∣θ−j)=π(θj′,θ−j)\pi_{-j}(\theta_{-j})\pi(\theta'_j \mid \theta_{-j}) = \pi(\theta'_j, \theta_{-j})(条件付き密度の定義)である。π\pi を不変にする操作を続けて行っても π\pi は不変である。□\square

成分の置き換えは、提案を π(θj′∣θ−j)\pi(\theta'_j \mid \theta_{-j}) としたメトロポリス–ヘイスティングス法で、形式的に受理確率を計算すると 11 になるものとみることもできる。収束については注意 7.22 と同じ注意が要り、成分の間の相関が強いと、1 成分ずつしか動けないために連鎖の動きが遅くなる(問題 7.7)。

例 7.26(平均と分散が未知の正規モデル)X1,…,XnX_1, \dots, X_n が (μ,τ)(\mu, \tau) を与えたもとで独立に N(μ,1/τ)N(\mu, 1/\tau) に従い(τ\tau は精度)、事前分布は独立に μ∼N(μ0,τ02)\mu \sim N(\mu_0, \tau_0^2)、τ∼Gamma⁡(α0,β0)\tau \sim \operatorname{Gamma}(\alpha_0, \beta_0) とする。同時事後分布はよく知られた分布ではないが、完全条件付き分布は

μ∣τ,x∼N(μ0/τ02+nτxˉ1/τ02+nτ,11/τ02+nτ),τ∣μ,x∼Gamma⁡(α0+n2,β0+12∑i=1n(xi−μ)2)\mu \mid \tau, x \sim N\left(\frac{\mu_0/\tau_0^2 + n\tau\bar{x}}{1/\tau_0^2 + n\tau}, \frac{1}{1/\tau_0^2 + n\tau}\right), \qquad \tau \mid \mu, x \sim \operatorname{Gamma}\left(\alpha_0 + \frac{n}{2}, \beta_0 + \frac{1}{2}\sum_{i=1}^{n}(x_i - \mu)^2\right)

である。前者は定理 7.5 の 3 で σ2=1/τ\sigma^2 = 1/\tau としたもの、後者は π(τ∣μ,x)∝τn/2e−τ∑i(xi−μ)2/2⋅τα0−1e−β0τ\pi(\tau \mid \mu, x) \propto \tau^{n/2}e^{-\tau\sum_i (x_i - \mu)^2/2} \cdot \tau^{\alpha_0 - 1}e^{-\beta_0\tau} による。この 2 つを交互に生成すればよい。

ヒント

実務では 定理 7.21 があるからといって、MCMC の出力を信用してよいわけではない。異なる初期値から複数の連鎖を走らせて結果が一致するか、値の推移(トレースプロット)が安定しているかを確かめ、連鎖間と連鎖内のばらつきを比べる診断量 R^\hat{R} や、自己相関を考慮した有効標本サイズを報告するのが標準である(Gelman et al. を参照)。事後分布が多峰的だと、一つの山に閉じこもったまま「収束したように見える」ことがある(注意 7.22 の例はその極端な場合である)。Stan や PyMC などのソフトウェアは、事後密度の勾配を使うハミルトニアン・モンテカルロ法を標準の手法としており、高次元ではランダムウォークの提案よりはるかに効率がよい。

7.7 階層モデルと縮小推定(紹介)

店舗・広告・地域など JJ 個のグループのパラメータを同時に推定したい。グループ jj の推定値 yjy_j が yj∣θj∼N(θj,σj2)y_j \mid \theta_j \sim N(\theta_j, \sigma_j^2)(σj\sigma_j は既知の標準誤差)に従うとする。グループごとに別々に推定する(θ^j=yj\hat{\theta}_j = y_j)と、データの少ないグループの推定値は大きくばらつく。全体を一つにまとめると、グループの本当の違いが消える。階層モデル (hierarchical model) ではその中間をとり、θj\theta_j 自体が共通の分布 N(μ,η2)N(\mu, \eta^2) から独立に生じると考える。μ,η\mu, \eta を既知とすれば、定理 7.5 の 3 より

E[θj∣y]=(1−Bj)yj+Bjμ,Bj=σj2σj2+η2E[\theta_j \mid y] = (1 - B_j)y_j + B_j\mu, \qquad B_j = \frac{\sigma_j^2}{\sigma_j^2 + \eta^2}

であり、各推定値は全体の平均 μ\mu の方向に縮小 (shrinkage) される。縮小の度合い BjB_j は、標準誤差の大きい(データの少ない)グループほど大きい。実際には μ,η\mu, \eta も未知なので、それらにも事前分布をおいて MCMC で同時に推定するか、周辺尤度を最大にする値で置き換える(経験ベイズ, empirical Bayes)。グループの間で情報を「借りる」ことで、小さいグループの推定が安定する。

注意 7.27(ジェームズ–スタインの推定量)縮小は、ベイズの立場をとらなくても有利になりうる(第3章 注意 3.36 のスタインの現象)。X∼Np(θ,Ip)X \sim N_p(\theta, I_p)、p≥3p \geq 3 のとき、δ(X)=(1−(p−2)/∥X∥2)X\delta(X) = \left(1 - (p - 2)/\lVert X \rVert^2\right)X はすべての θ∈Rp\theta \in \mathbb{R}^p で E[∥δ(X)−θ∥2]<E[∥X−θ∥2]=pE\left[\lVert \delta(X) - \theta \rVert^2\right] < E\left[\lVert X - \theta \rVert^2\right] = p をみたす(θ=0\theta = 0 では左辺は 22。主張のみ。Wasserman の All of Statistics の統計的決定理論の章を参照)。δ\delta は経験ベイズ推定量とみなせる。θi∼N(0,A)\theta_i \sim N(0, A)(i.i.d.)なら事後平均は (1−11+A)X\left(1 - \frac{1}{1 + A}\right)X で、周辺的には ∥X∥2/(1+A)∼χ2(p)=Gamma⁡(p/2,1/2)\lVert X \rVert^2/(1 + A) \sim \chi^2(p) = \operatorname{Gamma}(p/2, 1/2) である。Y∼Gamma⁡(α,β)Y \sim \operatorname{Gamma}(\alpha, \beta) のモーメントの式 E[Yk]=Γ(α+k)/(βkΓ(α))E[Y^k] = \Gamma(\alpha + k)/(\beta^k\Gamma(\alpha))(第1章 1.3 節。同じ置換により k>−αk > -\alpha なら実数の kk でも成り立つ)を α=p/2>1\alpha = p/2 > 1、β=1/2\beta = 1/2、k=−1k = -1 に使うと、χ2(p)\chi^2(p) に従う確率変数の逆数の期待値は 1/(p−2)1/(p - 2) なので、E[(p−2)/∥X∥2]=1/(1+A)E[(p - 2)/\lVert X \rVert^2] = 1/(1 + A) となる。δ\delta は、未知の縮小係数 1/(1+A)1/(1 + A) をこの不偏推定量で置き換えたものである。

7.8 ベイズファクター(紹介)

定義 7.28(ベイズファクター, Bayes factor) 2 つの仮説 H0,H1H_0, H_1 が、それぞれ統計モデルと事前分布の組として与えられ、周辺尤度が m0(x),m1(x)m_0(x), m_1(x) であるとき、B10=m1(x)/m0(x)B_{10} = m_1(x)/m_0(x) を H1H_1 の H0H_0 に対するベイズファクターという。

仮説の事前確率を P(H0),P(H1)P(H_0), P(H_1) とすると、ベイズの定理より

P(H1∣x)P(H0∣x)=B10⋅P(H1)P(H0)\frac{P(H_1 \mid x)}{P(H_0 \mid x)} = B_{10} \cdot \frac{P(H_1)}{P(H_0)}

(事後オッズ == ベイズファクター ×\times 事前オッズ)である。pp 値と違い、H0H_0 を支持する証拠の強さも表せる。

例 7.29(リンドレーのパラドックス)表の確率 pp について、H0 ⁣:p=1/2H_0\colon p = 1/2 と H1 ⁣:p∼U(0,1)H_1\colon p \sim U(0, 1) を比べる。nn 回中 xx 回表なら m0(x)=(nx)2−nm_0(x) = \binom{n}{x}2^{-n}、m1(x)=∫01(nx)px(1−p)n−x dp=1/(n+1)m_1(x) = \int_0^1 \binom{n}{x}p^{x}(1 - p)^{n-x}\ dp = 1/(n + 1) である(問題 7.8)。n=10000n = 10000、x=5100x = 5100 なら z=(x−n/2)/n/4=2.0z = (x - n/2)/\sqrt{n/4} = 2.0 で、両側の正確な pp 値は 0.0470.047 と 5% 水準で有意だが、B01=1/B10=10.8B_{01} = 1/B_{10} = 10.8 であり、データは H0H_0 のほうを約 11 倍支持する(事前オッズが 1 なら P(H0∣x)=0.92P(H_0 \mid x) = 0.92)。H1H_1 の一様事前分布は確率を [0,1][0, 1] 全体に広げており、データに合う p=0.51p = 0.51 の近くにはわずかな確率しか置いていないからである。

注意 7.30 ベイズファクターは H1H_1 の事前分布に強く依存し、事前分布を広げるほど H0H_0 が有利になる。非正則な事前分布は定数倍が任意なので使えない。事後分布による推定では nn が大きければ事前分布の影響が消えるのと対照的である。周辺尤度のラプラス近似 log⁡m(x)=ℓ(θ^)−d2log⁡n+O(1)\log m(x) = \ell(\hat{\theta}) - \frac{d}{2}\log n + O(1)(dd はパラメータ数)により、−2log⁡m(x)-2\log m(x) は 第6章 の BIC で近似される(第6章 6.10 節の BIC の導出の概略を参照)。

まとめ

  • 事後分布は「尤度 ×\times 事前分布」を正規化したものである。事後分布を新しい事前分布として、データが来るたびに更新できる。
  • ベータ–二項・ガンマ–ポアソン・正規–正規(分散既知)は共役であり、事後平均は事前平均と最尤推定値の重み付き平均になる。事前分布は「何人分のデータに相当するか」で解釈できる。
  • 二乗損失のベイズ推定量は事後平均、絶対値損失のベイズ推定量は事後中央値である。ベイズ推定量はベイズリスク(リスクの事前平均)も最小にする。
  • 信用区間は「観測値のもとで θ\theta が区間に入る確率」、信頼区間は「手順が θ\theta を含む確率」についての保証であり、大標本では数値が近づくが意味は異なる。
  • 事後予測分布の分散は、θ\theta を与えたときの分散の事後平均に、θ\theta の不確かさによる分散を加えたものである。そのため、推定値を代入した予測より広くなることが多い(例 7.18 のベータ二項分布)。
  • メトロポリス–ヘイスティングス法は詳細つり合いにより目標分布を定常分布にもつ。収束には既約性・非周期性などの条件が別に必要で、実際には診断が欠かせない。ギブスサンプリングは各成分の更新が目標分布を不変にする。
  • 階層モデルはグループの推定値を全体の平均へ縮小し、小さいグループの推定を安定させる。
  • ベイズファクターは周辺尤度の比で、H1H_1 の事前分布に強く依存する。p<0.05p < 0.05 でも H0H_0 を支持することがある(リンドレーのパラドックス)。

演習問題

問題 7.1 ★ 購入率 pp の事前分布を Beta⁡(2,8)\operatorname{Beta}(2, 8) とし、40 人中 12 人が購入した。(1) 事後分布と、事後平均・事後標準偏差を求めよ。(2) 事後平均を、事前平均と最尤推定値の重み付き平均として表せ。(3) 事前分布が Beta⁡(20,80)\operatorname{Beta}(20, 80) なら事後平均はいくらか。(1) との違いを、事前分布が何人分のデータに相当するかで説明せよ。

解答

(1) 定理 7.5 の 1 より事後分布は Beta⁡(14,36)\operatorname{Beta}(14, 36)。事後平均は 14/50=0.2814/50 = 0.28、事後分散は 14⋅36502⋅51=0.003953\frac{14 \cdot 36}{50^2 \cdot 51} = 0.003953 で、事後標準偏差は 0.0630.063 である(95% 等裾信用区間は [0.166,0.411][0.166, 0.411]。計算機による)。

(2) 事前平均 0.20.2 に重み 10/5010/50、最尤推定値 12/40=0.312/40 = 0.3 に重み 40/5040/50 をつけて、0.2⋅0.2+0.8⋅0.3=0.280.2 \cdot 0.2 + 0.8 \cdot 0.3 = 0.28。

(3) 事後分布は Beta⁡(32,108)\operatorname{Beta}(32, 108)、事後平均は 32/140=0.22932/140 = 0.229(=100140⋅0.2+40140⋅0.3= \frac{100}{140} \cdot 0.2 + \frac{40}{140} \cdot 0.3)。Beta⁡(2,8)\operatorname{Beta}(2, 8) は 10 人分、Beta⁡(20,80)\operatorname{Beta}(20, 80) は 100 人分のデータと同じ重みをもつので、後者では 40 人のデータの重みは 40/14040/140 にすぎず、事後平均は事前平均 0.20.2 に強く引き寄せられる。事前平均が同じでも、事前分布の「確信の強さ」によって結論が変わる。

問題 7.2 ★★ 例 7.7 の事後分布 Gamma⁡(19,7)\operatorname{Gamma}(19, 7) のもとで、翌日の注文数 X~\tilde{X}(λ\lambda を与えたもとで Po⁡(λ)\operatorname{Po}(\lambda) に従う)の事後予測分布を求めよ。その平均と分散を、λ\lambda に事後平均を代入したポアソン分布の平均・分散と比べよ。

解答

k=0,1,2,…k = 0, 1, 2, \dots について、∫0∞λs−1e−cλ dλ=Γ(s)/cs\int_0^\infty \lambda^{s-1}e^{-c\lambda}\ d\lambda = \Gamma(s)/c^{s}(ガンマ分布の密度の積分が 11 であること)を使うと

P(X~=k∣x)=∫0∞e−λλkk!⋅719λ18e−7λΓ(19) dλ=Γ(19+k)Γ(19)k!(78)19(18)kP(\tilde{X} = k \mid x) = \int_0^\infty \frac{e^{-\lambda}\lambda^{k}}{k!} \cdot \frac{7^{19}\lambda^{18}e^{-7\lambda}}{\Gamma(19)}\ d\lambda = \frac{\Gamma(19 + k)}{\Gamma(19)k!}\left(\frac{7}{8}\right)^{19}\left(\frac{1}{8}\right)^{k}

である(負の二項分布)。全期待値・全分散の公式より、平均は E[λ∣x]=19/7=2.71E[\lambda \mid x] = 19/7 = 2.71、分散は E[λ∣x]+Var⁡(λ∣x)=19/7+19/49=152/49=3.10E[\lambda \mid x] + \operatorname{Var}(\lambda \mid x) = 19/7 + 19/49 = 152/49 = 3.10 である。代入したポアソン分布 Po⁡(19/7)\operatorname{Po}(19/7) は平均も分散も 2.712.71 なので、事後予測分布の分散は λ\lambda の不確かさの分 Var⁡(λ∣x)=0.39\operatorname{Var}(\lambda \mid x) = 0.39 だけ大きい。たとえば P(X~≥6)P(\tilde{X} \geq 6) は、事後予測分布では 0.0700.070、代入したポアソン分布では 0.0580.058 である(計算機による)。

問題 7.3 ★★(在庫と分位点)cu,co>0c_u, c_o > 0 とし、損失関数を θ>a\theta > a のとき L(θ,a)=cu(θ−a)L(\theta, a) = c_u(\theta - a)、θ≤a\theta \leq a のとき L(θ,a)=co(a−θ)L(\theta, a) = c_o(a - \theta) とする(θ\theta を需要、aa を在庫とすると、cuc_u は 1 個足りないときの損失、coc_o は 1 個余るときの損失)。(1) q=cu/(cu+co)q = c_u/(c_u + c_o) とする。θ\theta の分布で P(θ≤a∗)≥qP(\theta \leq a^{\ast}) \geq q かつ P(θ≥a∗)≥1−qP(\theta \geq a^{\ast}) \geq 1 - q となる a∗a^{\ast}(qq 分位点)は、期待損失 E[L(θ,a)]E[L(\theta, a)] を最小にすることを示せ(E[∣θ∣]<∞E[\lvert \theta \rvert] < \infty とする)。(2) 問題 7.2 の事後予測分布で翌日の需要を表し、cu=3c_u = 3、co=1c_o = 1 とする。P(X~≤3)=0.707P(\tilde{X} \leq 3) = 0.707、P(X~≤4)=0.848P(\tilde{X} \leq 4) = 0.848 のとき、在庫をいくつにすべきか。

解答

(1) a>a∗a > a^{\ast} とする。θ≤a∗\theta \leq a^{\ast} なら L(θ,a)−L(θ,a∗)=co(a−a∗)L(\theta, a) - L(\theta, a^{\ast}) = c_o(a - a^{\ast})。θ>a∗\theta > a^{\ast} なら、L(θ,a)≥0L(\theta, a) \geq 0 と、θ≤a\theta \leq a では L(θ,a∗)=cu(θ−a∗)≤cu(a−a∗)L(\theta, a^{\ast}) = c_u(\theta - a^{\ast}) \leq c_u(a - a^{\ast})、θ>a\theta > a では差がちょうど −cu(a−a∗)-c_u(a - a^{\ast}) であることから、差は −cu(a−a∗)-c_u(a - a^{\ast}) 以上である。よって

E[L(θ,a)]−E[L(θ,a∗)]≥(a−a∗)(coP(θ≤a∗)−cuP(θ>a∗))=(a−a∗)((cu+co)P(θ≤a∗)−cu)≥0E[L(\theta, a)] - E[L(\theta, a^{\ast})] \geq (a - a^{\ast})\bigl(c_oP(\theta \leq a^{\ast}) - c_uP(\theta > a^{\ast})\bigr) = (a - a^{\ast})\bigl((c_u + c_o)P(\theta \leq a^{\ast}) - c_u\bigr) \geq 0

a<a∗a < a^{\ast} なら、θ≥a∗\theta \geq a^{\ast} では差はちょうど cu(a∗−a)c_u(a^{\ast} - a)、θ<a∗\theta < a^{\ast} では同様に −co(a∗−a)-c_o(a^{\ast} - a) 以上なので、差の期待値は (a∗−a)((cu+co)P(θ≥a∗)−co)≥0(a^{\ast} - a)\bigl((c_u + c_o)P(\theta \geq a^{\ast}) - c_o\bigr) \geq 0。cu=coc_u = c_o なら q=1/2q = 1/2 で、定理 7.10 の 2 になる。

(2) q=3/4q = 3/4 で、P(X~≤4)=0.848≥0.75P(\tilde{X} \leq 4) = 0.848 \geq 0.75、P(X~≥4)=1−0.707=0.293≥0.25P(\tilde{X} \geq 4) = 1 - 0.707 = 0.293 \geq 0.25 なので、在庫は 44 個にすべきである。期待損失を直接計算しても、在庫 3,4,53, 4, 5 でそれぞれ 2.53,2.36,2.762.53, 2.36, 2.76 と 44 個が最小である(計算機による)。品切れの損失が大きいので、予測分布の中央値 22 より多めに持つのが最適になる。

問題 7.4 ★★ X∼B(n,p)X \sim B(n, p) とし、最尤推定量 p^=X/n\hat{p} = X/n と、一様事前分布のもとでの事後平均 p~=(X+1)/(n+2)\tilde{p} = (X + 1)/(n + 2) の平均二乗誤差を pp の関数として求めよ。n=20n = 20 のとき、p~\tilde{p} の平均二乗誤差のほうが小さい pp の範囲を求めよ。「p~\tilde{p} は不偏でないから p^\hat{p} より悪い」という主張は正しいか。

解答

u=p(1−p)u = p(1 - p) とおく。p^\hat{p} は不偏で、平均二乗誤差は u/nu/n。p~\tilde{p} のバイアスは np+1n+2−p=1−2pn+2\frac{np + 1}{n + 2} - p = \frac{1 - 2p}{n + 2}、分散は nu(n+2)2\frac{nu}{(n + 2)^2} なので(第3章 定理 3.3 のバイアス–バリアンス分解)、平均二乗誤差は nu+(1−2p)2(n+2)2=nu+1−4u(n+2)2\frac{nu + (1 - 2p)^2}{(n + 2)^2} = \frac{nu + 1 - 4u}{(n + 2)^2} である。p~\tilde{p} のほうが小さいのは

n(nu+1−4u)<(n+2)2u  ⟺  n<(8n+4)u  ⟺  p(1−p)>n8n+4n(nu + 1 - 4u) < (n + 2)^2u \iff n < (8n + 4)u \iff p(1 - p) > \frac{n}{8n + 4}

のときである。n=20n = 20 なら p(1−p)>20/164p(1 - p) > 20/164、すなわち 0.142<p<0.8580.142 < p < 0.858。たとえば p=0.5p = 0.5 では 0.01250.0125 対 0.01030.0103 で p~\tilde{p} が勝ち、p=0.05p = 0.05 では 0.002380.00238 対 0.003640.00364 で p^\hat{p} が勝つ。主張は正しくない。不偏性は平均二乗誤差の小ささを保証せず、どちらも他方を一様には上回らない。購入率が小さいと事前にわかっているなら、一様事前分布ではなくそれを反映した事前分布を使うべきである。

問題 7.5 ★ ある分析者が、A/B テストの改善率について「95% 信頼区間は [0.3,2.1][0.3, 2.1](%)なので、真の改善率が 0.30.3% 以上である確率は 97.5% である」と報告した。この報告の問題点を述べよ。また、同じ形の確率の主張をするには何が必要か。

解答

信頼区間の 95% は区間を作る手順の性質であり、固定された未知の改善率についての確率ではない。改善率についての確率を述べるには事前分布が必要である。推定値の正規近似のもとで非正則な一様事前分布を使えば、事後分布は推定値を中心とする正規分布になり(注意 7.15)、信用区間が信頼区間と数値として一致するので、その事前分布のもとでは報告の確率は正しい。しかし一様事前分布は「改善率 5050% も 11% も同じくらいありうる」という非現実的な仮定である。過去の実験で効果が小さいことが多いなら、例 7.8 のように縮小した事後分布のもとでの確率は 97.5% よりかなり小さくなりうる。どの事前分布を使ったかを明示して述べる必要がある。

問題 7.6 ★★★(実装の誤り)正の値をとるパラメータ σ\sigma の事後密度 π(σ)\pi(\sigma) から乱数を作るために、σ′=σeε\sigma' = \sigma e^{\varepsilon}(ε∼N(0,s2)\varepsilon \sim N(0, s^2))と提案し、確率 min⁡{1,π(σ′)/π(σ)}\min\lbrace 1, \pi(\sigma')/\pi(\sigma) \rbrace で受理するコードを書いた。(1) この提案の密度 q(σ,σ′)q(\sigma, \sigma') を求め、正しい受理確率を導け。(2) 誤ったコードの連鎖は、どんな密度について詳細つり合いをみたすか。

解答

(1) log⁡σ′=log⁡σ+ε\log \sigma' = \log \sigma + \varepsilon なので、N(0,s2)N(0, s^2) の密度を ϕs\phi_s とすると、密度の変換公式(第1章 定理 1.18)より q(σ,σ′)=ϕs(log⁡σ′−log⁡σ)/σ′q(\sigma, \sigma') = \phi_s(\log \sigma' - \log \sigma)/\sigma'(σ′>0\sigma' > 0)。ϕs\phi_s は偶関数なので q(σ′,σ)/q(σ,σ′)=σ′/σq(\sigma', \sigma)/q(\sigma, \sigma') = \sigma'/\sigma で、正しい受理確率は

α(σ,σ′)=min⁡{1,π(σ′)σ′π(σ)σ}\alpha(\sigma, \sigma') = \min\left\lbrace 1, \frac{\pi(\sigma')\sigma'}{\pi(\sigma)\sigma} \right\rbrace

である。この提案は対称でないので、因子 σ′/σ\sigma'/\sigma を落としてはいけない。

(2) 誤ったコードの推移核の連続部分は q(σ,σ′)min⁡{1,π(σ′)/π(σ)}q(\sigma, \sigma')\min\lbrace 1, \pi(\sigma')/\pi(\sigma) \rbrace である。ρ(σ)=π(σ)/σ\rho(\sigma) = \pi(\sigma)/\sigma とおくと

ρ(σ)q(σ,σ′)min⁡{1,π(σ′)π(σ)}=ϕs(log⁡σ′−log⁡σ)min⁡{π(σ),π(σ′)}σσ′\rho(\sigma)q(\sigma, \sigma')\min\left\lbrace 1, \frac{\pi(\sigma')}{\pi(\sigma)} \right\rbrace = \frac{\phi_s(\log \sigma' - \log \sigma)\min\lbrace \pi(\sigma), \pi(\sigma') \rbrace}{\sigma\sigma'}

は σ,σ′\sigma, \sigma' について対称なので、定理 7.21 の証明と同じ議論により、連鎖は ρ\rho について詳細つり合いをみたす。ρ\rho の積分が有限なら、連鎖は目標の π(σ)\pi(\sigma) ではなく π(σ)/σ\pi(\sigma)/\sigma に比例する分布を定常分布にもち、σ\sigma を小さめに推定する(積分が無限大なら定常分布をもたない)。コードはエラーを出さずに動くので、この種の誤りは気づきにくい。共役な場合など答えのわかる例で、実装を検算することが大切である。

問題 7.7 ★★(ギブスサンプリングの遅さ)(θ1,θ2)(\theta_1, \theta_2) が平均 00、分散 11、相関係数 ρ\rho(∣ρ∣<1\lvert \rho \rvert < 1)の 2 変量正規分布に従うとき、完全条件付き分布は θ1∣θ2∼N(ρθ2,1−ρ2)\theta_1 \mid \theta_2 \sim N(\rho\theta_2, 1 - \rho^2)、θ2∣θ1∼N(ρθ1,1−ρ2)\theta_2 \mid \theta_1 \sim N(\rho\theta_1, 1 - \rho^2) である(第1章 定理 1.23)。θ1,θ2\theta_1, \theta_2 の順に更新するギブスサンプリングで、tt 回目の更新後の第 1 成分を θ1(t)\theta_1^{(t)} とする。(1) θ1(t+1)=ρ2θ1(t)+ηt\theta_1^{(t+1)} = \rho^2\theta_1^{(t)} + \eta_t(ηt∼N(0,1−ρ4)\eta_t \sim N(0, 1 - \rho^4) は θ1(t)\theta_1^{(t)} と独立)と書けることを示せ。(2) 定常状態での θ1(t)\theta_1^{(t)} と θ1(t+k)\theta_1^{(t+k)} の相関係数を求め、ρ=0.99\rho = 0.99 のとき、相関係数が 0.050.05 を下回るには何回の更新が必要か求めよ。

解答

(1) 独立な標準正規乱数 ξt,ζt\xi_t, \zeta_t を使うと θ2(t+1)=ρθ1(t)+1−ρ2ξt\theta_2^{(t+1)} = \rho\theta_1^{(t)} + \sqrt{1 - \rho^2}\xi_t、θ1(t+1)=ρθ2(t+1)+1−ρ2ζt\theta_1^{(t+1)} = \rho\theta_2^{(t+1)} + \sqrt{1 - \rho^2}\zeta_t と書けるので、θ1(t+1)=ρ2θ1(t)+ηt\theta_1^{(t+1)} = \rho^2\theta_1^{(t)} + \eta_t、ηt=ρ1−ρ2ξt+1−ρ2ζt\eta_t = \rho\sqrt{1 - \rho^2}\xi_t + \sqrt{1 - \rho^2}\zeta_t である。ηt\eta_t は正規分布に従い、分散は ρ2(1−ρ2)+(1−ρ2)=1−ρ4\rho^2(1 - \rho^2) + (1 - \rho^2) = 1 - \rho^4 である。

(2) 繰り返し代入すると、θ1(t+k)\theta_1^{(t+k)} は ρ2kθ1(t)\rho^{2k}\theta_1^{(t)} と、θ1(t)\theta_1^{(t)} と独立な項の和になる。定常状態では分散は 11(定理 7.25 より周辺分布は N(0,1)N(0, 1))なので、相関係数は ρ2k\rho^{2k} である。ρ=0.99\rho = 0.99 なら 0.9801k<0.05  ⟺  k>log⁡0.05/log⁡0.9801=149.040.9801^{k} < 0.05 \iff k > \log 0.05/\log 0.9801 = 149.04 で、150150 回の更新が必要である。時間平均の分散は、NN が大きいとき独立な標本の平均の分散の約 (1+ρ2)/(1−ρ2)=99.5(1 + \rho^2)/(1 - \rho^2) = 99.5 倍になる(自己相関 ρ2k\rho^{2k} を足し合わせる計算。省略)。1 万回更新しても、独立な標本 100 個程度の精度しかない。相関の強い成分はまとめて更新するか、相関の弱いパラメータに変換するとよい。

問題 7.8 ★★(ベイズファクター) (1) 例 7.29 の m1(x)=1/(n+1)m_1(x) = 1/(n + 1) を示せ。(2) n=100n = 100、x=60x = 60 のとき、z=2.0z = 2.0、両側の正確な pp 値は 0.0570.057、B01=1.10B_{01} = 1.10 である(計算機による)。zz 値は例 7.29(n=10000n = 10000, x=5100x = 5100)と同じなのに、B01B_{01} が大きく違う理由を説明せよ。

解答

(1) ベータ関数とガンマ関数の関係(01 微分積分学 第9章 定理 9.18)より

m1(x)=(nx)B(x+1,n−x+1)=n!x!(n−x)!⋅x!(n−x)!(n+1)!=1n+1m_1(x) = \binom{n}{x}B(x + 1, n - x + 1) = \frac{n!}{x!(n - x)!} \cdot \frac{x!(n - x)!}{(n + 1)!} = \frac{1}{n + 1}

(2) zz を固定すると、観測された割合 x/n=1/2+z/(2n)x/n = 1/2 + z/(2\sqrt{n}) は nn が大きいほど 1/21/2 に近い。二項分布の確率関数の正規近似 (nx)2−n≈2nϕ(z)\binom{n}{x}2^{-n} \approx \frac{2}{\sqrt{n}}\phi(z)(ϕ\phi は標準正規分布の密度)を使うと

B01=m0(x)m1(x)≈2(n+1)nϕ(z)≈2ϕ(2)n=0.108nB_{01} = \frac{m_0(x)}{m_1(x)} \approx \frac{2(n + 1)}{\sqrt{n}}\phi(z) \approx 2\phi(2)\sqrt{n} = 0.108\sqrt{n}

で、n=100n = 100 では約 1.11.1、n=10000n = 10000 では約 10.810.8 と、n\sqrt{n} に比例して大きくなる。pp 値は「H0H_0 から標準誤差の何倍離れているか」だけを見るが、ベイズファクターは、H1H_1 の事前分布が予測する値([0,1][0, 1] に一様に散らばった pp)と比べる。nn が大きいと、標準誤差 2 個分のずれは p=1/2p = 1/2 のごく近くを意味し、一様事前分布の H1H_1 よりも H0H_0 のほうがよく説明する。どちらの指標を使うにしても、H1H_1 のもとでどの程度の効果がありうるかを考えずに結論を出すことはできない。

この章を読み終えたら

「読了」にすると、学習記録と地図に反映されます。

この章の誤りを報告GitHub で見る