回答:
あなたのリアルタイムシステムでは、観測時間は不均一で、データは非定常ですか?シンプルで高速なものが必要な場合は、不均質なEMAタイプの演算子を使用することをお勧めします。
彼らは、EMA()を新しい観測ごとに更新し
A平滑/チューニングパラメータ。これは期待値を見積もる簡単な方法です。
また、更新により簡単なオンライン中央値の見積もりを作成できます
実際には、小さくする(または、観測を増やして減衰させる)必要があります。理想的には、は、更新の偏り具合に依存する必要があります。つまり、実際に中央値に等しい場合、はで均一でなければなりません。次に、これを深さ平衡型バイナリツリータイプ構造に拡張して、分位点を等間隔で取得できます。ε MED SG { - 1 、1 } 、D 2 、D + 1 - 1
上記の組み合わせにより、データをオンラインで適切に配布できます。ツリーは正しく理解するのが難しいので、興味があればC ++で両方の実装を用意しています。私は実際に両方(金融リアルタイムティックデータ)を多く使用し、それらはうまく機能しました。
まず、データを時間的に埋め込む必要があります。たとえば、最初の入力[1、12、2、3]と対応する出力[5]を受け取り、2番目の入力として[12、2、3、5]と対応する出力[9]を受け取ります。(これは遅延4で埋め込まれていますが、より適切な別の値を選択できます。)
これで有効な予測問題が発生しました。これらのデータにオンラインガウスプロセスを適用できます。これは、説明したとおりの機械学習手法であり、信頼区間を提供します。
モデルが非定常の場合は、非定常拡張のカーネル再帰的最小二乗トラッカーを試すことができます。ちなみに、この論文には定常および非定常の場合のMatlabコードが含まれています。
これらの方法はかなり高速です。それらの計算の複雑さは、メモリに格納するデータの数(通常、処理されるすべてのデータの小さな代表的な部分です)の点で2次です。より高速な方法については、たとえばカーネル最小二乗法をお勧めしますが、その精度は低くなります。
カルマンフィルターは再帰的なアルゴリズムです。新しい観測値を取得し、それを以前の予測と組み合わせます。それはあなたのデータに適切なモデルである場合にのみ使用するのが良いでしょう。予測間隔の更新がどれほど簡単かわかりません。