共分散更新式の簡略化

多くの参考書では、次の簡略化された共分散更新式が紹介されています。

\[ \boldsymbol{ P_{n,n} = \left( I - K_{n}H \right) P_{n,n-1} } \]

簡略化された共分散更新式を導出するには、カルマンゲインの方程式を共分散更新式に置き換えます。

備考
\( \boldsymbol{P_{n,n}} = \boldsymbol{ P_{n,n-1} - P_{n,n-1}H^{T}K_{n}^{T} - K_{n}H P_{n,n-1}} + \\ + \color{#7030A0}{\boldsymbol{ K_{n} }} \boldsymbol{ \left( H P_{n,n-1}H^{T} + R_{n} \right) K_{n}^{T} } \) 展開後の共分散更新式
\( \boldsymbol{P_{n,n}} = \boldsymbol{ P_{n,n-1} - P_{n,n-1}H^{T}K_{n}^{T} - K_{n}H P_{n,n-1}} + \\ + \color{#7030A0}{\boldsymbol{ P_{n,n-1}H^{T}\left( HP_{n,n-1}H^{T} + R_{n} \right)^{-1} }} \boldsymbol{ \left( H P_{n,n-1}H^{T} + R_{n} \right)} \boldsymbol{ K_{n}^{T} } \) カルマゲインの式を代入
\( \boldsymbol{P_{n,n}} = \boldsymbol{ P_{n,n-1} - P_{n,n-1}H^{T}K_{n}^{T} - K_{n}H P_{n,n-1}} + \\ + \boldsymbol{P_{n,n-1}H^{T} } \boldsymbol{ K_{n}^{T} } \) \( \boldsymbol{\left( HP_{n,n-1}H^{T} + R_{n} \right)^{-1} \times \\ \times \left( HP_{n,n-1}H^{T} + R_{n} \right) } = 1 \)
\( \boldsymbol{P_{n,n}} = \boldsymbol{ P_{n,n-1} - K_{n}H P_{n,n-1}} \)
\( \boldsymbol{P_{n,n}} = \boldsymbol{\left( I - K_{n}H \right)P_{n,n-1}} \)
注意! この式はとても美しくシンプルで、多くの場合良好に動作します。しかし、カルマンゲインの計算では(丸め誤差による)わずかな誤差でも、膨大な計算誤差につながることがあります。\( (I - K_{n} H) \) は浮動小数点誤差により非対称な行列になる可能性があります。この方程式は数値的に不安定になる可能性があります!

詳細は、“Bucy, R. S. and Joseph, P. D. (1968). Filtering for Stochastic Processes with Applications to Guidance. Interscience, New York” の Chapter 16 “Roundoff errors” を参照してください。