数理統計 第11章 §11.3 ★★ 尤度方程式を反復で解く。Newton 法は2次収束だが初期値に敏感、EM アルゴリズムは尤度を単調に増やすが1次収束。どちらも更新式の導出が小問になる
Newton–Raphson 法
対数尤度 ℓ(θ)(1母数)の最大点を、尤度方程式 ℓ′(θ)=0 の解として求める。現在の値 θk のまわりで ℓ′ を1次まで Taylor 展開すると
ℓ′(θ)≈ℓ′(θk)+ℓ′′(θk)(θ−θk)
である。右辺を 0 とおいて解いた点を次の値にする。
θk+1=θk−ℓ′′(θk)ℓ′(θk).(11.12)
これを Newton–Raphson 法(Newton 法)と呼ぶ。ℓ を θk のまわりで2次式で近似し、その2次式の最大点へ移る、と言い換えることもできる。ℓ′′(θk)<0 ならその2次式は上に凸で、移る先は最大点である。ℓ′′(θk)>0 のところでは2次式が下に凸になり、Newton 法は極小点へ向かう。
母数がベクトル θ∈Rp のときは、次の2つを使う。
s(θ)=∂θ∂ℓ (スコアベクトル),J(θ)=−∂θ∂θ⊤∂2ℓ (観測情報行列)
更新式は
θk+1=θk+J(θk)−1s(θk)(11.13)
とする。J(θ^)−1 は最尤推定量の漸近分散の推定にもなる(第6章)ので、収束したときに標準誤差も同時に得られる。
定理 11.13(Newton 法の2次収束 ★★)
ψ=ℓ′ とおく。ψ は θ^ の近くで2回連続微分可能で、次を満たすとする。
ψ(θ^)=0,ψ′(θ^)=0
このとき、θ^ の十分近くから始めた Newton 法は θ^ に収束する。誤差 ek=θk−θ^ は
ek+1=2ψ′(θk)ψ′′(ξk)ek2(ξk は θk と θ^ の間の点)(11.14)
を満たす。特に ek+1/ek2→ψ′′(θ^)/{2ψ′(θ^)} で、正しい桁数が1回ごとにほぼ2倍になる。
証明
ψ を θk のまわりで、2次の剰余つきで展開する。θ^ で評価すると次を得る。
0=ψ(θ^)=ψ(θk)+ψ′(θk)(θ^−θk)+21ψ′′(ξk)(θ^−θk)2
両辺を ψ′(θk) で割り、Newton の式 (11.12) の θk+1=θk−ψ(θk)/ψ′(θk) を使うと
0=ψ′(θk)ψ(θk)−ek+2ψ′(θk)ψ′′(ξk)ek2=(θk−θk+1)−ek+2ψ′(θk)ψ′′(ξk)ek2=−ek+1+2ψ′(θk)ψ′′(ξk)ek2
となり (11.14) を得る。
次に収束を示す。θ^ の近くの区間 I をとり、その上で次が成り立つとする。
∣ψ′′∣≤A,∣ψ′∣≥B>0,C=2BA
θk∈I かつ C∣ek∣<1 とする。このとき
∣ek+1∣≤C∣ek∣2<∣ek∣
なので、θk+1 も I に入る。帰納的に
C∣ek∣≤(C∣e0∣)2k→0
となる。極限の比は ξk→θ^、θk→θ^ と連続性から従う。
定理は「十分近くから始めれば」という条件つきである。初期値が遠いと、ℓ′′>0 の領域に入って極小点へ向かったり、発散したりする(確認テスト 11.3-5)。実際には、モーメント推定量のような一致推定量を初期値に使う。n 一致推定量(n(θ~−θ) が確率有界になる推定量)から Newton 法を1回だけ行った推定量(ワンステップ推定量)は、最尤推定量と同じ漸近分布を持つことが知られている。
Fisher のスコア法
Newton 法の −ℓ′′(θk)(観測情報量)を、その期待値である Fisher 情報量 In(θk)=nI(θk) に置き換えたもの
θk+1=θk+In(θk)ℓ′(θk)(11.15)
を Fisher のスコア法と呼ぶ。In(θ)>0 なので、ℓ′′ の符号で向きが反転することがなく、Newton 法より安定する。
収束の速さは一般に1次に落ちる。しかし −ℓ′′(θ^)/n と I(θ^) の差は、標本が大きいと小さい。そのため実際の反復回数はあまり変わらない。
自然母数で書いた指数型分布族 f(x∣θ)=h(x)exp{θT(x)−A(θ)} では、ℓ′′(θ)=−nA′′(θ) がデータによらないので、観測情報量とFisher 情報量が一致し、スコア法と Newton 法は同じ反復になる(確認テスト 11.3-1)。第9章のロジスティック回帰の最尤推定でスコア法を使うと、各反復が重み付き最小2乗法の形になる。これを反復重み付き最小2乗法(IRLS)と呼ぶ。
例題 11.4 0 を除いた Poisson 分布の最尤推定値を Newton 法で求める ★★
オリジナル0 が観測されない Poisson 分布(ゼロ切断 Poisson 分布)
P(X=x)=x!(1−e−λ)e−λλx(x=1,2,…)
から n 個の観測を得て、標本平均が xˉ だったとする。
- 尤度方程式が λ/(1−e−λ)=xˉ になることを示せ。
- Newton 法の更新式を書け。
- n=50、xˉ=2 とする。初期値 λ0=xˉ=2 から3回反復した値を小数第4位まで求め、収束の様子を述べよ。
解答
(1) 対数尤度は、λ によらない項を除いて
ℓ(λ)=nxˉlogλ−nλ−nlog(1−e−λ)
である。微分すると
ℓ′(λ)=λnxˉ−n−1−e−λne−λ=λnxˉ−1−e−λn
(1+e−λ/(1−e−λ)=1/(1−e−λ) を使った)。ℓ′(λ)=0 を整理すると xˉ=λ/(1−e−λ) である。右辺はゼロ切断 Poisson 分布の平均 E[X] なので、最尤推定量はモーメント推定量と一致する。この方程式は λ について解けない。
(2) 2階微分は
ℓ′′(λ)=−λ2nxˉ+(1−e−λ)2ne−λ
(dλd(1−e−λ)−1=−e−λ(1−e−λ)−2 に負号が付く)。Newton 法は
λk+1=λk−ℓ′′(λk)ℓ′(λk)=λk−−xˉ/λk2+e−λk/(1−e−λk)2xˉ/λk−1/(1−e−λk)
で、n は約分されて消える。
(3) λ0=2 とする。e−2=0.13534、1−e−2=0.86466 である。これを使うと
ℓ′(λ0)/nℓ′′(λ0)/nλ1=1−1.15652=−0.15652,=−0.5+0.13534/0.74764=−0.31898,=2−0.15652/0.31898=1.5093
となる。同じ計算を続けると
λ1=1.5093,λ2=1.5897,λ3=1.5936,
で、λ4 以降は小数第4位まで 1.5936 のまま変わらない。真の解 λ^=1.593624… との誤差は0.406, 0.084, 0.0039, 8×10−6 と減り、1回ごとにほぼ2乗になっている(定理 11.13)。ℓ′′(λ^)/n≈−0.4675 より、標準誤差の推定は 1/50×0.4675≈0.207 である。
EM アルゴリズム
観測データ y だけでは尤度が複雑でも、観測されなかったデータ z があれば尤度が簡単になる、という場合がある。典型的な例は次の3つである。
- 打ち切りのある寿命データ:打ち切られた個体の本当の寿命が z。
- 混合分布:各観測がどの成分から来たかのラベルが z。
- いくつかのセルがまとめて観測された多項分布:まとめられる前の内訳が z。
(y,z) を完全データと呼び、その密度を fc(y,z∣θ) と書く。完全データの対数尤度を ℓc(θ)=logfc(y,z∣θ) と書く。観測データの尤度と対数尤度は
L(θ)=∫fc(y,z∣θ)dz,ℓ(θ)=logL(θ)
である。
定義 11.14(EM アルゴリズム)
初期値 θ0 から、k=0,1,2,… について次の2段を繰り返す。
- E ステップ:観測データと現在の値 θk のもとでの z の条件付き分布で、完全データの対数尤度の期待値をとる。
Q(θ∣θk)=Eθk[ℓc(θ)y]=∫logfc(y,z∣θ)k(z∣y,θk)dz.(11.16)
ここで k(z∣y,θ)=fc(y,z∣θ)/L(θ) は、観測データを与えたときの欠測部分の条件付き密度である。2. M ステップ:Q(θ∣θk) を最大化する点を、次の値 θk+1 とする。
名前は Expectation(期待値)と Maximization(最大化)の頭文字である(Dempster–Laird–Rubin が一般の形にまとめた)。完全データの分布が、指数型分布族
exp{θ⊤T(y,z)−A(θ)}
の形だとする。このとき ℓc は十分統計量 T について1次式なので、計算は次のように簡単になる。
- E ステップは、T の条件付き期待値 Tk=Eθk[T∣y] を計算するだけでよい。
- M ステップは、完全データの最尤推定量の式の T に Tk を入れるだけになる。
定理 11.15(EM アルゴリズムは尤度を減らさない ★★)
EM アルゴリズムの列は ℓ(θk+1)≥ℓ(θk) を満たす。
証明
まず次の分解から始める。
fc(y,z∣θ)=L(θ)k(z∣y,θ)
この対数をとり、両辺を k(z∣y,θk) で積分する。ℓ(θ) は z によらないので
ℓ(θ)=Q(θ∣θk)−H(θ∣θk),H(θ∣θk)=∫logk(z∣y,θ)k(z∣y,θk)dz(11.17)
を得る。H について、Jensen の不等式(log は凹)から
H(θ∣θk)−H(θk∣θk)=∫logk(z∣y,θk)k(z∣y,θ)k(z∣y,θk)dz≤log∫k(z∣y,θ)dz=log1=0
である(左辺は Kullback–Leibler 情報量に負号を付けたもの)。したがって
ℓ(θk+1)−ℓ(θk)={Q(θk+1∣θk)−Q(θk∣θk)}−{H(θk+1∣θk)−H(θk∣θk)}≥0.
第1の括弧は M ステップの定義から 0 以上、第2の括弧は今示したとおり 0 以下である。
証明からわかるとおり、M ステップで Q を最大化しきらなくても単調性は保たれる。Q(θk+1∣θk)≥Q(θk∣θk) となる θk+1 を選べばよい(一般化 EM)。
また (11.17) を θ で微分すると、次が分かる。H(⋅∣θk) は θ=θk で最大なので、
ℓ′(θk)=∂θ∂Q(θ∣θk)θ=θk
である。
EM の不動点 θ∗ をとる。つまり θk=θ∗ なら θk+1=θ∗ となる点である。
これが Q(⋅∣θ∗) の内点の最大点なら、そこで ∂Q/∂θ=0 である。すなわち ℓ′(θ∗)=0 となり、不動点は尤度方程式の解である。
ただし単調性が保証するのは尤度が増え続けることだけで、大域的な最大点への収束は保証されない。尤度に複数の山がある混合分布では、初期値を変えて何回か走らせる。
例題 11.5 打ち切りのある指数分布の EM アルゴリズム ★★
オリジナルn 個の部品の寿命が独立に Ex(λ) に従う。そのうち r 個は、時刻 ti で故障が観測された。残りの n−r 個は、時刻 ci で観測が打ち切られた。打ち切られた個体については、寿命が ci より長いことだけが分かる。
観測された時間の合計を T=∑故障ti+∑打ち切りci とする。
- 観測データの対数尤度を書き、最尤推定量が λ^=r/T であることを示せ。
- 打ち切られた個体の本当の寿命を欠測データとして、E ステップと M ステップを書き、EM の更新式が λk+1=n/{T+(n−r)/λk} になることを示せ。
- 更新式の不動点が λ^ であることを示せ。また、その近くで誤差が
λk+1−λ^≈nn−r(λk−λ^)
と1次で減ることを示せ。4. (n,r,T)=(10,6,30)、初期値 λ0=1 とする。λ1,λ2,λ3 を求めよ。
解答
(1) 故障した個体の寄与は密度 λe−λti、打ち切られた個体の寄与は生存確率 P(X>ci)=e−λci なので
L(λ)=故障∏λe−λti打ち切り∏e−λci=λre−λT,ℓ(λ)=rlogλ−λT.
ℓ′(λ)=r/λ−T=0 から λ^=r/T を得る。ℓ′′=−r/λ2<0 なので、これは最大点である。
(2) 打ち切られた個体の本当の寿命を zi とすると、完全データの対数尤度は
ℓc(λ)=nlogλ−λ(故障∑ti+∑zi)
である。E ステップでは zi の条件付き期待値が要る。X>ci を与えたときの超過分 X−ci は、無記憶性から元と同じ指数分布に従う。よって
Eλk[zi∣zi>ci]=ci+λk1
である。したがって
Q(λ∣λk)=nlogλ−λ{故障∑ti+打ち切り∑(ci+λk1)}=nlogλ−λ(T+λkn−r).
M ステップでは ∂Q/∂λ=n/λ−(T+(n−r)/λk)=0 を解いて
λk+1=T+(n−r)/λkn
を得る。完全データの最尤推定量「個数÷総時間」の総時間に、打ち切られた個体の残り寿命の期待値 1/λk を足したものになっている。
(3) 更新式を λk+1=g(λk)、g(λ)=nλ/(λT+n−r) と書く。不動点の方程式 λ=g(λ) を整理すると λT+n−r=n となる。その解は λ=r/T=λ^ である。
微分は g′(λ)=n(n−r)/(λT+n−r)2 である。λ=λ^ では分母が (r+n−r)2=n2 になるので、
g′(λ^)=nn−r
である。λk+1−λ^=g(λk)−g(λ^)≈g′(λ^)(λk−λ^) より、誤差は1回ごとに約 (n−r)/n 倍になる。欠測の割合が大きいほど収束が遅い。
(4) T=30、n−r=4 なので、更新式は次のようになる。
λk+1=30+4/λk10
順に代入すると
λ1=3410=0.2941,λ2=30+13.610=0.2294,λ3=30+17.4410=0.2108.
λ^=6/30=0.2 との誤差は、順に 0.094, 0.029, 0.011 である。隣り合う誤差の比はおよそ 0.31, 0.37 で、g′(λ^)=0.4 に近づいていく。
収束の速さと欠測情報
例題 11.5 の収束率 (n−r)/n は、一般の EM アルゴリズムの性質の特別な場合である。(11.17) を2回微分して θ^ で評価する。次の2つの情報量を定める。
Ic=−∂θ2∂2Q(θ∣θ^)θ^ (完全データの情報量),Im=−∂θ2∂2H(θ∣θ^)θ^ (欠測データの情報量)
観測データの情報量は、その差 −ℓ′′(θ^)=Ic−Im になる。EM の収束率(更新の写像の θ^ での微分)は
g′(θ^)=IcIm=1−Ic−ℓ′′(θ^)(11.18)
で、完全データの情報のうち欠測で失われた割合に等しい。例題では Ic=n/λ^2、−ℓ′′(λ^)=r/λ^2 である。よって g′=1−r/n=(n−r)/n となり、(3) と一致する。

