フィルタリングされたノイズとノイズの多い時系列信号

私はフィルタリングが必要なライブ信号を持っており、カルマンフィルタと単純な指数関数フィルタを比較しようとしています。このために、私は人工的なグランドトゥルース信号を生成し、ノイズを加え、両方の方法でフィルタリングしました。

問題はカルマンフィルタの結果がより良く見えるが、信号の出力が信号よりも遅れているので、それがどれほど優れているかを定量化することはできないということです。ノイズの多いサンプルとフィルタされたサンプルの間の誤差を時間Tで単純に計算すると、その差は常にノイズの多いサンプルとグラウンドトゥルースサンプルの間の差よりも大きくなります。

これらのケースで正しくエラーを計算する方法はありますか?私は、フィルタリングされた真理信号と地面の真理信号との間の最小二乗適合度を計算することを考えましたが、それは可能な限り最良のケースを見ているだけでなく、フィルタの遅れを考慮しないので、


Edit: Some graphs to give a better picture of what I'm doing Ground truth, noisy signal and filter outputs

私はt = 140まで出力をプロットしました。指数関数フィルタ(赤色)とカルマンフィルタ(緑色)は、現在のノイズの多いサンプル(青色)より遅れています。 t = 140のグランド・トゥルース値とカルマンまたはt = 140の指数値を比較して二乗誤差を計算しようとすると、誤差は大きくなり、グランド・トゥルースとノイズの多い信号の間の誤差よりもさらに大きくなります(第2の写真上)。

これにより、カルマンフィルタよりも遅れが小さいという理由で、指数関数フィルタがより見栄えが良くなります。 私が遅れを説明しようとすると、カルマンフィルタとt = 140の地面の真理との間の誤差を計算すると、二乗誤差グラフはより良く見えるが(二番目の画像の底面)、私はそうではないこれが正しいことなのかどうか確かめてください。

square error between the ground truth and noisy/filtered signals


編集2 私は今、これらが実際の時系列ではなく、むしろ2D信号として処理されることを認識しています。だから、 't ='は本当に 'x ='で、値はyです。これは、シーケンスが時間内に同期されない理由を説明します。しかし、私はその質問がまだ有効だと思う。

0
私の指数関数的なスムーザは、現在および前のサンプル、すなわちy(t)= a * x(t)+(a-1)* y(t-1)を知るだけである。ウィキペディアがそう言ったので、私はそれを「スムーズ」と名付けました:)
追加された 著者 oxbow_lakes,
そうです、式は(1-a)でなければなりません。私は時刻tのフィルタリングされた信号とt(過去)の地面の真理の最も近いサンプルとの間の誤差を計算したが、結果はカルマンフィルタが実際に優れていることを示し、指紋フィルタはどこにでもあります。遅れの問題は、カルマンフィルタのパラメータに起因する可能性が最も高いことに同意します。信号に急激な変化があっても、オーバーシュートは起こりません(ステップ)。行列の値を調整するためのベストプラクティスはありますか? ...(続き)
追加された 著者 oxbow_lakes,
または、あなたがお勧めできるこの問題に関する文献はありますか?私が慣れ親しんでいる唯一のパラメータチューニングは機械学習です。グリッド検索を使って、むしろ力ずくでアプローチします。私が懸念しているのは、信号Nのサンプルよりも常に遅れているフィルタを作成し、平滑化ウィンドウを適用してN/2の値を見つけることです。これは、グローバルに見ても良いMSEを与えるが、実際には役に立たないだろう。
追加された 著者 oxbow_lakes,
あなたの提案をありがとう。私は自分の質問を編集しました。おそらくグラフがエラー計算が間違っているのかフィルター自体が悪いのかを明確にするでしょう。
追加された 著者 oxbow_lakes,
フィルタとスムーザーの間にはっきりと区別する必要があります。フィルタは因果的であり、滑らかさはそうではありません。カルマンフィルタを最も単純なスムーザーと比較するのは不公平です(これは未来を知っているからです)。リアルタイムの処理を行っている場合は、単純なローパスフィルタでカルマンフィルタを比較しますが、カルマンフィルタを使用しない場合は、おそらく最善の方法ではありません
追加された 著者 Bgr967dhr,
私はこれを1次のIIR線形フィッティングと呼んでいます。正しい式では、$(a-1)$の代わりに$(1-a)$を使用する必要があります。因果関係のフィルタはすべて実際の信号よりも遅れているはずですが、KFは実際には予測が良いので、実際には良い結果になるはずです。基準に関しては、それは良いフィルタと思われるものに依存しますが、フィルタリングされた信号とグランド真理の間にMSEを計算する際にはIMOに問題はなく、ラグを考慮する必要はありません。私が言ったように、KFもまた予測変数であるため、最良の状況では実際には遅れを修正します。
追加された 著者 Bgr967dhr,
PS:あなたが「最良の可能性のケースを見てください」という意味を理解していません。いいえ、それは不正行為ではありません。これは監視された学習です。問題は、KFを動作させると、システムの実際の測定ノイズとダイナミクスが、合成したものとは異なるため、チューニングが完璧ではないことです。
追加された 著者 Bgr967dhr,
あなたがしていることを理解していない、MSEを計算する前に遅れを修正しようとしていますか?私はあなたがこれをやるべきだとは思わない。カルマンフィルタのチューニングについて:機械学習は幅広い領域であり、グリッド検索を行う必要はありません。数値的に推定された勾配またはベイジアン最適化を伴う勾配ベースの方法を使用することができます。私はこのためのカルマンフィルター固有のソースはありませんが、ブラックボックスの数値オプティマイザを使用するとよいでしょう。
追加された 著者 Bgr967dhr,

答えはありません

0