差分の適用について3点質問です。
1.自動検出の場合、定常・非定常の判断は、ターゲットに対して統計的な検定(PP検定やADF検定など)を実施して判断しているのでしょうか
2.自動検出でターゲットが定常でないと判断した場合、モデルは全てターゲットに対して差分を取った系列をベースに作られる(その結果として予測値は差分で算出され、元の量へは累積して戻している)のでしょうか。それとも一部のモデルのみ差分を取って実施されるのでしょうか?(この場合、どのモデルが差分を取ったモデルかということは識別可能ですか?)
3.自動検出で定常・非定常どちらに判断されたかは、どこかで確認することができますか?
解決済! 解決策の投稿を見る。
Kessokuさん、
AutoTS製品についてご興味をお持ちいただきありがとうございます。
以下のように回答させてください。
1. はい、その通りです。
DataRobotでは、自動的に定常性を検出するために複数のテスト方法(ADFを含む)を実施しております。
2. 時系列プロジェクトを開始する際にDataRobotがどのようなテストを行うかを補足させてください。DataRobotは以下のようなテストを行います。
- 時系列が定常であるかどうかをテストします。定常でない場合は、「差分あり(最新)」の特徴量セットを生成します。
- 時系列が周期性を持つかどうかをテストします。周期性ありの場合は、例えば、「差分あり(X日)」の特徴量セットを生成します。
- 他のテストと他の特徴量セットの生成も行われていますが、ロジックは複雑で常に進化しています。
これらの特徴量セットに基づいて、DataRobotは複数の時系列モデルを作ります。
「データ」 > 「特徴量セット」タブで生成された特徴量セットを確認することができます。
それぞれの特徴量セットの中身を確認していただければと思います。
Link: https://app.datarobot.com/docs-jp/modeling/curate/feature-lists.html
「モデル」タブ > 「リーダーボード」タブでは、特徴量セットとサンプルサイズの列を見ることで、どのモデルがどの特徴量セットを使用しているかを識別することができます。
Link: https://app.datarobot.com/docs-jp/modeling/compare/leaderboard.html
DataRobotが予測値を計算する際に差分の処理のプロセスを自動化しておりますので、その点は気にする必要はございません。予測値の出力結果は差分なしの値になります。
例えば、「差分あり(最新)」を使用したBlue Prints(BP)では、「Naive Predictions as Features and Offset」の箱を確認できます。これは、ナイーブ予測でターゲットをオフセットし、このナイーブ予測を特徴量として使用することを意味します。この場合、ナイーブ予測は派生ウインドー(FDW)の最新値となります。
3. はい、定常性の自動検出結果を確認できます。
「データ」タブ >「発生したモデリングデータ」タブ >「詳細な情報を表示」ボタン > 「発生ログをプレビュー」ボタンをクリックすると確認できます。
Link: https://app.datarobot.com/docs-jp/time/time-series.html?highlight=%E7%99%BA%E7%94%9F%20%E3%83%A2%E3%...
ターゲットが定常でない場合の出力ログ結果の例を添付いたします。
その他、ご不明な点やご質問などありましたら、教えてください。
よろしくお願いいたします。
グザビエ
グザビエさん、
詳細にありがとうございます。
2についてもう少し教えてください。
>ターゲットが定常でないと判断した場合、DataRobotはターゲットに対して差分ありの特徴量セットを生成します(定常であれば、差分ありの特徴量セットを生成しません)
・実際に差分の適用を「いいえ」として実行すると、差分なし特徴量だけでなく、「差分あり(平均ベースライン)」の特徴量セットについては生成・実行されているように見えます。この差分あり平均ベースラインは差分の適用をしなくても、例外的に生成されるという理解であっていますか?
・非定常ターゲットの対応として、ターゲットをy_tとしたとき、例えばΔy = y_t - y_t-1 のような処理によってターゲットをΔyに変更して(定常にして)モデルを作るということはせずに、y_t = y_t-1 + ・・・というように、特徴量側にターゲット差分を組み入れて対処している、ということであっていますか。
・派生ウィンドウの設定などによっては(例えば90日~20日など、ウィンドウの最新が20日前で結構期間があくケース)、非定常に対する適切な差分を取れないこともありそうな気がしますが、そういうケースについては一応最新(20日前)との差分を取るなどして差分特徴量を生成して、最終的にはバックテストで良さを評価する、という感じでしょうか。
すみませんが、よろしくお願いします。
結束さん、こんにちは!
以下に補足させてください。
a. 時系列プロジェクトを開始する際にDataRobotがどのようなテストを行うかを補足させてください。DataRobotは以下のようなテストを行います。
- 時系列が定常であるかどうかをテストします。定常でない場合は、「差分あり(最新)」の特徴量セットを生成します。
- 時系列が周期性を持つかどうかをテストします。周期性ありの場合は、例えば、「差分あり(X日)」の特徴量セットを生成します。
- 他のテストも行われていますが、ロジックは複雑で常に進化しています。
「差分あり(平均ベースライン)」のような特徴量セットで作成されたモデルは、他の特徴量セットで作成されたモデルと比較した時に、より良い精度がでるケースも見られています。そのため、その特徴量セットを生成します。その特徴量セットは定常性の概念とは関係ありません。
b.「差分あり(最新)」を使用したBlue Prints(BP)では、「Naive Predictions as Features and Offset」の箱を確認できます。これは、ナイーブ予測でターゲットをオフセットし、このナイーブ予測を特徴量として使用することを意味します。この場合、ナイーブ予測は派生ウインドウ(FDW)の最新値となります。
c. はい、それが正しい理解です。FDW内の最新値を使用します。
私の最初の回答を少し修正します。
ご不明な点や質問などありましたら、教えてください。
よろしくお願いいたします。
グザビエ
グザビエさん、
ご説明どうもありがとうございました!