図 11.2 例題 11.5 の打ち切りデータ(λ^=0.2)で、EM(実線、λ0=1)と Newton 法(破線、λ0=0.3)の誤差を対数目盛で比べた。EM の誤差は直線的(毎回約 0.4 倍)に減り、Newton 法の誤差は折れ曲がって急に減る(毎回ほぼ2乗)。Newton 法の更新式と初期値の条件は確認テスト 11.3-2 で導く
図 11.2 のとおり、EM は1次収束で Newton 法より遅いが、尤度を減らさないので初期値が遠くても破綻しない。Newton 法は2次収束だが、この例では初期値 λ0=1 から始めると最初の1回で負の値に飛んで発散する。実務では、EM で解の近くまで進めてから Newton 法に切り替えることもある。また EM では ℓ′′ が計算されないので、最尤推定量の標準誤差は収束後に別途 (11.18) の関係などを使って求める必要がある。
有限混合分布
EM アルゴリズムが最もよく使われる場面は混合分布である。密度が
f(x∣θ)=πϕ(x;μ1,σ12)+(1−π)ϕ(x;μ2,σ22)
の2成分の正規混合を考える(ϕ(⋅;μ,σ2) は正規密度)。対数尤度 ∑ilogf(xi∣θ) では対数の中に和があるので、尤度方程式は解けない。各観測が成分1から来たかどうかを表すラベル zi∈{0,1}(成分1なら 1)を欠測データとすると、完全データの対数尤度は
ℓc=i=1∑n[zi{logπ+logϕ(xi;μ1,σ12)}+(1−zi){log(1−π)+logϕ(xi;μ2,σ22)}]
で、zi について1次式である。E ステップでは zi をその条件付き期待値(Bayes の定理による事後確率)
wi(k)=Eθk[zi∣xi]=πkϕ(xi;μ1,k,σ1,k2)+(1−πk)ϕ(xi;μ2,k,σ2,k2)πkϕ(xi;μ1,k,σ1,k2)(11.19)
で置き換える。M ステップは、wi(k) を重みとした重み付きの最尤推定で
πk+1=n1i∑wi(k),μ1,k+1=∑iwi(k)∑iwi(k)xi,σ1,k+12=∑iwi(k)∑iwi(k)(xi−μ1,k+1)2
となる(成分2は wi(k) を 1−wi(k) に替える)。導出は確認テスト 11.3-4 で行う。
なお、2つの分散を別々に推定する正規混合では、大域的な最大点は存在しない。μ1=xi として σ1→0 とすると、尤度が無限大に発散するからである。EM で求めるのは尤度方程式の解のうち、分散が 0 に退化していない局所的な最大点である。
確認テスト
オリジナル
- 11.3-1 自然母数の1母数指数型分布族
f(x∣θ)=h(x)exp{θT(x)−A(θ)}
から n 個の観測を得る。観測情報量 −ℓ′′(θ) が Fisher 情報量 In(θ) に一致することを示せ。したがって Newton 法とスコア法が同じ反復になることを説明せよ。2. 11.3-2 例題 11.5 の対数尤度 ℓ(λ)=rlogλ−λT に Newton 法を使う。更新式が λk+1=2λk−λk2T/r になることを示せ。誤差 ek=λk−λ^ が ek+1=−(T/r)ek2 を厳密に満たすことを示せ。0<λ0<2λ^ のとき、かつそのときに限り λ^ に収束することを示せ。3. 11.3-3 4つのセルの多項分布を考える。セルの確率は
(21+4θ, 41−θ, 41−θ, 4θ)(0<θ<1)
で、観測度数は (y1,y2,y3,y4)=(80,25,21,24) とする。第1セルを確率 21 の部分と 4θ の部分に分けた内訳を欠測データとして、EM の更新式を導け。θ0=0.5 から θ1 を求めよ。また、尤度方程式を2次方程式に直して最尤推定値を求めよ。4. 11.3-4 2成分の正規混合で、両成分の分散が 1 と既知、未知母数が (π,μ1,μ2) であるとする。M ステップの更新式
πk+1=n1∑wi(k),μ1,k+1=∑wi(k)∑wi(k)xi
を Q の最大化から導け。5. 11.3-5 位置母数の Cauchy 分布 f(x∣θ)={π(1+(x−θ)2)}−1 から1個の観測 x=0 を得た。Newton 法の更新式が
θk+1=−1−θk22θk3
になることを示せ。さらに次を示せ。
- ∣θ0∣<1/3 なら θ^=0 に収束する。
- ∣θ0∣>1/3(∣θ0∣=1)なら収束しない。
AI(Claude)が書いた教材を、木下が勉強しながら公開しています。式と数値は検算していますが、誤りが残っているかもしれません。誤りのご指摘・削除のご依頼をいただければ直します。 連絡先:support@tecktom.com