カルマンフィルターで不完全なデータを処理する方法


8

カルマンフィルターで不完全なデータを処理するための典型的なアプローチは何ですか?私は、観測ベクトルのいくつかの要素が状況について話しているyt全体の観測ベクトルの場合は異なる欠けている、yt逃しています。これについての別の考え方は、観測されたベクトルの次元pが各時点で異なるということです。

私のコンテキストをもう少し説明すると、観測値は各時点で実行されたロジスティック回帰から推定されたパラメーターです。各ロジスティック回帰には同じ共変量が含まれていますが、その時点のデータの共線性が原因で推定値が定義されていない場合があります。

回答:


7

必要なのは、変数の観測行列、つまり観測方程式に matrix(および)は、時刻でエントリに対応する行を省略します。たとえば、Rのほとんどのパッケージはそれを処理します。問題のない観測された多変量時系列を値とともに持つことができます。

Yt=Atθt+Rtet
AtRttNAYtNA

このベストアンサーに注目してもらいたいと思います。私は本「時系列分析とその応用: Robert ShumwayによるRの例を使用して」を読み、第6章で、著者は欠落している観測値をゼロで埋めることによって処理する方法を説明しました 。行/列を削除する方法は、この方法とどのように違いますか?Yt
ウィルギュ

どちらの方法も同等だと思います。ただし、Shumway&Stofferが提案していること(そしてそれが計算的に単純であると主張しています。使用しているソフトウェアによって異なると思います)は、だけでなく他の配列もゼロで埋める必要があることにてください(上記の347ページを確認してください( 6.79)第3版)。Yt
F.チューセル

1

最も簡単な解決策は、任意の測定値を使用することです(最後の適切な値が最良です)が、対応する測定ノイズ分散を非常に大きな値に設定します。実際には、偽の測定は無視されます。カルマンフィルターは、測定の不確実性とモデルの不確実性のバランスをとっています。この場合、状態モデルが予測するものに加えて、他の測定の補正に基づいて推定しているだけです。測定が利用できない限り、その測定なしで観察できなくなる状態は、プロセスノイズのために時間の経過とともに不確実性が増大します。それは非常に現実的です。古い測定値に基づく予測の信頼性は、時間とともに継続的に低下します。(これは、このソリューション、または測定を排除するためにフィルター構造を一時的に変更する場合に当てはまります)。

この定式化は、定常状態バージョンではなく、各ステップで状態行列と共分散行列の両方を更新するカルマンフィルターを使用していることを前提としています。これは、使用できない値に対する特別な処理がソフトウェアにまだない場合、最も簡単なアプローチです。(そして、欠損値処理を備えたソフトウェアは、この方法でそれをうまく処理するかもしれません)。このアプローチは、理論的には、測定行列のサイズと測定共分散行列のサイズを変更するのとまったく同じことを実現します。ほぼ無限の分散を持つ測定は、測定がない場合と同じ情報を提供します。しかし、この方法では、フィルターの構造を変更したり、すべての可能性を保存したりする必要はありません。パラメーターの変更は1つだけです(各測定ノイズエラーが独立しているという典型的なケースを想定すると、

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.