シミュレーションスムーザを採用する．1 節でも述べたが, Boivin and Giannoni (2006), Kryshko (2010) は, 状態変数の平滑法して Carter and Kohn (1994) の手法を採用している．しかし Carter and Kohn (1994) は, Chib (2001, p.3614) でも指摘があるように, 状態変数の分散共分散行列のサンプリング中に非正定値行列が発生することでサンプリングが中断してしまうという問題が生じる．そのため, 先行研究ではアドホックに状態変数の分散共分散行列を設定し推定を行っている．他方で, 本稿が採用するシミュレーションスムーザではこのような問題が発生しないので, 本稿の推定法は, 観測誤差をもつ DSGE モデルに対するより汎用的な推定法であるということができる．

以下に示すアルゴリズムのステップを簡易に表現するために, 3.1 節の (3.4), (3.5) の状態空間モデルを次の (3.7), (3.8) として書き直そう.

$$ \begin{array}{r l r}{\tilde{\boldsymbol{X}}_{t}}&{=}&{\tilde{\boldsymbol{\Lambda}}\tilde{\boldsymbol{S}}_{t}+\boldsymbol{\nu}_{t},\qquad\boldsymbol{\nu}_{t}\sim N(\mathbf{0},\boldsymbol{R}),}\end{array} $$

$$ \begin{array}{r l r}{\tilde{\pmb S}_{t}}&{=}&{\tilde{\pmb G}\tilde{\pmb S}_{t-1}+\tilde{\pmb H}\pmb\varepsilon_{t},\qquad\pmb\varepsilon_{t}\sim N(\mathbf{0},\pmb Q(\pmb\theta)),}\end{array} $$

シミュレーションスムーザを行うために, まずカルマンフィルタが行われる. この状態空間モデルのカルマンフィルタは以下の式から構成される.

$$ \eta_{t}=\tilde{\boldsymbol{X}}_{t}-\tilde{\boldsymbol{\Lambda}}\tilde{\boldsymbol{S}}_{t|t},\qquad\boldsymbol{F}_{t}=\tilde{\boldsymbol{\Lambda}}\tilde{\boldsymbol{P}}_{t|t}\tilde{\boldsymbol{\Lambda}}^{\prime}+\boldsymbol{R},\qquad\boldsymbol{K}_{t}=\tilde{\boldsymbol{G}}\tilde{\boldsymbol{P}}_{t|t}\tilde{\boldsymbol{\Lambda}}^{\prime}\boldsymbol{F}_{t}^{-1}, $$

$$ \boldsymbol{L}_{t}=\tilde{\boldsymbol{G}}-\boldsymbol{K}_{t}\tilde{\boldsymbol{\Lambda}},\qquad\tilde{\boldsymbol{S}}_{t+1|t+1}=\tilde{\boldsymbol{G}}\tilde{\boldsymbol{S}}_{t|t}+\boldsymbol{K}_{t}\boldsymbol{\eta}_{t},\qquad\tilde{\boldsymbol{P}}_{t+1|t+1}=\tilde{\boldsymbol{G}}\tilde{\boldsymbol{P}}_{t|t}\boldsymbol{L}_{t}^{\prime}+\tilde{\boldsymbol{H}}\boldsymbol{Q}(\boldsymbol{\theta})\tilde{\boldsymbol{H}}^{\prime} $$

ここで $ \eta_{t} $ は予測誤差, $ K_{t} $ はカルマンゲイン, $ \tilde{P}_{t} $ は状態変数 $ \tilde{S}_{t} $ の共分散行列である. これら $ \tilde{S}_{t|t}, \tilde{P}_{t|t} $ のフィルタリングは $ t=1,2,\cdots,T $ に対して前向きに順次おこなわれる. また, 初期値 $ \tilde{S}_{1|1}, \tilde{P}_{1|1} $ は $ \tilde{X}_{1} = \tilde{\Lambda}\tilde{S}_{1}, \tilde{P}_{1|1} = \tilde{G}\tilde{P}_{1|1}\tilde{G}' + \tilde{H}Q(\theta)\tilde{H}' $ から与えられる. ただし $ S_{t|t} $ の添え字 $ t|t $ は期間 t までの $ X_{t} $ による条件付き期待値 $ E(S_{t}|X_{1}, X_{2}, \cdots, X_{t}) $ を表す.

次に, シミュレーションスムーザは, カルマンフィルタよって得た値を使って以下の式(3.9), (3.10) から $ t = T, \cdots, 2, 1 $ に対して後ろ向きに順次行い, $ r_{t-1}, N_{t-1} $ が算出される.

$$ \begin{array}{r l r}{\pmb{r}_{t-1}}&{=}&{\tilde{\boldsymbol{\Lambda}}^{\prime}\pmb{F}_{t}^{-1}\pmb{\eta}_{t}-\pmb{W}_{t}^{\prime}\boldsymbol{C}_{t}^{-1}\pmb{d}_{t}+\pmb{L}_{t}^{\prime}\pmb{r}_{t},}\end{array} $$

$$ \begin{array}{r l r}{{\bf N}_{t-1}}&{=}&{\tilde{\bf\Lambda}^{\prime}{\bf F}_{t}^{-1}\tilde{\bf\Lambda}+{\bf W}_{t}^{\prime}{\bf C}_{t}^{-1}{\bf W}_{t}+{\bf L}_{t}^{\prime}{\bf N}_{t}{\bf L}_{t},}\end{array} $$

ここで $ W_{t} $ および $ C_{t} $ は以下の式から算出される。

$$ \begin{align*}\boldsymbol{W}_{t}&=\boldsymbol{Q}(\boldsymbol{\theta})\tilde{\boldsymbol{H}}^{\prime}\boldsymbol{N}_{t}\boldsymbol{L}_{t},\\\boldsymbol{C}_{t}&=\boldsymbol{Q}(\boldsymbol{\theta})-\boldsymbol{Q}(\boldsymbol{\theta})\tilde{\boldsymbol{H}}^{\prime}\boldsymbol{N}_{t}\tilde{\boldsymbol{H}}\boldsymbol{Q}(\boldsymbol{\theta}),\end{align*} $$

また確率変数 $ \pmb{d}_{t} $ は $ N(\mathbf{0}, \pmb{C}_{t}) $ からサンプリングされる．初期値として $ \pmb{r}_{T} = 0, \pmb{N}_{T} = 0 $ 設定される．

構造ショックの推定値 $ \hat{\varepsilon}_{t|T} $ のスムージングは, これらの値を使い次式によって後ろ向きに算出される. ただし $ \hat{\varepsilon}_{t|T} $ の添え字 t|T は全期間 T までの $ X_{T} $ による条件付き期待値 $ E(\varepsilon_{t}|X_{1}, X_{2}, \cdots, X_{T}) $ を表す.

$$ \hat{\varepsilon}_{t|T}=Q(\boldsymbol{\theta})\tilde{\boldsymbol{H}}^{\prime}\boldsymbol{r}_{t}+\boldsymbol{d}_{t},\qquad\boldsymbol{d}_{t}\sim N(\mathbf{0},\boldsymbol{C}_{t}),\qquad t=T,\cdots,2,1 $$