時系列モデリングのための状態空間モデルとカルマンフィルターの欠点は何ですか?


53

状態空間モデルとKFのすべての優れた特性を考えると、状態空間モデリングとカルマンフィルター(またはEKF、UKF、粒子フィルター)を推定に使用することの欠点は何でしょうか?ARIMA、VAR、またはアドホック/ヒューリスティック手法などの従来の方法論について考えてみましょう。

調整するのは難しいですか?彼らは複雑で、モデルの構造の変化が予測にどのように影響するかを見るのは難しいですか?

または、別の言い方をすれば、状態空間モデルに対する従来のARIMA、VARの利点は何ですか?

状態空間モデルの利点のみを考えることができます。

  1. いくつかの静的モデルの構造的な破損、シフト、時変パラメーターを簡単に処理します。これらのパラメーターを状態空間モデルの動的状態にするだけで、モデルはパラメーターのシフトに合わせて自動的に調整されます。
  2. 欠損データを非常に自然に処理します。KFの移行ステップを実行し、更新ステップは実行しません。
  3. 状態空間モデル自体のオンザフライパラメーター(ノイズと遷移/観測行列の共分散)を変更できるため、現在の観測が他とは少し異なるソースからのものである場合は、実行せずに簡単に推定に組み込むことができます何か特別なこと;
  4. 上記のプロパティを使用すると、不規則な間隔のデータを簡単に処理できます。観測間の間隔に従って毎回モデルを変更するか、定期的な間隔を使用して観測のない間隔を欠損データとして扱います。
  5. 同じモデル内の異なるソースからのデータを同時に使用して、1つの基本量を推定できます。
  6. いくつかの解釈不可能な動的コンポーネントからモデルを構築し、それらを推定することができます。
  7. どのARIMAモデルも状態空間形式で表現できますが、単純な状態空間モデルのみがARIMA形式で正確に表現できます。

1
J最初のポイントで述べたように、複数のレベルシフトと外れ値を簡単に組み込むことができる追加の利点はほとんどありません。私の経験では、構造的な破損はARIMAよりも状態空間で簡単に識別できます。また、外生変数の非線形効果を簡単に組み込むことができます。時系列データが静止している必要はありません。これは巨大な+です。
予報官

2
さて、いつでもARIMAで状態空間モデルを使用します。私は2つの欠点(一種)を考えることができます:a)ARIMAモデルの対応する状態空間モデルには、設計行列に多くの不要なゼロがあります。ARIMAはよりコンパクトであると主張するかもしれません。b)ARIMAのような形式で記述されることもありますが、従来の状態空間では難しい分析形式を持つことはめったにない非線形/非ガウスモデルがあります。
カグダスオズゲンク

2
@Kochede DurbinとKoopmanは、多くの不利な点を考えることもできなかったようです。彼らは素晴らしい教科書の52ページの下部に 2つを挙げまし。そして、これらの不利な点はもはや真実ではないということです。

2
いくつかの質問 。時間トレンドの変化を明確に識別し、トレンドが変化する時点を報告しますか?パラメーターの変更とエラー分散の変更を区別し、これについて報告しますか?ユーザーが指定した予測変数の前後の特定のリードおよびラグの影響を検出して報告しますか?レベルシフト/現地時間の傾向が宣言される前に、グループ内の値の最小数を指定できますか?パワー変換の必要性と、誤差分散が変化する決定論的な時点を区別しますか?ARMAXモデルは、これらすべての考慮事項に対応しています。
IrishStat

1
完全を期すために、状況によっては、それらを説明する必要があるという欠点があります。それはあなたの聴衆に依存します。誰かがこれをテクニックの選択とは無関係な、またはそうあるべきものとして却下したいなら、私は幸せです。
ニックコックス

回答:


25

ここに、私があなたのコメントから抽出できた不利な点の予備的なリストを示します。批判や追加は大歓迎です!

