今回は特に図を再現するわけでもなくコードを動かすわけでもないのだが,自学のために10章の階層ベイズモデルの生成過程を丁寧に追ってみて,グラフィカルモデルを描いてみた.
10章の階層ベイズモデルで用いる実験条件
まずは実験条件の確認.今回は,植物から得られる種子数と施肥処理の有無の関係を調べる.対象となる植物100個体はそれぞれ10個体ずつ植木鉢に植えられており,その植木鉢のうち半分は施肥処理がされている.つまり,植物50個体は無処理で,もう半分の50個体は施肥処理がされた個体である.その植物個体からそれぞれ種子を採取し,施肥処理の有無による種子数の変化をみる.
これだけ見ると無処理と施肥処理の植物個体の種子数の平均を見れば何となく分かりそうだが,今回はしっかりとモデルを組んで,どの要因がどれだけ影響するのかといったことまでも含めて解析を行なう.今回の話の筋としては,単純に平均で考えたりGLMで調べると施肥処理の効果はありそうという結果が出るけれども,場所差・個体差などの擬似反復の要素を取り入れたモデルを組めば施肥処理の効果は無いという結論を導くといった流れになっている.
潜在変数モデルと生成過程,グラフィカルモデル
ここからは,本書の内容に自分の知識や人から教わった内容を組み合わせて解釈した内容となっている.そのため,本書に書いていない内容を扱ったり著者の意向に沿わない書き方をしているかもしれないので,その辺りはご注意を.
今回考慮する個体差や場所差という要素は,本書7章でも定義しているように「人間が測定出来無い・測定できなかった」数量や因子である.こういった要素というのは一般に「潜在変数」と言い,これを組み込んだモデルは「潜在変数モデル」と呼ばれる.ベイズモデルにおいてはパラメータはある真の値を持つ数学的な変数ではなく,何らかの分布をもつ確率変数として扱う.そのため,非ベイズで考えていたパラメータ自体を,潜在変数とハイパーパラメータのような組み合わせで表現することができる.
また,観測データがどのような確率モデルによって生成されたかをモデルとして表現することを,生成モデルまたは生成過程と呼ぶ.そして,モデルを図式的に記述するために用いるのがグラフィカルモデルである.特に今回の場合では確率分布を表すので,確率的グラフィカルモデルとも呼ばれる.
10章の階層ベイズモデルを生成過程やグラフィカルモデルで記述してみる
それでは実際に,上で説明した実験条件を生成過程やグラフィカルモデルで表してみる.といっても本書とかけ離れた難しいことをやりたいわけではなくて,下で示す生成過程はBUGS言語を数式に直しただけだし,グラフィカルモデルは基本的に本書P.238の図10.8とほぼ同じような内容となっている.
生成過程
グラフィカルモデル
グラフィカルモデルの表記について
四角で囲っている部分はプレートと呼ばれ,複数のノードをひとつにまとめたものである.今回は例で言えば,の100個のノードを横一列に並べて全て描き表すかわりに,プレートを使って一つのノードを代表させている.また,をと書いているのは,生成過程での2つのイテレーションの内側にあるということを強調するためである.その割には場所差をと表記しているが,こちらは本書に準拠した書き方をしている.なお,ここでは施肥処理の有無であるは観測値なので一応入れていない
あと,変数やパラメータの書き方に色々と流儀はあるようだが,今回はあまり気にしていない.PRML風に書くならば,を塗りつぶされた小さな点で表現して,のノードを影付けする感じだろうか.
グラフィカルモデルから数式への変換
グラフィカルモデルの何が嬉しいかといえば条件付き独立性が云々という話など色々とあるようだが,個人的な感覚としては,グラフィカルモデルをぱっと見るだけでモデルで考慮すべき事前分布がにかかるすべての確率変数の積で書けるということがわかるというのは結構大きい気がする.ちなみに,グラフィカルモデルのプレートで表している部分がと対応している.
イテレーションの階層構造について
本書では個体番号により植木鉢が決まるとしているため,個体番号のイテレーションの中にが入る形となっている.個人的には「個体番号1の植木鉢Aの個体」よりかは「植木鉢Aの個体番号1の個体」のような階層構造にしたほうがイメージしやすいと思うが,今回は場所差と個体差は独立ということなので,どちらにせよ結果は変わらないはず.
おまけ
カフェでsyou6162にグラフィカルモデルについて教えを乞う図.ケーキを食べながら必死にお絵かきしてました.