特集のコラム記事に関するQ and A (伊庭幸人) (随時訂正・加筆します.2017/06/26 細部に加筆)

[状態空間モデルのパラメータ推定]

Q.「状態空間モデルを階層ベイズモデルの一種とみなす」ことの実用上の意味はなんでしょうか.

dlmやKFASで計算した結果とStanやJAGSでの計算結果を比較検討することができます.より発展的には,状態空間モデルに階層構造を組み込むなど,より自由なモデリングを行う契機になると思います.

Q.状態空間モデルの信頼区間について「(異論はあるかもしれないが)ベイズ信頼区間(確信区間)の一種」とありますが,どのような「異論」が想定されるのでしょうか.

カルマンフィルタについては,ベイズ的な面を表に出さないで「マルコフの定理による最良線形推定」という枠組みで論じているテキストがあります.この方向を推し進めれば,状態の信頼区間についても非ベイズ的な解釈ができるかもしれない,と考えたので,やや控えめな表現をしました.ただし,何人かの方に聞いたり,本を見た範囲では,信頼区間について明示的にそうした方向で説明したものは見つかりませんでした.また,仮にそういう解釈が可能でも,それを線形ガウスモデル以外にもうまく適用することができるのかは,よくわかりません.

Q. MCMCで求めたパラメータの周辺事後分布をdlmやKFASで再現することはできないでしょうか?

考えているパラメータが少なければ可能です.1次元の場合で大さっぱに説明すると,まずパラメータの考えている範囲(事後密度のほとんどを含むと思われる範囲)を等間隔に分割して各点で尤度(周辺尤度)の値を求めます.これは伊東の記事にある関数,たとえばdlmならdlmLLの符号を反転したもので可能です.次にパラメータの事前分布の値を各点で求めて,これをそれぞれの点の尤度に乗じます.最後に全体を1に規格化します.このやり方を知っていると,MCMCが不安定になったときのチェックに便利です.※等間隔でなくてもできますが,その場合は(等間隔になるような)変数変換のヤコビ行列式に相当するものを考慮する必要があるでしょう.

Q. 状態空間モデルで状態xとパラメータθの同時分布を最大化して推定したらダメですか?

おそらくダメだと思います.状態x が連続変数の場合には積分(周辺化)するのと最大化するので挙動が大きく違ってきます.離散状態の隠れマルコフモデル(HMM)の場合はもう少し微妙かもしれません.

[推定のための計算手法の比較]

Q. KFASでは観測モデルがポアソン分布や2項分布の場合をどう扱っていますか

こちら からダウンロードできる論文に書いてあります.

基本的にはラプラス近似で,その計算の一部をカルマンフィルタで行っているという感じです.これが,いわゆる「拡張カルマンフィルタ」の一種かといわれると,少し違うような気もしますが,はっきりわかりません.すみません.

Q. 「粒子フィルタ」と「逐次モンテカルロ法」は同じものでしょうか.

用語の使い方はいろいろあると思いますが,この巻(DS6)では状態空間モデルへの応用を考えているので,平滑化への応用も含めて「粒子フィルタ」を主に使っています.ほぼ同じ意味で「逐次モンテカルロ法」といっても通じると思います.北川の原論文では「モンテカルロフィルタ」となっています.

一方,粒子のリサンプリングを利用した同様の方法はいろいろな目的や分野で(しばしば相互に独立に)発見されて使われています.状態空間モデルに近いほうからいうと,(1)時間を含まないベイズモデル(時間の経過を追う代わりにしだいにデータを増やしたり温度を下げたりする),(2)ベイズではない統計の問題(たとえば分割表の数の推定),(3)量子力学・統計物理・力学系や分子シミュレーションのレアイベントなどデータ解析に関係ない応用,があります.これらを総称するのには「逐次モンテカルロ法」あるいは「粒子モンテカルロ法」といった表現が適しているかもしれません.

なお,遺伝的アルゴリズムなども類似の発想を含んでいますが,これらは最適化が目標で,明示的に与えられた確率分布を正しく扱うことを目指している逐次モンテカルロ法とは少し違った面があります.

Q. 「レプリカ交換モンテカルロ法」と「逐次モンテカルロ法」は同じものでしょうか.

まったく違うものです.大枠でいうと「レプリカ交換モンテカルロ法」(パラレルテンパリングとかMCMCMCともいう)はMCMCの一種ですが,逐次モンテカルロ法あるいは粒子フィルタはそうではありません.具体的な違いとしては,たとえば,レプリカ交換モンテカルロ法のレプリカは互いに独立ですが,逐次モンテカルロ法はそうではありません.レプリカ交換モンテカルロ法はステップ数無限大の極限で収束しますが,逐次モンテカルロ法は粒子数無限大の極限で収束します.

※ 「レプリカ交換モンテカルロ法のやりたいこと」を逐次モンテカルロ法の枠内で実現する手法(時間が増大するのではなく温度が下がるにつれて粒子が分裂する)はいくつかあります(population annealing, TMCMC, 少し違うがNested Sampling).ただこれらはそれほどポピュラーでなく今のところ上級向きの知識になります.

[隠れマルコフモデルと状態空間モデル]

Q. 図だと「隠れマルコフモデル」ではなく,ただの「マルコフ連鎖モデル」では.

すみません.本文にある通り「状態遷移の部分」を図に示したつもりで,出力の観測はこの外にあります.

Q. 隠れマルコフモデル(HMM)と状態空間モデルの計算で「よく使われる公式に見かけ上の違い」とありますが,わざわざ「よく使われる」と限定した理由は?

状態空間モデルでも「左右からやってがっちゃんこする」タイプの公式もあって,たとえば北川もそれについての論文を書いています.細かくみれば計算量やメモリの必要量などで違いがあるのだと思いますが,本質的には同じ式がいろいろ書けるわけです.ここでは「よく教科書などで見かける式が違う」という点を注意しました.PRMLなどにはこの注意がありますが,自分が学んだときはかなり戸惑いました.

Q. AR(n)モデル(状態空間モデルで表現したときの状態ベクトルの空間がn次元)にはn個の「特性根」があります.これを,マルコフ連鎖モデルだと思うと,状態ベクトルの空間が無限次元のモデルになって,その遷移作用素の固有値(に相当するもの)は無限個あるはずです.これらはどう対応するのでしょうか.

これは高度な質問です.たぶん以下のような解答になるのではないでしょうか.ARモデルのn個の特性根と対応する固有ベクトルは期待値の挙動を決めています.これに対して,同じプロセスを連続状態のマルコフ過程だと思うと「任意の形状の初期確率分布がn変量のガウス分布に収束してゆく」過程を決めるのが遷移作用素のスペクトルと固有関数で,後者は前者を(大雑把な表現ですが)含むもっと複雑な問題なのだと思います.実際にARモデルの状態を離散化して遷移作用素の行列近似を作って数値的に対角化してみるのは面白いと思いますが,まだやってみたことはありません.