やること
https://www.amazon.co.jp/dp/4254209444
を読んで、確率微分方程式による最適化問題を解けるようになることです。
これまでのBotter自主ゼミノート
Botter自主ゼミノート 1.2 確定システムの制御の回顧
Botter自主ゼミノート 2.1 確率過程とは?, 2.2 確率過程の数学的表現
Botter自主ゼミノート 1.2 数式導出
Botter自主ゼミノート 2.3 確率モーメント
Botter自主ゼミノート 2.4 確率過程の分類
Botter自主ゼミノート 2.5 エルゴード性
Botter自主ゼミノート 2.6 確率過程の周波数表現
Botter自主ゼミノート 2.7 マルコフ過程
Botter自主ゼミノート 2.8 正規型確率過程
Botter自主ゼミノート 2.9 ウィーナ過程(1)
Botter自主ゼミノート 2.9 ウィーナ過程(2)
Botter自主ゼミノート 2.10 白色雑音
Botter自主ゼミノート 3.1, 3.2 確率変数列の収束
Botter自主ゼミノート 3.3 確率過程の連続性
Botter自主ゼミノート 3.4 自乗平均微分
Botter自主ゼミノート 3.5 自乗平均積分
Botter自主ゼミノート 4.1 確率微分方程式とは?
Botter自主ゼミノート 4.2 確率積分
Botter自主ゼミノート 4.2 確率積分 例題4.1
Botter自主ゼミノート 4.3 確率微分方程式
Botter自主ゼミノート 4.4 伊藤の確率微分演算
Botter自主ゼミノート 4.5 拡散過程
Botter自主ゼミノート 4.6 確率密度関数の時間進化 - コルモゴロフ方程式
Botter自主ゼミノート 6.1 動的システムの推定とは?
Botter自主ゼミノート 6.2 条件付き確率密度関数の時間進化
Botter自主ゼミノート 6.3 モーメント関数の時間進化
6.4 カルマンフィルタ
\S6.2, \S6.3 では、非線形システムに対しての推定問題を扱いましたが、線形システムに対して状態推定方程式を導くとそれがカルマンフィルタとなります。
システム及び観測方程式を以下のように線形とします。
dx(t) = A(t)x(t)dt + G(t)dw(t), \quad x(t_0)=x_0 \tag{6.35}
dy(t) = H(t)x(t)dt + R(t)dv(t), \quad y(t_0)=0 \tag{6.36}
ここで、x \in R^n , y \in R^m , w \in R^{d_1} , v \in R^{d_2} , R(t)R^T(t) > 0 とし、w(t) とv(t) は互いに独立で、それぞれ共分散マトリクスQ(t) とI を持つものとします。このとき、クスナー方程式(6.26)は以下の式(6.37)のようになります。
dp = -p \: \text{tr}(A)dt - x^TA^T\frac{\partial p}{\partial x}dt + \frac{1}{2}\text{tr}\left\{ GQG^T\frac{\partial}{\partial x}\left(\frac{\partial p}{\partial x}\right)^T\right\}dt + p(x-\hat{x})^T H^T (RR^T)^{-1}\{dy_t-H\hat{x}dt\}
!
クスナー方程式と\hat{h} は\S6.2 で以下のように定義されていました。
dp\{t,x|\mathcal{Y}_t\} = \mathcal{L}_x^* p\{t,x|\mathcal{Y}_t\} dt + p\{t,x|\mathcal{Y}_t\}[h(t,x)-\hat{h}(t,x)]^T (R_t R_t^T)^{-1} \{dy(t)-\hat{h}(t,x)dt\}
\hat{h}(t,x) = \int_{R^n} h(t,x) p\{t,x|\mathcal{Y}_t\} dx \tag{6.27}
さらに、\mathcal{L}_x^* は\S4.6 で以下のように定義されていました。
\mathcal{L}_x^*(\cdot) := -\sum_{i=1}^{n} \frac{\partial (\cdot f_i)}{\partial x_i} + \frac{1}{2}\sum_{i,j = 1}^{n}\frac{\partial^2 (\cdot [GQG^T]_{ij}}{\partial x_i \partial x_j} \tag{4.53}
クスナー方程式(6.26)から式(6.37)への変形はなんとなーく理解できるのですが、前向き拡散作用素\mathcal{L}_x^* の関係する項がなぜ二つに分裂するのかちょっとわからないです。
ここで、f=Ax, h=Hx であるので
\begin{aligned}
\mathcal{E}\{x h^T\} - \hat{x}\hat{h}^T &= [\mathcal{E}\{xx^T|\mathcal{Y}_t\} - \hat{x}\hat{x}^T]H^T = P_tH^T \\
\mathcal{E}\{x f^T\} - \hat{x}\hat{f}^T &= P_t A^T
\end{aligned}
ということがわかる。さらに、確率密度関数は正規性であるので、三次モーメント(歪度)は0となる。
\mathcal{E}\{(x_i - \hat{x}_i)(x_j - \hat{x}_j)(x_k - \hat{x}_k)|\mathcal{Y}_t\} = 0
以上を利用して式(6.32)を変形すると、以下の式(6.38)となる。
d\hat{x}(t|t) = A(t)\hat{x}(t|t)dt + P(t|t)H^T\{R(t)R^T(t)\}^{-1}\{dy(t)-H(t)\hat{x}(t|t)dt\}
さらに式(6.34)を変形すると以下の式(6.39)となる。
\dot{P}(t|t) = A(t)P(t|t) + P(t|t)A^T(t) + G(t)Q(t)G^T(t) - P(t|t)H^T(t)\{R(t)R^T(t)\}^{-1}H(t)P(t|t)
それぞれの初期値は以下のようになる。
\begin{aligned}
\hat{x}(t_0|t_0) &= \mathcal{E}\{x(t_0) = \hat{x}_0\} \\
P(t_0|t_0) &= \mathcal{E}\{[x(t_0)-\hat{x}(t_0|t_0)][x(t_0)-\hat{x}(t_0|t_0)]^T\} = P_0\\
\end{aligned}
これをカルマンフィルターと呼びます。また、式(6.39)はマトリクスリッカチ微分方程式です。
!
パッと見た感じ、ポイントになるのは式(6.38)と式(6.39)それぞれの第二項に見えます。観測値y(t) から、推測値\hat{x}(t) を引いたものを使ってなにかの調整をしているようです。
\S6.3 では、確率分布の時間進化を表現するクスナー方程式から一次モーメントと二次モーメントの時間進化を表現する式を導出していましたが、それをそのまま使ってカルマンフィルタが導出されています。やはり\S6.3 がこの節の核心部なのかな…。
ともあれ、カルマンフィルタの詳しい性質の説明は\S6.5 と\S6.8 にあるので、そちらを読み進めていきます。その後確率システムの最適制御の章に進みます。
Discussion