LoginSignup
0
0

More than 3 years have passed since last update.

カルマンフィルターその3

Posted at

カルマンフィルターの公式の解説

今回はカルマンフィルターに関して、1期先の予測値に関する式展開を行いながら、前回のカルマンフィルターその2の内容を解説する。一見複雑な式展開に見えるが、確率統計の考え方が身についている方であれば、高校レベルの数学の式展開程度であることをご理解頂けると思う。また確率統計もそれほど複雑なものではなく、平均と分散の考え方のみである。尚、これまで断りがなかったが、各変数はベクトルであることに留意する。

1期先の状態変数の予測値

$ \tilde \beta_t $を1つ前の期の情報で推定するということは、次のことを言う。
$$\hat \beta_{t|t-1} = E_{t-1}[\tilde \beta_t|\Omega_{t-1}] = E_{t-1}[d + \tilde
\phi\tilde \beta_{t-1} + \tilde v_t|\Omega_{t-1}]$$
右辺への展開には前回のカルマンフィルターその2で示した状態方程式(2)を用いている。そして、和の期待値は期待値の和になるので、次のようになる。

$$ = E_{t-1}[d |\Omega_{t-1}] + E_{t-1}[\tilde
\phi\tilde \beta_{t-1}|\Omega_{t-1}] + E_{t-1}[\tilde v_t|\Omega_{t-1}]$$
上式の第1項は定数の期待値なので、定数になる。また第3項の$\tilde v_t$は$ N(0, \sigma^2_v)$に従う確率変数であり定義に従い、その期待値は0になる。したがって、次のようになる。
$$ = d + \tilde \phi \hat\beta_{{t-1}|{t-1}} + 0 $$
ここで、第2項が$E_{t-1}[\tilde
\phi\tilde \beta_{t-1}|\Omega_{t-1}] = \tilde \phi\hat \beta_{{t-1}|{t-1}}$と置き換わっているが、$\tilde \phi$は係数であり期待値オペレータの前に出せる。$E_{t-1}[\tilde \beta_{t-1}|\Omega_{t-1}]$とは、$\beta$をt-1期の情報を用いて、t-1期の値を推定することを意味する。そのことを$\hat\beta_{{t-1}|{t-1}}$と置き換えているに過ぎない。但し、$\hat\beta$ にハットがついていることに注意する。なお、これは次回のブログで解説するフィルタリングをしていることに他ならないが、この話は次回に譲る。ここまでの話をまとめると、次のようになる。

$$\hat \beta_{t|t-1} \equiv E_{t-1}[\tilde \beta_t|\Omega_{t-1}] = d + \tilde \phi \hat\beta_{{t-1}|{t-1}}\tag{9}$$

これが、1期前の情報を使って、今期の$\beta$を推定したことを意味し、その値は推定した$\hat\beta$に$\tilde \phi$をかけて、定数$d$を加えた値となっている。

1期先の状態変数の分散の予測値

まず、確率変数$X$の期待値を$E(X)=\mu$としたとき、その分散は$E[(X-\mu)(X-\mu)']$とかける。
同様に1期先の状態変数の分散は次の式になる。$'$は転置を意味する。
$$\hat \Sigma_{t|t-1} = E_{t-1}[(\beta_t - \hat\beta_{t|t-1})(\beta_t - \hat\beta_{t|t-1})'] $$
上記の(9)を用いると、次のように展開できる。

$$=E_{t-1}[(\beta_t -(d + \tilde \phi \hat\beta_{{t-1}|{t-1}}))(\beta_t -(d + \tilde \phi \hat\beta_{{t-1}|{t-1}}))'] $$

さらに、状態方程式(2)を展開すると次のようになる。
$$=E_{t-1}[((d + \tilde \phi\tilde \beta_{t-1} + \tilde v_t) -(d + \tilde \phi \hat\beta_{{t-1}|{t-1}}))((d + \tilde \phi\tilde \beta_{t-1} + \tilde v_t) -(d + \tilde \phi \hat\beta_{{t-1}|{t-1}}))'] $$

上記式の期待値オペレータの中を整理すると次のようになる。

$$=E_{t-1}[(\tilde \phi(\tilde \beta_{t-1} -\hat\beta_{{t-1}|{t-1}}) + \tilde v_t)(\tilde \phi(\tilde \beta_{t-1} -\hat\beta_{{t-1}|{t-1}}) + \tilde v_t)']$$
上記の期待値オペレータの中の展開にあたり、$E(\tilde v_t)=0$であることを利用すると次のようになる。

$$=E_{t-1}[(\tilde \phi(\tilde \beta_{t-1} -\hat\beta_{{t-1}|{t-1}}))(\tilde \phi(\tilde \beta_{t-1} -\hat\beta_{{t-1}|{t-1}}))'] + E_{t-1}[\tilde v_t \tilde v_t']$$

上記の第1項の$\tilde \phi$は期待値オペレータの外に出せる。また第2項は定義より$\tilde v_t ~ N(0, \sigma^2_v)$となるので、次のようになる。

$$=\tilde \phi E_{t-1}[(\tilde \beta_{t-1} -\hat\beta_{{t-1}|{t-1}})(\tilde \beta_{t-1} -\hat\beta_{{t-1}|{t-1}})']\tilde \phi + \sigma^2_v$$

$$=\tilde \phi \hat \Sigma_{t-1|t-1} \tilde \phi +\sigma^2_v\tag{10}$$

ここで、$\hat \Sigma_{t-1|t-1} = E_{t-1}[(\tilde \beta_{t-1} -\hat\beta_{{t-1}|{t-1}})(\tilde \beta_{t-1} -\hat\beta_{{t-1}|{t-1}})']$と定義した。これはt-1の状態変数の分散をt-1期の情報で推定したものである。次回のブログで説明する状態変数の分散のフィルタリングである。

これが1期前の情報を使って、今期の$\beta$の分散を推定したことを意味する。

次回は状態変数のフィルタリング値と状態変数の分散のフィルタリング値について説明する。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0