2011-01-24 22 views
1

私は、時系列モデルをテストするための良いアプローチは何だろうと思っています。時間領域t1、t2、... tNに時系列があるとします。私はzt1、zt2、... ztNという入力を持ち、x1、x2 ... xNを出力します。時系列モデルのテスト方法は?

これは古典的なデータマイニングの問題だったので、クロスバリデーション、leave-one-out、70-30などの既知のアプローチを使用することができました。

しかし、時系列でモデルをテストする問題にどのようにアプローチすればよいですか?最初のt1、t2、... t(N-k)の入力でモデルを構築し、最後のk個の入力でテストする必要がありますか?しかし、もしp段階前の予測を最大化し、k(p < k)ではなく、私は私の特定のケースに適用できる堅牢なソリューションを探しています。

+4

特定のケースに対する堅牢なソリューションが必要ですが、ケースについてはほとんど特筆すべきことはありません。適切な_start_は、使用している見積もりの​​タイプを教えてください。 [CrossValidated](http://stats.stackexchange.com/)であなたの質問に対するより良い回答を得ることができます。 –

答えて

3

、あなたがあなたのモデルを開発した後まで、アウト・オブ・サンプルデータを使用していないに注意する必要があります。モデリングの主な問題点は、オーバーフィットするのが簡単だということです。

典型的には、サンプル内モデリングに70%、サンプル外テスト/検証の30%を使用することです。また、本番モデルを本番環境で使用すると、日常的に収集するデータは真のサンプル外データとなります。見たことのないデータです。

データポイントが十分あれば、ローリングウィンドウフィッティングのアプローチを試してみることをおすすめします。サンプル内の各タイムステップについて、モデルに合うようにN時間ステップを振り返り、モデル内のパラメータが時間の経過とともにどのように変化するかを確認します。たとえば、モデルがY = B0 + B1 * X1 + B2 * X2の線形回帰であるとしましょう。あなたは回帰N - window_size時間をサンプル以上にするでしょう。このようにして、ベータが時間との関係においてどの程度敏感であるかを理解します。

2

あなたはそれが残りの年間予測してどれだけ見て、その後、モデルを作成するためにデータの最初の数年間を使用して

  1. 間の選択肢を持っているようですね。

  2. 入力条件のいくつかのサブセットに対して何年ものデータを使用して、残りの入力条件をどれだけうまく予測するかを確認します。フィッティング時系列で