この章の目標
- 事前分布と尤度から事後分布を求め、ベータ–二項・ガンマ–ポアソン・正規–正規の共役事前分布の計算を証明できる
- 二乗損失のベイズ推定量が事後平均、絶対値損失のベイズ推定量が事後中央値であることを証明できる
- 信用区間と信頼区間の解釈の違いを説明し、事後予測分布を計算できる
- メトロポリス–ヘイスティングス法が目標分布を定常分布にもつことを詳細つり合いから証明し、収束にはさらに条件が要ることを説明できる
- ギブスサンプリング、階層モデルによる縮小推定、ベイズファクターの考え方と注意点を説明できる
前提:第1章、第3章、第4章。7.6 節ではマルコフ連鎖の定常分布と収束の定理を 11 確率論 第6章 から引用する。7.8 節では 第6章 の BIC と比べる。
新しい商品ページを公開したところ、20 人が訪れて 3 人が購入した。購入率の最尤推定値は 3/20=0.15 だが(第3章)、20 人では心もとない。一方、同じサイトの過去のページの購入率がおおむね 5〜20% だったことはわかっている。この知識を推定に組み込みたい。また、意思決定をする人が知りたいのは「購入率が 10% を超える確率」のような、パラメータについての確率であることが多い。
これまでの章の方法(頻度論, frequentist)では、パラメータ θ は未知の定数であり、確率はデータの揺らぎを表すためだけに使った。ベイズ統計 (Bayesian statistics) では、θ についての不確かさも確率分布で表し、データを見る前の分布(事前分布)を、ベイズの定理によってデータを見た後の分布(事後分布)に更新する。推定・区間・予測は、すべて事後分布から導かれる。本章では、計算が閉じた形でできる共役事前分布、ベイズ推定量、信用区間、事後予測分布を扱った後、一般の事後分布に従う乱数を作るマルコフ連鎖モンテカルロ法が正しい分布を目標にしていることを証明する。
7.1 事前分布と事後分布
本章ではパラメータ θ∈Θ⊂Rk も確率変数とみなし、データ X との同時分布を考える。離散型の場合も含めて「密度」と書き、離散型では積分を和に読み替える。
定義 7.1(事前分布・事後分布, prior / posterior distribution)θ の密度 π(θ) を事前分布、θ が与えられたときの X の条件付き密度 f(x∣θ) を統計モデルとし、(θ,X) の同時密度を π(θ)f(x∣θ) とする。X の周辺密度
m(x)=∫Θf(x∣θ)π(θ) dθ
を周辺尤度 (marginal likelihood) という。m(x)>0 となる x について、X=x が与えられたときの θ の条件付き密度
π(θ∣x)=m(x)f(x∣θ)π(θ)
を事後分布という。
後の式は条件付き密度の定義(第1章 定義 1.11)そのものであり、密度についてのベイズの定理である。x を固定すると f(x∣θ) は尤度 L(θ) で、m(x) は θ によらないから、π(θ∣x)∝L(θ)π(θ)(事後 ∝ 尤度 × 事前)である。ここで g∝h は、θ によらない正の定数 c について g=ch となることを表す。右辺を θ の関数とみて、積分が 1 になるよう定数倍したものが事後密度である。
例 7.2(購入率)20 人中の購入者数を X とし、X∣p∼B(20,p)、事前分布を一様分布 U(0,1) とする。x=3 なら、0<p<1 で
π(p∣3)∝(320)p3(1−p)17⋅1∝p3(1−p)17
これは Beta(4,18) の密度の定数倍なので、事後分布は Beta(4,18) である。事後平均は 4/22=0.182 で、P(p>0.1∣X=3)=0.848 である(数値は計算機による)。
7.2 共役事前分布
例 7.2 では、ベータ分布(一様分布は Beta(1,1))の事前分布から、ベータ分布の事後分布が得られた。
定義 7.4(共役事前分布, conjugate prior)統計モデル f(x∣θ) に対し、事前分布の族 F に属するどの事前分布とどの観測値についても事後分布が F に属するとき、F を共役事前分布族という。
定理 7.5(共役事前分布)a,b,α,β,τ0,σ>0、μ0∈R とする。ガンマ分布 Gamma(α,β) の第 2 パラメータは、第1章と同じく率である。
- (ベータ–二項)X∣p∼B(n,p)、p∼Beta(a,b) ならば、p∣X=x∼Beta(a+x,b+n−x)。
- (ガンマ–ポアソン)X1,…,Xn が λ を与えたもとで独立に Po(λ) に従い、λ∼Gamma(α,β) ならば、λ∣x∼Gamma(α+∑ixi,β+n)。
- (正規–正規、分散既知)X1,…,Xn が μ を与えたもとで独立に N(μ,σ2) に従い(σ2 は既知)、μ∼N(μ0,τ02) ならば、μ∣x∼N(μn,τn2)。ここで
τn21=τ021+σ2n,μn=τn2(τ02μ0+σ2nxˉ)
証明. いずれも、尤度 × 事前密度を計算し、既知の分布の密度の定数倍になることを確かめる。密度の定数倍で積分が 1 になるものはその密度自身に限るので、事後分布はその分布である。
-
0<p<1 で π(p∣x)∝px(1−p)n−x⋅pa−1(1−p)b−1=pa+x−1(1−p)b+n−x−1。
-
λ>0 で π(λ∣x)∝∏ie−λλxi⋅λα−1e−βλ=λα+∑ixi−1e−(β+n)λ(1/xi! は λ によらない)。
-
∑i(xi−μ)2=n(μ−xˉ)2+∑i(xi−xˉ)2 の第 2 項は μ によらないから
π(μ∣x)∝exp(−2σ2n(μ−xˉ)2−2τ02(μ−μ0)2)
指数の中の μ2 の係数は −21(σ2n+τ021)=−2τn21、μ の係数は σ2nxˉ+τ02μ0=τn2μn なので、指数の中は −2τn2(μ−μn)2 に μ によらない定数を加えたものである。よって事後分布は N(μn,τn2) である。□
事後平均を書き直すと、どれも事前平均と最尤推定値の重み付き平均になる:
a+b+na+xβ+nα+∑ixiμn=a+b+na+b⋅a+ba+a+b+nn⋅nx,=β+nβ⋅βα+β+nn⋅xˉ,=1/τ02+n/σ21/τ02⋅μ0+1/τ02+n/σ2n/σ2⋅xˉ
事前分布 Beta(a,b) は「a+b 人分のデータ(購入 a 人)」、Gamma(α,β) は「β 期間に α 件」と同じ重みをもつ。正規–正規では、分散の逆数(精度)が足し算になる:事後の精度 = 事前の精度 + データの精度。n→∞ ではデータの重みが 1 に近づき、事前分布の影響は消える。
例 7.6(事前情報を入れる)例 7.2 で、過去のページの実績から事前分布を Beta(2,18)(平均 0.1、20 人分の重み)とすると、事後分布は Beta(5,35) で、事後平均は 0.5⋅0.1+0.5⋅0.15=0.125 である。
例 7.7(1 日の注文数)ある商品の 1 日の注文数を Po(λ) とし、類似商品の実績から λ∼Gamma(4,2)(平均 2、分散 1)とする。5 日間の注文数が 3,1,4,2,5(合計 15)なら、事後分布は Gamma(19,7) で、事後平均は 19/7=72⋅2+75⋅3=2.71、事後標準偏差は 19/7=0.62 である。
例 7.8(A/B テストの効果の縮小)ある施策による売上の改善率の推定値が xˉ=2.0(%)、標準誤差が 1.0 だった(z=2.0、両側 p 値 0.046)。正規近似で xˉ∣μ∼N(μ,1.02) とみなし、過去の多数の実験での効果の分布から事前分布を μ∼N(0,0.52) とする。定理 7.5 の 3(n=1)より、事後の精度は 1/0.25+1/1=5 で、事後分布は N(0.4,0.2) である。推定値は 5 分の 1 に縮小され、P(μ>0∣xˉ)=Φ(0.4/0.2)=0.81 となる。
ヒント
実務では
有意になった実験だけを選んで効果を報告すると、効果は系統的に過大になる(勝者の呪い, winner's curse)。推定値が有意になりやすいのは、真の効果に正の誤差が上乗せされたときだからである。例 7.8 のように、過去の実験の効果の分布を事前分布にして縮小すると、この偏りを減らせる。ただし結論は事前分布に依存するので、その根拠を明示し、事前分布を変えると結論がどう変わるか(感度分析)も示すべきである。
7.3 ベイズ推定量
事後分布から一つの値を報告するとき、どの値を選ぶべきかは、外れたときの損失で決まる。
定義 7.9(ベイズ推定量, Bayes estimator)推定値 a を報告し、真の値が θ だったときの損失を表す関数 L(θ,a)≥0 を損失関数 (loss function) という。観測値 x のもとでの事後期待損失
ρ(a∣x)=E[L(θ,a)∣X=x]=∫ΘL(θ,a)π(θ∣x) dθ
を最小にする a を δ(x) とするとき、δ をベイズ推定量という。
定理 7.10 θ は 1 次元とし、x を固定する。
- (二乗損失)L(θ,a)=(θ−a)2、E[θ2∣X=x]<∞ ならば、ρ(a∣x)=Var(θ∣X=x)+(a−E[θ∣X=x])2 であり、ベイズ推定量は事後平均 E[θ∣X=x] である(最小点は一意)。
- (絶対値損失)L(θ,a)=∣θ−a∣、E[∣θ∣∣X=x]<∞ ならば、事後分布の中央値 m(P(θ≤m∣X=x)≥1/2 かつ P(θ≥m∣X=x)≥1/2 をみたす数)は ρ(a∣x) を最小にする。
証明. 確率と期待値はすべて事後分布についてのものとし、「∣X=x 」を省く。
-
θˉ=E[θ] とおくと (θ−a)2=(θ−θˉ)2+2(θ−θˉ)(θˉ−a)+(θˉ−a)2 で、中央の項の期待値は 0 だから ρ(a)=Var(θ)+(a−θˉ)2。これは a=θˉ でだけ最小になる。
-
a>m とする。θ≤m なら ∣θ−a∣−∣θ−m∣=a−m、θ>m なら三角不等式より ∣θ−a∣−∣θ−m∣≥−(a−m) なので
ρ(a)−ρ(m)≥(a−m)(P(θ≤m)−P(θ>m))=(a−m)(2P(θ≤m)−1)≥0
a<m なら、θ≥m で差は m−a、θ<m で差は −(m−a) 以上なので、ρ(a)−ρ(m)≥(m−a)(2P(θ≥m)−1)≥0。□
例 7.12 例 7.2 の事後分布 Beta(4,18) では、事後平均は 0.182、事後中央値は 0.172、事後密度が最大になる点(事後最頻値, MAP 推定値)は 3/20=0.15 である。一様事前分布では事後密度が尤度に比例するので、MAP 推定値は最尤推定値と一致する。事後平均 (x+1)/(n+2) は不偏ではないが、p が 1/2 に近ければ最尤推定量より平均二乗誤差が小さい(問題 7.4)。
7.4 信用区間と信頼区間
定義 7.13(信用区間, credible interval)0<α<1 とする。観測値 x から決まる区間 C(x) で P(θ∈C(x)∣X=x)=1−α となるものを、θ の 100(1−α) % 信用区間という。事後分布の下側 α/2 点と 1−α/2 点を両端とするものを等裾信用区間、事後密度がある値以上となる θ 全体として作るもの(事後密度が単峰なら区間になり、同じ確率の区間のうちで最も短い)を最高事後密度区間(HPD 区間)という。
第4章の信頼区間とは、確率の意味が違う。
|
信頼区間 |
信用区間 |
| 確率的に動くもの |
データ X(したがって区間 C(X)) |
パラメータ θ |
| 固定されているもの |
未知の定数 θ |
観測値 x |
| 保証 |
すべての θ で P(θ∈C(X)∣θ)≥1−α |
P(θ∈C(x)∣X=x)=1−α |
| 必要なもの |
統計モデル |
統計モデルと事前分布 |
例 7.14(購入率の区間)20 人中 3 人(例 7.2)について計算すると次のようになる(数値は計算機による)。
- 一様事前分布による 95% 等裾信用区間は [0.054,0.363]、HPD 区間は [0.041,0.340]。
- 正規近似による 95% 信頼区間(ワルド区間)p^±1.96p^(1−p^)/n は [−0.006,0.306]。下端が負であり、小標本では使えない。
- 二項分布の確率を正確に使う 95% 信頼区間(クロッパー–ピアソン区間。両端はベータ分布の分位点で表せる)は [0.032,0.379]。
注意
95% 信頼区間 [0.032,0.379] を得て「p がこの区間に入る確率は 95%」と言うのは誤りである(第4章)。「95% の確率で入る」と言えるのは信用区間のほうだが、それは採用した統計モデルと事前分布が妥当だという前提のもとでの主張である。数値が近くても、二つの区間が述べている内容は異なる。
7.5 事後予測分布
次の 100 人のうち何人が購入するかを予測したい。最尤推定値を代入した B(100,0.15) で予測すると、p の不確かさを無視することになる。
定義 7.16(事後予測分布, posterior predictive distribution)将来の観測 X~ が、θ を与えたもとで X と条件付き独立で、条件付き密度 g(x~∣θ) をもつとする。X=x が与えられたときの X~ の条件付き密度
p(x~∣x)=∫Θg(x~∣θ)π(θ∣x) dθ
を事後予測分布という。
実際、(θ,X,X~) の同時密度は π(θ)f(x∣θ)g(x~∣θ) なので、θ について積分して m(x) で割ればこの式を得る。
命題 7.17(ベータ二項分布)事後分布が Beta(a′,b′) で、X~∣p∼B(m,p) ならば、k=0,1,…,m について
P(X~=k∣X=x)=(km)B(a′,b′)B(a′+k,b′+m−k)
であり(ベータ二項分布)、s=a′+b′ とおくと E[X~∣X=x]=ma′/s、Var(X~∣X=x)=s2(s+1)ma′b′(s+m) である。
証明. 確率関数は
∫01(km)pk(1−p)m−kB(a′,b′)pa′−1(1−p)b′−1 dp=(km)B(a′,b′)B(a′+k,b′+m−k)
である。以下すべて X=x のもとで考え、p を与えたときの X~ の条件付き平均 mp と条件付き分散 mp(1−p) に全期待値・全分散の公式(第1章 命題 1.12)を使う。ベータ分布の平均と分散(第1章 1.3 節の表)より E[p]=a′/s、Var(p)=a′b′/(s2(s+1)) で、E[p(1−p)]=E[p]−E[p]2−Var(p)=a′b′/(s(s+1)) だから
Var(X~)=E[mp(1−p)]+Var(mp)=s(s+1)ma′b′+s2(s+1)m2a′b′=s2(s+1)ma′b′(s+m)□
分散の第 1 項は p がわかっていても残る揺らぎ、第 2 項は p の不確かさによる揺らぎである。
例 7.18(次の 100 人)事後分布 Beta(4,18)(例 7.2)のもとで、次の m=100 人の購入者数 X~ の事後予測分布は平均 18.2、標準偏差 8.9 で、P(X~≤5∣x)=0.048、P(X~≥35∣x)=0.050 より、90% 以上の確率で 6 人以上 34 人以下である。最尤推定値を代入した B(100,0.15) では標準偏差 3.6、同じ作り方(両側の確率がそれぞれ 5% 以下)の範囲は 9 人から 21 人で、ずっと狭い。代入による予測は、在庫や人員の計画で需要の揺らぎを過小評価させる。なお m=1 とすると次の 1 人が購入する確率は a′/(a′+b′) であり、一様事前分布ではこれは (x+1)/(n+2) となる(ラプラスの継起則)。
7.6 マルコフ連鎖モンテカルロ法
共役でないモデルでは、m(x) が k 次元の積分になり、k が大きいと数値積分も難しい。しかし事後分布に従う乱数 θ1,…,θN が得られれば、事後平均は標本平均で、信用区間は標本分位点で近似できる。密度の比だけを使って、事後分布を定常分布にもつマルコフ連鎖を作り、長く走らせるのがマルコフ連鎖モンテカルロ法 (Markov chain Monte Carlo, MCMC) である。この節では、目標とする密度(ベイズ統計では事後密度)を π と書き、Rk 上の関数とみなす(Θ の外では 0)。π は定数倍を除いてわかればよい。11 確率論 第6章 の可算な状態空間の推移確率の代わりに、推移核を使う。
定義 7.19(推移核・定常分布・詳細つり合い)θ∈Rk と集合 A⊂Rk に確率 K(θ,A) を対応させ、各 θ について K(θ,⋅) が確率分布であるものを推移核という。θt+1 の条件付き分布が、過去によらず K(θt,⋅) で与えられる列 (θt) をマルコフ連鎖という。確率密度 π がすべての A について
∫π(θ)K(θ,A) dθ=∫Aπ(θ) dθ
をみたすとき、π を K の定常分布という。すべての A,B について
∫Aπ(θ)K(θ,B) dθ=∫Bπ(θ)K(θ,A) dθ
となるとき、K は π について詳細つり合い (detailed balance) をみたすという。
定常分布の式は「θt∼π ならば θt+1∼π」を意味する。詳細つり合いの式で B=Rk とおくと、K(θ,Rk)=1 より定常分布の式を得る。つまり、詳細つり合いをみたす π は定常分布である(可算な場合は 11 確率論 第6章 定義 6.22 の後の議論)。
定義 7.20(メトロポリス–ヘイスティングス法, Metropolis–Hastings algorithm)各 θ について q(θ,⋅) が確率密度であるもの(提案分布)をとり、π(θ)q(θ,θ′)>0 のとき
α(θ,θ′)=min{1,π(θ)q(θ,θ′)π(θ′)q(θ′,θ)}
とおく(それ以外では α=1 とする)。π(θ0)>0 となる θ0 から始め、現在の値 θt から次の手順で θt+1 を作る。(i) θ′∼q(θt,⋅) を生成する。(ii) 確率 α(θt,θ′) で受理して θt+1=θ′ とし、受理しなければ(棄却)θt+1=θt とする。
α には π の比しか現れないので、正規化定数は要らない。提案が対称、すなわち q(θ,θ′)=q(θ′,θ) なら(θ′=θ+ε、ε∼N(0,s2I) など)α=min{1,π(θ′)/π(θ)} となる。これが最初のメトロポリス法(1953 年)で、ヘイスティングス(1970 年)が非対称な提案に拡張した。この手順の推移核は
K(θ,A)=∫Aq(θ,θ′)α(θ,θ′) dθ′+r(θ)1A(θ),r(θ)=1−∫q(θ,θ′)α(θ,θ′) dθ′
である。第 1 項は提案が受理されて A に移る確率、r(θ) は棄却されてその場に留まる確率である。
定理 7.21(メトロポリス–ヘイスティングス法の正しさ)定義 7.20 の推移核 K は π について詳細つり合いをみたす。特に、π は K の定常分布である。
証明. g(θ,θ′)=π(θ)q(θ,θ′)α(θ,θ′) とおく。π(θ)q(θ,θ′)>0 なら
g(θ,θ′)=min{π(θ)q(θ,θ′),π(θ′)q(θ′,θ)}
であり、π(θ)q(θ,θ′)=0 なら両辺とも 0 なので、この式はつねに成り立つ。右辺は θ と θ′ について対称だから g(θ,θ′)=g(θ′,θ) である。K の式より
∫Aπ(θ)K(θ,B) dθ=∫A(∫Bg(θ,θ′) dθ′)dθ+∫A∩Bπ(θ)r(θ) dθ
右辺の第 1 項は、積分の順序を交換し(被積分関数が非負なので交換できる。厳密には 06 測度と積分 第5章 定理 5.6(トネリの定理))、g の対称性を使うと ∫B(∫Ag(θ,θ′) dθ′)dθ に等しい。第 2 項は A と B について対称である。よって左辺は A と B を入れ替えても変わらない。後半は定義 7.19 の後の注意による。□
例 7.23(共役でない事前分布)例 7.2 で、購入率 p の代わりに対数オッズ θ=log(p/(1−p)) に事前分布 N(−2,1) をおく(p の事前中央値は 1/(1+e2)=0.12)。事後密度は
π(θ∣x)∝(1+eθ)20e3θexp(−2(θ+2)2)(θ∈R)
で、共役ではない。提案 θ′=θ+ε(ε∼N(0,1))のメトロポリス法で乱数を作る。桁あふれを避けるため対数で計算し、一様乱数 U について logU<logπ(θ′)−logπ(θ) のとき受理する(確率 min{1,π(θ′)/π(θ)} での受理と同じである)。
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.1442、95% 等裾信用区間 [0.0458,0.2954])とよく一致する。最初の部分を捨てる(バーンイン, burn-in)のは、初期値 0 の影響が残る部分を除くためである。連続する値は互いに相関しているので、45000 個の値は 45000 個の独立な標本ほどの精度をもたない。
パラメータが多いモデルでは、ほかの成分を固定したときの 1 成分の条件付き分布(完全条件付き分布, full conditional distribution)が簡単なことが多い。θ=(θ1,…,θk) から第 j 成分を除いたものを θ−j と書く。
定義 7.24(ギブスサンプリング, Gibbs sampling)現在の値 θ の第 j 成分を、完全条件付き分布 π(θj∣θ−j) から生成した値で置き換える操作を、j=1,…,k の順に行うことを 1 回の更新とする。
定理 7.25 各成分の置き換えは π を不変にする。すなわち θ∼π ならば、第 j 成分を置き換えた値も π に従う。したがって π はギブスサンプリングの定常分布である。
証明. θ∼π なら、θ−j は周辺密度 π−j(θ−j)=∫π(θ) dθj に従う。置き換えた値 θj′ は θ−j を与えたもとで密度 π(θj′∣θ−j) に従うので、(θj′,θ−j) の同時密度は π−j(θ−j)π(θj′∣θ−j)=π(θj′,θ−j)(条件付き密度の定義)である。π を不変にする操作を続けて行っても π は不変である。□
成分の置き換えは、提案を π(θj′∣θ−j) としたメトロポリス–ヘイスティングス法で、形式的に受理確率を計算すると 1 になるものとみることもできる。収束については注意 7.22 と同じ注意が要り、成分の間の相関が強いと、1 成分ずつしか動けないために連鎖の動きが遅くなる(問題 7.7)。
例 7.26(平均と分散が未知の正規モデル)X1,…,Xn が (μ,τ) を与えたもとで独立に N(μ,1/τ) に従い(τ は精度)、事前分布は独立に μ∼N(μ0,τ02)、τ∼Gamma(α0,β0) とする。同時事後分布はよく知られた分布ではないが、完全条件付き分布は
μ∣τ,x∼N(1/τ02+nτμ0/τ02+nτxˉ,1/τ02+nτ1),τ∣μ,x∼Gamma(α0+2n,β0+21i=1∑n(xi−μ)2)
である。前者は定理 7.5 の 3 で σ2=1/τ としたもの、後者は π(τ∣μ,x)∝τn/2e−τ∑i(xi−μ)2/2⋅τα0−1e−β0τ による。この 2 つを交互に生成すればよい。
ヒント
実務では
定理 7.21 があるからといって、MCMC の出力を信用してよいわけではない。異なる初期値から複数の連鎖を走らせて結果が一致するか、値の推移(トレースプロット)が安定しているかを確かめ、連鎖間と連鎖内のばらつきを比べる診断量 R^ や、自己相関を考慮した有効標本サイズを報告するのが標準である(Gelman et al. を参照)。事後分布が多峰的だと、一つの山に閉じこもったまま「収束したように見える」ことがある(注意 7.22 の例はその極端な場合である)。Stan や PyMC などのソフトウェアは、事後密度の勾配を使うハミルトニアン・モンテカルロ法を標準の手法としており、高次元ではランダムウォークの提案よりはるかに効率がよい。
7.7 階層モデルと縮小推定(紹介)
店舗・広告・地域など J 個のグループのパラメータを同時に推定したい。グループ j の推定値 yj が yj∣θj∼N(θj,σj2)(σj は既知の標準誤差)に従うとする。グループごとに別々に推定する(θ^j=yj)と、データの少ないグループの推定値は大きくばらつく。全体を一つにまとめると、グループの本当の違いが消える。階層モデル (hierarchical model) ではその中間をとり、θj 自体が共通の分布 N(μ,η2) から独立に生じると考える。μ,η を既知とすれば、定理 7.5 の 3 より
E[θj∣y]=(1−Bj)yj+Bjμ,Bj=σj2+η2σj2
であり、各推定値は全体の平均 μ の方向に縮小 (shrinkage) される。縮小の度合い Bj は、標準誤差の大きい(データの少ない)グループほど大きい。実際には μ,η も未知なので、それらにも事前分布をおいて MCMC で同時に推定するか、周辺尤度を最大にする値で置き換える(経験ベイズ, empirical Bayes)。グループの間で情報を「借りる」ことで、小さいグループの推定が安定する。
7.8 ベイズファクター(紹介)
定義 7.28(ベイズファクター, Bayes factor) 2 つの仮説 H0,H1 が、それぞれ統計モデルと事前分布の組として与えられ、周辺尤度が m0(x),m1(x) であるとき、B10=m1(x)/m0(x) を H1 の H0 に対するベイズファクターという。
仮説の事前確率を P(H0),P(H1) とすると、ベイズの定理より
P(H0∣x)P(H1∣x)=B10⋅P(H0)P(H1)
(事後オッズ = ベイズファクター × 事前オッズ)である。p 値と違い、H0 を支持する証拠の強さも表せる。
例 7.29(リンドレーのパラドックス)表の確率 p について、H0:p=1/2 と H1:p∼U(0,1) を比べる。n 回中 x 回表なら m0(x)=(xn)2−n、m1(x)=∫01(xn)px(1−p)n−x dp=1/(n+1) である(問題 7.8)。n=10000、x=5100 なら z=(x−n/2)/n/4=2.0 で、両側の正確な p 値は 0.047 と 5% 水準で有意だが、B01=1/B10=10.8 であり、データは H0 のほうを約 11 倍支持する(事前オッズが 1 なら P(H0∣x)=0.92)。H1 の一様事前分布は確率を [0,1] 全体に広げており、データに合う p=0.51 の近くにはわずかな確率しか置いていないからである。
まとめ
- 事後分布は「尤度 × 事前分布」を正規化したものである。事後分布を新しい事前分布として、データが来るたびに更新できる。
- ベータ–二項・ガンマ–ポアソン・正規–正規(分散既知)は共役であり、事後平均は事前平均と最尤推定値の重み付き平均になる。事前分布は「何人分のデータに相当するか」で解釈できる。
- 二乗損失のベイズ推定量は事後平均、絶対値損失のベイズ推定量は事後中央値である。ベイズ推定量はベイズリスク(リスクの事前平均)も最小にする。
- 信用区間は「観測値のもとで θ が区間に入る確率」、信頼区間は「手順が θ を含む確率」についての保証であり、大標本では数値が近づくが意味は異なる。
- 事後予測分布の分散は、θ を与えたときの分散の事後平均に、θ の不確かさによる分散を加えたものである。そのため、推定値を代入した予測より広くなることが多い(例 7.18 のベータ二項分布)。
- メトロポリス–ヘイスティングス法は詳細つり合いにより目標分布を定常分布にもつ。収束には既約性・非周期性などの条件が別に必要で、実際には診断が欠かせない。ギブスサンプリングは各成分の更新が目標分布を不変にする。
- 階層モデルはグループの推定値を全体の平均へ縮小し、小さいグループの推定を安定させる。
- ベイズファクターは周辺尤度の比で、H1 の事前分布に強く依存する。p<0.05 でも H0 を支持することがある(リンドレーのパラドックス)。
演習問題
問題 7.1 ★ 購入率 p の事前分布を Beta(2,8) とし、40 人中 12 人が購入した。(1) 事後分布と、事後平均・事後標準偏差を求めよ。(2) 事後平均を、事前平均と最尤推定値の重み付き平均として表せ。(3) 事前分布が Beta(20,80) なら事後平均はいくらか。(1) との違いを、事前分布が何人分のデータに相当するかで説明せよ。
解答
(1) 定理 7.5 の 1 より事後分布は Beta(14,36)。事後平均は 14/50=0.28、事後分散は 502⋅5114⋅36=0.003953 で、事後標準偏差は 0.063 である(95% 等裾信用区間は [0.166,0.411]。計算機による)。
(2) 事前平均 0.2 に重み 10/50、最尤推定値 12/40=0.3 に重み 40/50 をつけて、0.2⋅0.2+0.8⋅0.3=0.28。
(3) 事後分布は Beta(32,108)、事後平均は 32/140=0.229(=140100⋅0.2+14040⋅0.3)。Beta(2,8) は 10 人分、Beta(20,80) は 100 人分のデータと同じ重みをもつので、後者では 40 人のデータの重みは 40/140 にすぎず、事後平均は事前平均 0.2 に強く引き寄せられる。事前平均が同じでも、事前分布の「確信の強さ」によって結論が変わる。
問題 7.2 ★★ 例 7.7 の事後分布 Gamma(19,7) のもとで、翌日の注文数 X~(λ を与えたもとで Po(λ) に従う)の事後予測分布を求めよ。その平均と分散を、λ に事後平均を代入したポアソン分布の平均・分散と比べよ。
解答
k=0,1,2,… について、∫0∞λs−1e−cλ dλ=Γ(s)/cs(ガンマ分布の密度の積分が 1 であること)を使うと
P(X~=k∣x)=∫0∞k!e−λλk⋅Γ(19)719λ18e−7λ dλ=Γ(19)k!Γ(19+k)(87)19(81)k
である(負の二項分布)。全期待値・全分散の公式より、平均は E[λ∣x]=19/7=2.71、分散は E[λ∣x]+Var(λ∣x)=19/7+19/49=152/49=3.10 である。代入したポアソン分布 Po(19/7) は平均も分散も 2.71 なので、事後予測分布の分散は λ の不確かさの分 Var(λ∣x)=0.39 だけ大きい。たとえば P(X~≥6) は、事後予測分布では 0.070、代入したポアソン分布では 0.058 である(計算機による)。
問題 7.3 ★★(在庫と分位点)cu,co>0 とし、損失関数を θ>a のとき L(θ,a)=cu(θ−a)、θ≤a のとき L(θ,a)=co(a−θ) とする(θ を需要、a を在庫とすると、cu は 1 個足りないときの損失、co は 1 個余るときの損失)。(1) q=cu/(cu+co) とする。θ の分布で P(θ≤a∗)≥q かつ P(θ≥a∗)≥1−q となる a∗(q 分位点)は、期待損失 E[L(θ,a)] を最小にすることを示せ(E[∣θ∣]<∞ とする)。(2) 問題 7.2 の事後予測分布で翌日の需要を表し、cu=3、co=1 とする。P(X~≤3)=0.707、P(X~≤4)=0.848 のとき、在庫をいくつにすべきか。
解答
(1) a>a∗ とする。θ≤a∗ なら L(θ,a)−L(θ,a∗)=co(a−a∗)。θ>a∗ なら、L(θ,a)≥0 と、θ≤a では L(θ,a∗)=cu(θ−a∗)≤cu(a−a∗)、θ>a では差がちょうど −cu(a−a∗) であることから、差は −cu(a−a∗) 以上である。よって
E[L(θ,a)]−E[L(θ,a∗)]≥(a−a∗)(coP(θ≤a∗)−cuP(θ>a∗))=(a−a∗)((cu+co)P(θ≤a∗)−cu)≥0
a<a∗ なら、θ≥a∗ では差はちょうど cu(a∗−a)、θ<a∗ では同様に −co(a∗−a) 以上なので、差の期待値は (a∗−a)((cu+co)P(θ≥a∗)−co)≥0。cu=co なら q=1/2 で、定理 7.10 の 2 になる。
(2) q=3/4 で、P(X~≤4)=0.848≥0.75、P(X~≥4)=1−0.707=0.293≥0.25 なので、在庫は 4 個にすべきである。期待損失を直接計算しても、在庫 3,4,5 でそれぞれ 2.53,2.36,2.76 と 4 個が最小である(計算機による)。品切れの損失が大きいので、予測分布の中央値 2 より多めに持つのが最適になる。
問題 7.4 ★★ X∼B(n,p) とし、最尤推定量 p^=X/n と、一様事前分布のもとでの事後平均 p~=(X+1)/(n+2) の平均二乗誤差を p の関数として求めよ。n=20 のとき、p~ の平均二乗誤差のほうが小さい p の範囲を求めよ。「p~ は不偏でないから p^ より悪い」という主張は正しいか。
解答
u=p(1−p) とおく。p^ は不偏で、平均二乗誤差は u/n。p~ のバイアスは n+2np+1−p=n+21−2p、分散は (n+2)2nu なので(第3章 定理 3.3 のバイアス–バリアンス分解)、平均二乗誤差は (n+2)2nu+(1−2p)2=(n+2)2nu+1−4u である。p~ のほうが小さいのは
n(nu+1−4u)<(n+2)2u⟺n<(8n+4)u⟺p(1−p)>8n+4n
のときである。n=20 なら p(1−p)>20/164、すなわち 0.142<p<0.858。たとえば p=0.5 では 0.0125 対 0.0103 で p~ が勝ち、p=0.05 では 0.00238 対 0.00364 で p^ が勝つ。主張は正しくない。不偏性は平均二乗誤差の小ささを保証せず、どちらも他方を一様には上回らない。購入率が小さいと事前にわかっているなら、一様事前分布ではなくそれを反映した事前分布を使うべきである。
問題 7.5 ★ ある分析者が、A/B テストの改善率について「95% 信頼区間は [0.3,2.1](%)なので、真の改善率が 0.3% 以上である確率は 97.5% である」と報告した。この報告の問題点を述べよ。また、同じ形の確率の主張をするには何が必要か。
解答
信頼区間の 95% は区間を作る手順の性質であり、固定された未知の改善率についての確率ではない。改善率についての確率を述べるには事前分布が必要である。推定値の正規近似のもとで非正則な一様事前分布を使えば、事後分布は推定値を中心とする正規分布になり(注意 7.15)、信用区間が信頼区間と数値として一致するので、その事前分布のもとでは報告の確率は正しい。しかし一様事前分布は「改善率 50% も 1% も同じくらいありうる」という非現実的な仮定である。過去の実験で効果が小さいことが多いなら、例 7.8 のように縮小した事後分布のもとでの確率は 97.5% よりかなり小さくなりうる。どの事前分布を使ったかを明示して述べる必要がある。
問題 7.6 ★★★(実装の誤り)正の値をとるパラメータ σ の事後密度 π(σ) から乱数を作るために、σ′=σeε(ε∼N(0,s2))と提案し、確率 min{1,π(σ′)/π(σ)} で受理するコードを書いた。(1) この提案の密度 q(σ,σ′) を求め、正しい受理確率を導け。(2) 誤ったコードの連鎖は、どんな密度について詳細つり合いをみたすか。
解答
(1) logσ′=logσ+ε なので、N(0,s2) の密度を ϕs とすると、密度の変換公式(第1章 定理 1.18)より q(σ,σ′)=ϕs(logσ′−logσ)/σ′(σ′>0)。ϕs は偶関数なので q(σ′,σ)/q(σ,σ′)=σ′/σ で、正しい受理確率は
α(σ,σ′)=min{1,π(σ)σπ(σ′)σ′}
である。この提案は対称でないので、因子 σ′/σ を落としてはいけない。
(2) 誤ったコードの推移核の連続部分は q(σ,σ′)min{1,π(σ′)/π(σ)} である。ρ(σ)=π(σ)/σ とおくと
ρ(σ)q(σ,σ′)min{1,π(σ)π(σ′)}=σσ′ϕs(logσ′−logσ)min{π(σ),π(σ′)}
は σ,σ′ について対称なので、定理 7.21 の証明と同じ議論により、連鎖は ρ について詳細つり合いをみたす。ρ の積分が有限なら、連鎖は目標の π(σ) ではなく π(σ)/σ に比例する分布を定常分布にもち、σ を小さめに推定する(積分が無限大なら定常分布をもたない)。コードはエラーを出さずに動くので、この種の誤りは気づきにくい。共役な場合など答えのわかる例で、実装を検算することが大切である。
問題 7.7 ★★(ギブスサンプリングの遅さ)(θ1,θ2) が平均 0、分散 1、相関係数 ρ(∣ρ∣<1)の 2 変量正規分布に従うとき、完全条件付き分布は θ1∣θ2∼N(ρθ2,1−ρ2)、θ2∣θ1∼N(ρθ1,1−ρ2) である(第1章 定理 1.23)。θ1,θ2 の順に更新するギブスサンプリングで、t 回目の更新後の第 1 成分を θ1(t) とする。(1) θ1(t+1)=ρ2θ1(t)+ηt(ηt∼N(0,1−ρ4) は θ1(t) と独立)と書けることを示せ。(2) 定常状態での θ1(t) と θ1(t+k) の相関係数を求め、ρ=0.99 のとき、相関係数が 0.05 を下回るには何回の更新が必要か求めよ。
解答
(1) 独立な標準正規乱数 ξt,ζt を使うと θ2(t+1)=ρθ1(t)+1−ρ2ξt、θ1(t+1)=ρθ2(t+1)+1−ρ2ζt と書けるので、θ1(t+1)=ρ2θ1(t)+ηt、ηt=ρ1−ρ2ξt+1−ρ2ζt である。ηt は正規分布に従い、分散は ρ2(1−ρ2)+(1−ρ2)=1−ρ4 である。
(2) 繰り返し代入すると、θ1(t+k) は ρ2kθ1(t) と、θ1(t) と独立な項の和になる。定常状態では分散は 1(定理 7.25 より周辺分布は N(0,1))なので、相関係数は ρ2k である。ρ=0.99 なら 0.9801k<0.05⟺k>log0.05/log0.9801=149.04 で、150 回の更新が必要である。時間平均の分散は、N が大きいとき独立な標本の平均の分散の約 (1+ρ2)/(1−ρ2)=99.5 倍になる(自己相関 ρ2k を足し合わせる計算。省略)。1 万回更新しても、独立な標本 100 個程度の精度しかない。相関の強い成分はまとめて更新するか、相関の弱いパラメータに変換するとよい。
問題 7.8 ★★(ベイズファクター) (1) 例 7.29 の m1(x)=1/(n+1) を示せ。(2) n=100、x=60 のとき、z=2.0、両側の正確な p 値は 0.057、B01=1.10 である(計算機による)。z 値は例 7.29(n=10000, x=5100)と同じなのに、B01 が大きく違う理由を説明せよ。
解答
(1) ベータ関数とガンマ関数の関係(01 微分積分学 第9章 定理 9.18)より
m1(x)=(xn)B(x+1,n−x+1)=x!(n−x)!n!⋅(n+1)!x!(n−x)!=n+11
(2) z を固定すると、観測された割合 x/n=1/2+z/(2n) は n が大きいほど 1/2 に近い。二項分布の確率関数の正規近似 (xn)2−n≈n2ϕ(z)(ϕ は標準正規分布の密度)を使うと
B01=m1(x)m0(x)≈n2(n+1)ϕ(z)≈2ϕ(2)n=0.108n
で、n=100 では約 1.1、n=10000 では約 10.8 と、n に比例して大きくなる。p 値は「H0 から標準誤差の何倍離れているか」だけを見るが、ベイズファクターは、H1 の事前分布が予測する値([0,1] に一様に散らばった p)と比べる。n が大きいと、標準誤差 2 個分のずれは p=1/2 のごく近くを意味し、一様事前分布の H1 よりも H0 のほうがよく説明する。どちらの指標を使うにしても、H1 のもとでどの程度の効果がありうるかを考えずに結論を出すことはできない。