時間認識予測¶
時間認識予測では、教師あり学習を使用して、データセットの他の特徴量から予測を行います。 バックテストに時系列で行を割り当て、1行ずつ予測します。
使用するタイミング¶
備考
以下で説明する設定は、時間認識予測に単独で使用できます。 It is also the starting point for time-aware predictions with feature transformations and time series forecasts.
この方法は、以下の場合にのみ使用します。
- 時間関連の特徴量がデータセットに存在する。
- 時系列予測は必要ない。個々の行のターゲット値を予測する。
- 特徴量エンジニアリングは必要ない。
使用方法¶
この方法を使用するには:
- 基本的なエクスペリメントの設定を開始します。
- 日付/時刻パーティションを設定します。
- 必要に応じて、時間認識パラメーターを変更します。
graph TB
A[データをアップロードする/エクスペリメントを作成] --> B[日付/時刻パーティションの有効化];
B --> C[順序付け特徴量の設定];
C -. optional .-> D[バックテストパーティションの設定];
D -. optional .-> E[サンプリングの設定];
E --> F[モデリングの開始]
時間認識モデルの有効化¶
時間認識モデリングを有効にするには、以下の手順に従います。
1. 日付/時刻パーティションの有効化¶
時間認識モデリングを有効にするには、最初に分割手法を日付/時刻に設定します。 これを行うには、次のいずれかを実行します。
- データパーティショニングタブを開きます。
- エクスペリメントサマリーパネルでパーティションをクリックすると、データパーティショニングタブが開きます。
データパーティショニングタブで、分割手法として日付/時刻を選択します。
2. 順序付け特徴量の設定¶
分割手法を日付/時刻に設定した後、 順序付け特徴量(DataRobotがモデリングに使用するプライマリー日付/時刻特徴量)を設定します。
備考
その他のすべての設定は、変更することも、デフォルトのままにすることもできます。 エクスペリメントのサマリーは、セットアップが進むにつれて更新されます。
順序付け特徴量を選択します。 対象となる特徴量が1つだけ検出された場合、フィールドに自動入力されます。 複数の特徴量が使用可能な場合は、ボックス内をクリックすると、該当するすべての特徴量のリストが表示されます。 特徴量がリストされていない場合、タイプdate
として検出されず、使用できません。
設定後、DataRobotは次の操作を行います。
-
DataRobotで、選択した特徴量の日付および時刻の形式(標準のGLIBC文字列)が検出されます。順序付けの特徴量が選択されると、DataRobotは、以下の選択した特徴量の日付および/または時刻の形式(標準GLIBC文字列)を検出して報告します。
-
順序付け特徴量の時間経過に伴う特徴量ヒストグラムを計算してロードします。 Note that if your dataset qualifies for multiseries modeling, this histogram represents the average of the time feature values across all series plotted against the target feature.
3. バックテストパーティションの設定¶
順序付け特徴量を設定すると、バックテスト設定が使用可能になります。 バックテストは交差検定の時系列版に相当しますが、ランダム行ではなく時間範囲または期間に基づきます。 DataRobotでは、データセットの特性に基づいてデフォルトが設定されており、通常はそのままで、堅牢なモデルを実現できます。
デフォルト設定を変更するには、以下の表のリンクを使用します。
フィールド | 説明 | |
---|---|---|
1 | バックテスト | Sets the number and duration of backtesting partitions. |
2 | 行の割り当て | バックテストへの行の割り当て方法とサンプリング方法を設定します。 |
3 | Partitioning log / Reset | パーティションの作成を報告するダウンロード可能なログと、リセットリンクを提供します。 |
バックテストの数の変更¶
最初に、必要に応じてバックテストの数を変更します。
バックテストのデフォルトの数は、プロジェクトパラメーターに依存しますが、最大20まで設定できます。バックテストの数を設定する前に、ヒストグラムを使用して、各分割のトレーニングセットと検定セットにモデルのトレーニングに十分なデータがあることを確認します。
バックテストの要件
日付/時刻パーティションの場合: * 時系列モデリングがない場合、バックテストでは、各検定およびホールドアウト分割に少なくとも20行が必要で、各トレーニング分割に少なくとも100行が必要です。 その条件を満たさない結果が生じるバックテストを設定した場合、DataRobotでは、最小限の条件を満たすバックテストだけが実行されます(該当するバックテストにはアスタリスクが表示されます)。 * 時系列の場合、バックテストでは、検定およびホールドアウトに少なくとも4行が必要で、トレーニング分割に少なくとも20行が必要です。 多数のバックテストを設定しても、その条件を満たすパーティションがない場合、プロジェクトが失敗する可能性があります。 See the time series partitioning reference for more information.
パーティションの期間を変更¶
次に、バックテストパーティションを設定。 設定を変更しない場合、DataRobotは行をバックテストに均等に分散します。 ただし、バックテストのギャップ、トレーニング、検定、ホールドアウトのデータは、次のいずれかの方法でカスタマイズできます。
- エクスペリメント内のすべてのバックテストにグローバルに適用するには、ドロップダウンを使用します。
- 個々のバックテストに変更を適用するには、表示されているバーをクリックします。 個々の設定はグローバル設定を上書きします。 個々のバックテストの設定を変更すると、編集したバックセットにはグローバル設定の変更は適用されません。
エクスペリメントの設定にバックテストを追加すると、使用されるトレーニングデータの期間が短縮されます。 検定とギャップは、ドロップダウンで設定された期間に維持されます(バックテストごとに個別に変更されていない場合)。
デフォルトのパーティション設定を確認し、必要に応じてクリックして変更を加えます。
ここでは、各パーティションのアプリケーションの概要を示しますが、詳細についてはリンクされた資料を参照してください。
パーティション | 説明 |
---|---|
デフォルトの検定期間 | モデルパフォーマンスの評価に使用されるトレーニングセットの一部ではないテスト—データに使用されるパーティションのサイズを設定します。 |
デフォルトのギャップ期間 |
テストの表示で変更がどのように反映されるかに注意してください。
個々のバックテストパーティションの設定¶
どのパーティションに設定する(トレーニング、検定、ギャップ)かに関係なく、編集画面の要素の機能は同じです(ホールドアウトは多少違います)。 個々のバックテストの期間を変更するには、最初にカラーバンドにカーソルを合わせると、特定の期間設定の詳細が表示されます。
次に、個々のバックテストの期間を修正するには、バックテストをクリックして入力を開きます。
バックテストは、開始日と終了日、または開始日と期間のいずれかに基づいています。 ギャップトグル パーティション間のギャップを追加に設定して有効にすることは、日付または期間設定から派生します。 つまり、ギャップは、トレーニング終了と検定開始の間の時間ステップを残すことによって作成されます(ギャップがない場合は同じです)。
開始日と終了日に基づいてカスタマイズするには:
- ギャップありで、トレーニングと検定の両方の開始と期間を設定します。
- ギャップなしで、トレーニングの開始、トレーニング期間、検定期間を設定します。
開始日と期間に基づいてカスタマイズするには:
- ギャップありで、トレーニングと検定の開始と終了を設定します。
- ギャップなしで、トレーニングの開始、トレーニングの終了、検定の開始、検定の終了を設定します。
いずれの場合でも、DataRobotはエントリーを検証し、必要な変更があれば報告します。
次に、有効なことを報告し、入力ボックスの下に時間ウィンドウを設定します。
設定が完了したら、変更を保存をクリックします。
データ要素を変更すると、バックテストに編集済みラベルが追加されます。 Use the Reset to defaults link to manually reset durations or number of backtests to the default settings.
ホールドアウトを変更¶
デフォルトでは、プロジェクト内のトレーニングモデルのホールドアウト分割が作成されます。
ホールドアウトを変更する際の注意事項
- 一般的に、ホールドアウトはエクスペリメントに大きく依存しますが、合計期間の約10%で、 n 週間、 n か月などの"自然"時間枠に丸めることができます。 (これは、単純な時間認識か時系列かによって異なります。) DataRobotの計算の説明については、パーティショニングログを参照してください。
- 設定できるのはホールドアウトバックテストのホールドアウトだけで、そのバックテストのトレーニングデータサイズを変更することはできません。 DataRobotは、ホールドアウトバックテストのトレーニングパーティションを自動的に設定します。
- 最初のパーティショニング検出中に、順序付け(日付/時刻)特徴量、系列ID、またはターゲットのバックテスト設定には、検定とホールドアウトの両方をカバーするのに十分な行がない場合、DataRobotは自動的にホールドアウトを無効化します。 他のパーティショニング設定(検定やギャップ期間、開始/終了日など)が変更された場合、手動で無効にしない限り、ホールドアウトは影響を受けません。
ホールドアウトの長さを変更するには、ホールドアウトバックテストをクリックして入力を開き、新しい値を入力します。
- 開始日と終了日に基づいてカスタマイズするには、ホールドアウトの開始日と終了日を入力します。
- 開始日と期間に基づいてカスタマイズするには、ホールドアウトの開始と期間を入力します。
トレーニングの時間範囲とギャップ設定は自動的に設定され、ホールドアウトバックテストでは変更できないことに注意してください。
備考
場合によっては、ホールドアウトセットなしでのプロジェクト作成が望ましいことがあります。 ホールドアウトを追加ボックスをオフにします。 検定とホールドアウトを切り替えるオプションのあるインサイトには、ホールドアウトオプションが表示されません。
4. サンプリングの設定¶
バックテストが完了したら、 行の割り当てとサンプリング方法を設定します。
行の割り当て¶
デフォルトでは、各バックテストの期間(デフォルト、またはドロップダウンか視覚化のバーで設定した値)は同じになります。 バックテストで同じ時間の長さではなく、同じ数の行を使用する場合は、1つのバックテストと等しい行数トグルを使用します。
備考
時系列プロジェクトには、特徴量エンジニアリングの期間中に使用されるトレーニングデータの行の割り当て(行数または期間)を設定するオプションもあります。 Configure this setting in the training window format section.
-
1つのバックテストと等しい行数を選択(パーティションが行ベースの割り当てに設定されます)した場合、適用できるのは「トレーニング終了日」だけです。
-
時系列のエクスペリメントでは、1つのバックテストと等しい行数をオンにすると、表示される日付は情報提供の目的のみ(近似)になり、特徴量の派生および予測ポイントウィンドウで設定されたパディングが含まれます。
サンプリング方法¶
バックテストにデータを割り当てるためのメカニズム/モードを選択したら、サンプリング方法(ランダムまたは最新)を選択して、データセットから行を割り当てる方法を選択します。
サンプリング方法の設定は、データセットが時間の経過とともに均等に分散されない場合に特に役立ちます。 たとえば、データが最新の日付に偏っている場合、ランダム行50%と最新の行50%の結果はまったく異なります。 データをより正確に選択することで、DataRobotがトレーニングするデータをより細かく制御できます。
初期値に戻す¶
バックテスト設定を変更して保存すると、バックテストにはバッジ(編集済み)が表示されます。 初期値に戻すリンクを使用して、バックテストの期間または数をデフォルト設定に手動でリセットできます。 時系列エクスペリメントの場合、このアクションではウィンドウ設定はリセットされません。
次のアクション¶
時間認識予測のモデリングでは、モデリング設定に問題がなければ、モデリングを開始をクリックして、クイックモードでのオートパイロットモデリングプロセスを開始します。 または、以下の予測を行うために設定を続行します。