全体-ARIMAと比較して、状態空間モデルを使用すると、より複雑なプロセスをモデル化し、解釈可能な構造を持ち、データの不規則性を簡単に処理できます。ただし、モデルの複雑さが増し、キャリブレーションが難しくなり、コミュニティの知識が少なくなります。

  1. ARIMAは普遍的な近似法です。データの背後にある真のモデルが何であるかは気にせず、普遍的なARIMA診断および適合ツールを使用してこのモデルを近似します。これは、多項式曲線近似のようなものです-真の関数が何であるかは気にせず、常にある程度の多項式で近似できます。
  2. 状態空間モデルは、自然減にあなたを必要とし、いくつかの( -あなたは見積もりを向上させるために、プロセスのあなたの事前知識を用いる良いです)、あなたのプロセスのための合理的なモデル。もちろん、プロセスについてまったくわからない場合は、いつでも普遍的な状態空間モデルを使用できます。たとえば、状態空間形式でARIMAを表します。しかし、その後、ARIMAの元の形式では、不必要な隠れた状態を導入することなく、より控えめな定式化が行われています。
  3. 非常に多様な状態空間モデルの定式化(ARIMAモデルのクラスよりもはるかに豊富)があるため、これらのすべての潜在的なモデルの動作は十分に研究されておらず、定式化したモデルが複雑な場合-動作の仕方を言うのは困難ですさまざまな状況下で。もちろん、状態空間モデルが単純であるか、解釈可能なコンポーネントで構成されている場合、そのような問題はありません。ただし、ARIMAはよく研究されたARIMAと同じであるため、複雑なプロセスを近似するために使用した場合でも、その動作を簡単に予測できるはずです。
  4. 状態空間を使用すると、複雑/非線形モデルを直接かつ正確にモデル化できるため、これらの複雑/非線形モデルでは、フィルタリング/予測の安定性(EKF / UKF発散、パーティクルフィルターの劣化)に問題が生じる可能性があります。また、複雑なモデルのパラメーターの調整に問題がある場合があります-これは、計算が難しい最適化の問題です。ARIMAはシンプルで、パラメーターが少ないため(2つのノイズソースではなく1つのノイズソース、隠された変数はありません)、キャリブレーションはより簡単です。
  5. 状態空間の場合、統計コミュニティではARIMAよりもコミュニティの知識とソフトウェアが少なくなります。

1
明確な基礎となるモデルがなければ、カルマンフィルターが単純な移動平均または時系列の予測の平滑化よりも優れたパフォーマンスを発揮する実際の例/産業用アプリケーションを知っていますか(したがって、物理法則から生じるモデルを除外します) ?ほとんどの論文では、パフォーマンスは非常によく似ています(そして、アカデミックな論文は、新しく、元の、複雑なモデルに対して正のパフォーマンスバイアスを持っています)。ほとんどの場合、クラマンフィルターを指定するために必要な適切な線形状態システムモデルや共分散などの知識はありません...
Mannaggia

これは本当です。それでも、私は私の練習の例があります。汎用モデル(線形回帰など)がある場合は、カルマンフィルターのパラメーター状態を作成し、動的に推定できます。もちろん、各タイムステップでモデルを再調整することもできますが、これは単一のKF更新よりも計算コストがはるかに高くなります。実際にパラメータが時間とともに実際に変化する場合、またはモデルが実際のプロセスと正確に一致しない場合-これは、モデルをより良く適合させ、そのパフォーマンスを改善するのに役立つ場合があります。
コチェデ14年

1
あなたの投稿以外に、ARIMAが普遍的な普遍的な近似法であるという参考文献は見つかりません。私に1つを教えてもらえますか?
スカンダーH.

2
@Alexこれは、Woldの分解定理に基づいてい
18年

1
状態空間モデルはより一般的な形式であり、ARIMAはそのサブセットのみをカバーしていると言えますか?
ヴィッキー

3

@IrishStatがコメントにいくつかの非常に良い質問をしてくれたことに感謝します。あなたの質問に対する回答はコメントとして投稿するには長すぎますので、回答として投稿します(残念ながら、トピックの元の質問ではありません)。

