時系列のインサイト¶
このセクションでは、 モデリングの前と モデルが構築された後の両方で、データとモデルの解釈に役立つ視覚化について説明します。
モデリングの前¶
以下のインサイトは、 モデリング段階に応じて可用性が異なり、データを理解するのに役立ちます。
特徴量の時間経過チャートを理解する¶
時間経過チャートでは、元のモデリングデータと派生データの両方でプライマリ日付/時刻特徴量で特徴量がどのように変化するかを表示することによって、トレンドと潜在的なギャップを識別できます。 チャートは、すべての時間認識プロジェクト(OTV、単一系列、および複数系列)で使用可能です。 時系列の場合、ユーザー設定の各予測距離に使用できます。
ページのツールを使用して、特定の時間範囲にフォーカスできます。 OTVと単一系列プロジェクトのディスプレイオプションは、複数系列のオプションとは異なります。 時間経過チャートを表示するには、最初にチャートデータを計算する必要があります。 計算が完了したら、次の操作を行います。
-
チャートの粒度を設定します。 解像度オプションはDataRobotによって自動検出されます。 全てのプロジェクトタイプで解を設定できます(複数系列プロジェクトの場合、このオプションは追加設定にあります)。
-
ヒストグラムの表示と非表示を切り替えて、EDA1で使用されているビンを視覚化します。
-
チャートの下にあるデータ範囲スライダーを使用して、時間プロットの特定の範囲をハイライトします。 小さいデータセットの場合、選択された部分にスライダーをドラッグできます。 大きいデータセットでは、ブロックページネーションが使用されます。
-
複数系列のプロジェクトについて、予測距離と個々の系列(または系列間の平均)の両方をプロットするように設定できます。
時系列プロジェクトの場合、データページには派生した特徴量の作成プロセスを理解するのに役立つ特徴量の系統チャートも用意されています。
ホールドアウトなしでのパーティション¶
データポイントの数が限られている場合など、ホールドアウトセットなしでのプロジェクト作成が望ましい場合があります。 日付/時刻分割プロジェクトの最少データ取込みサイズは140行です。 ホールドアウト分割を追加がオフの場合、最小取込みは120行になります。
DataRobotのデフォルト設定では、ホールドアウト分割が作成されます。 スイッチをオフにすると、表示から赤いホールドアウト分割が消え(バックテスト分割と検定分割のみが表示されます)、バックテストが再計算されて右側にシフトします。 その他の設定機能は変更されません(検定長とギャップ長およびバックテストの数は引き続き変更可能です)。 プロジェクトが構築された後、リーダーボードには、検定スコアとバックテストスコアが表示されますが、ホールドアウトスコアやホールドアウトのロックを解除オプションは表示されません。
ホールドアウト分割を作成しない場合のその他の違いを以下に示します。
- リフトチャートとROC曲線は両方とも、そのデータソースとして設定した検定セットを使用してのみ構築できます。
- モデル情報タブには、ホールドアウトバックテストやホールドアウト関連の注意は表示されません。
- 予測タブから計算できる予測は、すべてのデータと検定だけです。
- 学習曲線グラフには、検定またはホールドアウトにトレーニングされたモデルはプロットされません。
- モデル比較では、検定およびバックテストの結果だけが使用されます。
[特徴量の系統]タブ¶
ログに表示される結果を十分に把握するには、特徴量の系統タブを使用して、派生した特徴量を生成するために実行された各アクション(系統)を示す視覚的な「説明」を表示します。 元のアップロードされたデータセットに存在しなかった特徴量がどのように作成されたかを理解するのは難しい場合があります。 特徴量の系統を使用すると、派生した機能だけでなく、最終結果に至るまでのステップを簡単に特定できます。
データページから、特徴量の系統をクリックし、派生した特徴量を生成するために実行された各アクションを確認できます。これは特徴量間の関係性を示す接続グラフ(有向非巡回グラフ)として表されます。
より複雑な派生(差異のある派生など)の場合、グラフは差異がどのように計算されたかを示します。
視覚化の要素は系統を表します。 グラフ内のセルをクリックして、選択したセルの生成に関連する前のセルを表示します。親アクションは、クリックした要素の左側にあります。 特徴量を1回クリックすると、その親特徴量が表示されます。再度クリックすると完全な表示に戻ります。
グラフは次の要素を使用します。
要素 | 説明 |
---|---|
変換前 | 元のデータセットの特徴量。 |
時系列 | 特徴量派生プロセスにおけるアクション(前処理のステップ)。 各アクションは、最終的な特徴量名で表されます。 |
結果 | 最終的に生成された特徴量。 |
情報() | 要素に関する動的に生成された情報(カーソルを置いたとき)。 |
時計 () | 特徴量が時間認識であること(min value over 6 to 0 months や2nd lag などの時間インデックスを使用して派生)を示すインジケーター。 |
時間認識モデルの構築¶
開始をクリックすると、モデル構築プロセスが開始し、リーダーボードに結果が返されます。 時系列モデリングでは日付/時刻のパーティショニングが使用されるので、バックテストの実行、ウィンドウサンプリングの変更、トレーニング期間の変更などをリーダーボードから行うことができます。
備考
モデルパラメーターの選択は、日付/時刻パラメータープロジェクトに対してカスタマイズされていません。 ほとんどの場合はパラメーターの自動選択によって良好な結果が得られますが、日付/時刻のパーティションを使用するいくつかのプロジェクトで高度なチューニングを行うとパフォーマンスが著しく向上することがあります。
日付期間特徴量¶
モデリングに元の日付があるとリスクが高いため(過剰適合や適切に補完されない木型モデルなど)、DataRobotは通常、日付変換特徴量が派生されていない場合は有用な特徴量セットから除外します。 代わりに、OTVプロジェクトでは、DataRobotは日付特徴量とプライマリー日付の差から計算された期間特徴量を作成します。 その後、最適化された有用な特徴量セットに期間特徴量が追加されます。 自動化プロセスは以下の項目を作成します。
- 新しい期間特徴量
- 新しい特徴量セット
新しい期間特徴量¶
派生した特徴量(時刻、曜日など)が作成された場合、新しく派生した特徴量の特徴量タイプは日付ではありません。 代わりに、カテゴリー、数値などになります。 モデルがより適切に時間距離を学習するようにするため、DataRobotは、プライマリーと非プライマリー日付間の期間を計算し、その計算を特徴量として追加し、すべての非プライマリー日付を削除します。
具体的には、OTVプロジェクトで日付派生が発生すると、DataRobotは日付間の期間から計算された1つ以上の特徴量を作成します。 新しい特徴量の名前はduration(<from date>, <to date>)
で、<from date>
はプライマリー日付です。 データページに表示された特徴量の型はDate Duration
を示します。
時間単位が異なる場合でも、変換は適用されます。 その場合、DataRobotは秒単位で時間を計算し、データページに情報(場合によっては大きな整数)を表示します。 <to date>
はプライマリー日付以前の場合があるため、値が負になることもあります。
新しい特徴量セット¶
有用な特徴量と元の特徴量に基づいて自動的に作成された新しい特徴量セットは、期間特徴量を追加した元の特徴量コピーです。 それらは同じ名前ですが、「時間対応モデリングに最適化」が追加されます。 (有用性上位の特徴量セットの場合、元の日付特徴量が有用性上位の特徴量セットに含まれている場合にのみduration
特徴量が追加されます。)
フルオートパイロットまたはクイックオートパイロットを実行すると、後ほどEDA2プロセスで新しい特徴量セットが作成されます。 DataRobotは、オートパイロットプロセスを切り替えて、新しい最適化されたリストを使用します。 最適化されていないセットの1つを使用するには、希望のリストを指定するオートパイロットを再実行する必要があります。
リーダーボード上の日付/時刻モデル¶
開始をクリックすると、モデル構築プロセスが開始し、リーダーボードに結果が返されます。
備考
モデルパラメーターの選択は、日付/時刻パラメータープロジェクトに対してカスタマイズされていません。 ほとんどの場合はパラメーターの自動選択によって良好な結果が得られますが、日付/時刻のパーティションを使用するいくつかのプロジェクトで高度なチューニングを行うとパフォーマンスが著しく向上することがあります。
リーダーボードのほとんどの要素は同じですが、DataRobotにおける推奨モデルの計算および割り当ては、以下に示すように異なります。 また、日付/時刻でパーティション分割されたモデルのサンプルサイズの表示形式も異なります。 特徴量セットとサンプルサイズの下にあるデフォルトの表示リストでは、特定のモデルの構築に使用されたデータセットの割合ではなく、サンプリング方法(ランダム/最新)および次のいずれかが表示されます。
-
開始日/終了日(手動で追加、または推奨モデルに自動的に割り当て):
-
モデルの構築に使用する期間:
-
行数:
-
プロジェクト設定ラベル(カスタムバックテスト構成を示します):
特徴量セットとサンプルサイズから利用可能なドロップダウンを使用して、時間ウィンドウのサンプルパーセント、サンプリング方法、および特徴量セットでリーダーボード表示をフィルタリングできます。 これを使用して、単一のオートパイロットステージでモデルなどを簡単に選択できます。
日付/時刻のパーティションを使用すると、オートパイロットでは、使用するデータの量は最適化されません。 長さの異なるトレーニングウィンドウでは、より多くのデータを含めること(長いモデルトレーニング期間、または最新のデータにフォーカスすること(短いトレーニング期間)によってパフォーマンスが向上することがあります。 短いトレーニング期間または長いトレーニング期間を使用することによって、モデルパフォーマンスが向上することがあります。 トレーニング期間は、リーダーボードのモデルを追加オプションでカスタマイズできます。
パーティション依存におけるもう1つの違いは、検定スコアの生成方法です。 日付のパーティショニングでは、最初のバックテスト(ホールドアウトテストのすぐ下に表示される部分)だけを使用してモデルが構築され、スコアがリーダーボードに表示されます。 行数または期間モデルのホールドアウトスコア(有効な場合)を計算する場合、最初のバックテストでのトレーニングが行われ、パラメーターが固定されてホールドアウトモデルがトレーニングされます。 この方法では、複数のモデルの関係性は同じになります(バックテスト1トレーニングの終わりからバックテスト検定の最初は、ホールドアウトトレーニングデータの終わりからホールドアウトの最初までの期間に等しくなります)。
ただし、バックテストのスコアは選択したサンプリング方法によって異なります。 DataRobotでスコアリングできるのは、限られた数のモデルのすべてのバックテストだけです(他のモデルは手動で実行する必要があります)。 自動的に実行されるバックテストは、以下に基づいています。
-
ランダムでは、DataRobotは利用可能な最大サンプルサイズで常に最良のブループリントをバックテストします。 たとえば、
BP0 on P1Y @ 50%
が最高のスコアで、BP0をP1Y@25%
とP1Y@50%
、P1Y
(100%モデル)でトレーニングしていた場合、DataRobotはP1YでトレーニングされたBP0のすべてのバックテストをスコアリングします。 -
最新では、DataRobotはバックテストに最適なモデルの正確なトレーニング設定を保持します。 この場合、
BP0 on P1Y @ 50%
のすべてのバックテストがスコアリングされます。
検定セットのスコアリングに使用するモデルがリーダーボードに表示されているトレーニングサイズよりも小さいデータでトレーニングされた場合、スコアにはアスタリスクが表示されます。 これは、トレーニングサイズが完全なサイズからホールドアウトを除外したサイズに等しい場合に発生します。
交差検定と同様に、他の設定済みバックテスト用に個別のビルドを開始する必要があります(最初にバックテストの数を1より大きい値に設定した場合)。 リーダーボードからモデルの実行リンクをクリックするか、「リーダーボード」メニューから選択したモデルのすべてのバックテストを実行を使用します。 (このオプションを使用して一度に1つまたは複数のモデルのバックテストを実行できます。)
全てのバックテスト列に表示される結果のスコアは、すべてのバックテストの平均スコアを表します。 バックテストスコアリングの詳細については、モデル情報の説明を参照してください。
トレーニング期間の変更¶
備考
最終デプロイの前に最新のデータでのモデルの再トレーニングを行うことが推奨されます。
トレーニング範囲およびサンプル率を変更し、日付パーティショニングビルドの特定のモデルを返すことができます。 モデルを構築した後に検定パーティションの期間を変更することはできないことに注意してください。この設定は、構築を開始する前にのみ高度なオプションリンクから使用できます。 プラス記号(+)をクリックして、新しいトレーニング期間ダイアログを開きます。
新しいトレーニング期間ボックスには、次の表で説明する複数のセレクターがあります。
選択項目 | 説明 | |
---|---|---|
1 | フローズン実行トグル | 実行を固定 |
2 | トレーニングモード | 別のトレーニング期間を使用してモデルを再実行する。 値の設定をする前に、行数とそれに対する期間、及びそれらがデータ群にどのように適用されるのかの詳細を参照してください。 |
3 | 切り替え先 | 事前定義済みのポイントに「スナップ」して値の入力を行い、手動でのスクロールや計算を回避できます。 |
4 | 時間ウィンドウサンプリングを有効化 | 期間または開始/終了トレーニングモードで、時間ウィンドウ内のデータのサブセットをトレーニングします。 選択して有効にし、割合を指定します。 |
5 | サンプリング方法 | データセットから行を割り当てるサンプリング方法を選択します。 |
6 | サマリーグラフ図 | モデルの構築に使用された観測値およびテストパーティションのサマリーを表示します。 |
7 | 最終モデル | 日付を調整すると変化するイメージを表示し、予測を行うモデルで使用するデータを反映させます(以下の備考を参照)。 |
新しい値を設定した後、新しいトレーニング期間で実行をクリックします。 新しいモデルが構築され、リーダーボードに表示されます。
期間の設定¶
モデルで使用するトレーニング期間を変更するには、ダイアログの期間タブを選択して、新しい期間を設定します。 期間は、検定の最初(左側)から測定されます。 期間オプションでは、時間ウィンドウサンプリングを有効にすることもできます。
観測値範囲外の期間に対してはエラーが返されます。 また、使用可能な単位は時間の形式に依存します(たとえば、形式が%d-%m-%Y
の場合、時間、分、および秒は使用できません)。
行数の設定¶
モデルの構築に使用される行数は、サンプルサイズとしてリーダーボードにレポートされます。 このサイズを変更するには、ダイアログの行数タブをクリックして新しい値を入力します。
開始日と終了日を設定する¶
トグルをクリックしてフローズン実行を有効にした場合、元のモデル実行で確立されたパラメーター設定が新しく指定したサンプルで再使用されます。 フローズン実行を有効にすると、3番目のトレーニング条件(開始/終了日)のロックが解除されます。 この選択を使用して、モデルの構築に使用するデータを手動で指定します。 この設定を使用すると、ホールドアウトのロックを解除した後、ホールドアウトデータでモデルをトレーニングできます。 (デュレーションおよび行数のセレクターでは、ホールドアウトでトレーニングすることはできません。) ホールドアウトがロックされている場合に、この設定をオーバーラップするとモデルの構築が失敗します。 開始日と終了日のオプションでは、時間ウィンドウサンプリングを有効にすることもできます。
開始日と終了日を設定する際は、以下の点に注意してください。
- 一部のデータがモデルの構築に使用されている可能性があるので、DataRobotではバックテストが実行されません。
- 終了日は、データを抽出する際に除外されます。 たとえば、2015年の12月31日までのデータが必要な場合は、終了日は2016年の1月1日に設定する必要があります。
- 検定パーティション(初期モデル構築の前に高度なオプションで設定)がトレーニングデータの後に発生する場合、リーダーボードには検定スコアが表示されます。 それ以外の場合、リーダーボードには「N/A」(該当せず)と表示されます。
- 同様に、モデルの構築にホールドアウトデータが使用された場合、リーダーボードのホールドアウトスコアに「N/A」と表示されます。
- 日付/時刻のパーティショニングでは、1900年以前の日付はサポートされません。
開始/終了日をクリックしてクリック可能なカレンダーを開き、日付を設定します。 カレンダーを開いた際、既存のモデルに使用された日付が最初に表示されます。 日付を調整し、モデルで使用するデータが最終モデルグラフィックに表示されていることを確認します。
時間ウィンドウのサンプリング¶
日付/時刻パーティションプロジェクトで時間ウィンドウ内の一部のデータだけを使用する場合、指定された時間ウィンドウ内の部分データでトレーニングできます。 その場合、Enable Time Windowサンプリングボックスを選択して、パーセンテージを指定します。 DataRobotは、そのパーセンテージのデータを使用して、時間範囲での均一なサンプルを取得します。 この機能は、実行時間やメモリーの制限が生じる可能性のあるときに、完全な時間ウィンドウで季節的な影響をキャプチャする必要のある大きなデータセットの場合に便利です。
サマリー情報の表示¶
モデルを構築した後、モデル情報タブを使用して、モデルの概要、バックテストサマリー、およびリソース使用率に関する情報を確認します。
備考:
-
分割の上にカーソルを置くと、行数、日付、および期間が表示されます(これらの情報は、リーダーボードに表示されている値と異なることがあります)。 ここに表示される情報は、DataRobotでモデルのトレーニングに使用された実測値です。 たとえば、2015年6月1日から2015年6月30日までの開始日/終了日 モデルをリクエストしたが、データセットに2015年6月7日から2015年6月14日までのデータしかない場合、ホバー表示は次のように示します。開始日と終了日の実際の日付(2015年6月7日から2015年6月15日まで)、期間は8日間。
-
モデルの概要は、検定分割の行数のサマリーです(ホールドアウト分割の下の最初の分割)。
-
期間ベースのテストを作成する場合、検定サマリーは行数の違いになることがあります。 この理由は、指定した期間で使用できるデータの行数が異なることがあるからです。
-
バックテストでまだ計算されていませんというメッセージが表示された場合、(データセットのギャップなどが原因で)検定分割に使用できるデータがないことを示します。 すべてのバックテストが完了していなかった場合、DataRobotは、バックテストスコアにアスタリスクを表示します。
-
下部に一覧表示される「reps」は上記のバックテストに相当し、実行が完了した順に表示されます。
モデルの調査¶
The following insights are available from the Leaderboard to help with model evaluation:
タブ | 可用性 |
---|---|
時系列の精度 | OTV:時系列および複数系列の追加オプション |
異常評価 | 異常検知:時系列、複数系列 |
時間経過に伴う異常、異常検知 | OTV、時系列、複数系列 |
予測距離ごとの精度 | 時系列、複数系列 |
予測値と実測値の比較 | 時系列、複数系列 |
期間精度 | OTV、時系列、複数系列 |
セグメンテーション | 時系列/セグメント化されたモデリング |
系列のインサイト | 複数系列 |
安定性 | OTV、時系列、複数系列 |