質問は次のとおりです。「時間傾向の変化を明確に識別し、傾向が変化する時点を報告しますか?パラメーターの変化とエラー分散の変化を区別して報告しますか?ユーザーの周りの特定のリードおよびラグ効果を検出し報告しますか?指定された予測子?レベルシフト/ローカルタイムトレンドが宣言される前に、グループ内の値の最小数を指定できますか?パワー変換の必要性と、誤差分散が変化する決定論的な時点を区別しますか? "

  1. トレンドの変化を識別します-はい、最も自然に、トレンドスロープを状態変数の1つにすることができ、KFは現在のスロープを継続的に推定します。その後、どの斜面の変化があなたにとって十分に大きいかを決めることができます。あるいは、状態空間モデルで勾配が時変でない場合、標準的な方法でフィルター処理中に残差をテストし、モデルに何らかの破損があるかどうかを確認できます。
  2. パラメーターの変更とエラー分散の変更を区別します-はい、分散はパラメーター(状態)の1つである可能性があります。その後、どのパラメーターが変更される可能性が高いかは、モデルの尤度とデータの変更方法によって異なります。
  3. リード/ラグ関係の検出-これについてはわかりませんが、遅延変数を状態空間モデルに含めることができます。ラグを選択するには、異なるラグを含むモデルの残差をテストするか、単純なケースでは、モデルを作成する前に相互相関図を使用します。
  4. 観測のしきい値数を指定して傾向の変化を決定します-はい、1)のように、フィルタリングは再帰的に行われるため、十分な大きさの勾配変化のしきい値だけでなく、信頼のための観測数もできます。ただし、KFは勾配の推定値だけでなく、この推定値の信頼帯も生成するため、信頼限界がしきい値を超えたときに勾配が大幅に変化したと判断する場合があります。
  5. 電力変換の必要性と大きな分散の必要性を区別します-私は正しいことを理解しているかわかりませんが、フィルタリング中に残差をテストして、それらがまだ大きな分散でまだ正常であるか、変更する必要があるようにスキューを持っているかどうかを確認できると思いますあなたのモデル。より良い-あなたはそれをあなたのモデルのバイナリスイッチング状態にすることができます、そしてKFは尤度に基づいてそれを自動的に推定します。この場合、モデルは非線形になるため、フィルタリングを行うにはUKFが必要になります。

1

カルマンフィルターは、状態ダイナミクスと測定誤差がいわゆる線形ガウス仮定(http://wp.me/p491t5-PS)に従う場合に最適な線形二次推定量です。そのため、ダイナミクスと測定モデルを知っていて、それらが線形ガウスの仮定に従う限り、線形二次推定量のクラスにはこれ以上の推定量はありません。ただし、「失敗した」カルマンフィルターアプリケーションの最も一般的な理由は次のとおりです。

  1. 状態のダイナミクスおよび測定モデルの不正確/誤った知識。

  2. フィルターの不正確な初期化(初期状態推定と真のシステム状態と矛盾する共分散を提供)。これは、Weighted Least Squares(WLS)初期化手順を使用して簡単に克服できます。

  3. システムダイナミクスモデルに関して統計的な「外れ値」である測定値を組み込みます。これにより、カルマンゲインに負の要素が含まれ、更新後に非正の半正定共分散行列が生成される可能性があります。これは、楕円ゲーティングなどの「ゲーティング」アルゴリズムを使用して、カルマンフィルターをその測定で更新する前に測定を検証することで回避できます。

これらは、カルマンフィルターでの作業で見た最も一般的な間違い/問題の一部です。それ以外の場合、モデルの仮定が有効であれば、カルマンフィルターは最適な推定量です。


1

優れた本のベイジアン予測と動的モデルを参照できます(Harrison and West、1997)。著者は、ほとんどすべての従来の時系列モデルが一般的な動的モデルの特定のケースであることを示しています。また、利点を強調しています。おそらく、主な利点の1つは、状態ベクトルを単純に拡張するだけで多くの状態空間モデルを簡単に統合できることです。たとえば、リグレッサ、季節要因、および自己回帰コンポーネントを単一のモデルにシームレスに統合できます。


こんにちは。「たとえば、1つのモデルに回帰変数、季節要因、および自己回帰コンポーネントをシームレスに統合できます」について詳しく説明していただけますか。私が間違っている場合、私を修正してください、それはARIMAの場合は時系列を静止させる必要があることを意味しますが、状態空間モデルの場合は状態変数の数を微調整するだけでよいですか?
ヴィッキー

@Vickyyy ARIMAとは異なり、状態空間モデルは定常性を想定していません。多くのコンポーネントを追加して、単一の状態ベクトルで表すことができます。
アンセルモ

1

状態空間関数を直接使用する場合は、おそらくモデルを構成するいくつかの行列と、それらがどのように相互作用し動作するかを理解する必要があると付け加えます。ARIMAモデルを定義するというよりも、プログラムを定義することに非常に似ています。動的な状態空間モデルを使用している場合、さらに複雑になります。

本当に素晴らしい状態空間機能を備えたソフトウェアパッケージを使用する場合、これの一部を回避できるかもしれませんが、Rパッケージのそのような機能の大部分は、ある時点で詳細にジャンプする必要があります。

私の意見では、それは一般にベイジアン統計に非常によく似ており、そのメカニズムは、より頻繁な機能よりも理解、注意、および使用するのに多くの時間がかかります。

どちらの場合も、追加の詳細/知識は十分に価値がありますが、採用の障壁になる可能性があります。

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