Skip to content

アプリケーション内で をクリックすると、お使いのDataRobotバージョンに関する全プラットフォームドキュメントにアクセスできます。

日付/時刻パーティション

日付/時刻のパーティショニングは、時系列と時間外検定(OTV)の両方のモデリングをサポートする基盤の構造です。実際、OTV日付/時刻のパーティショニングに、高度な前処理や時系列の精度グラフから得られるインサイトなどの要素を追加したものです。以下のセクションでは、ワークフローについて説明します。DataRobotでの日付の表現方法、日付/時刻の分割の要素(日付形式、モデルのデプロイ、ギャップ、バックテストなど)の詳細については以下を参照してください。

時間認識モデリングをアクティブにするには、パーティショニングを行うための「日付」特徴量の型を含む列がデータセットに必要です。この列が含まれる場合、日付/時刻パーティション特徴量は、開始画面の時間認識モデルを設定リンクから使用できます。時間特徴量を選択した後、高度なオプションリンクを使用してモデル構築の詳細な設定を行うことができます。

このセクションでは、基本的な日付/時刻のパーティショニングワークフローについて説明します。

基本的な必須オプション

時間認識モデルを構築するには:

  1. データセットを読み込んで(ファイルサイズ要件を参照)、ターゲット特徴量を選択します。データセットに日付特徴量が含まれる場合、時間認識モデルを設定リンクがアクティブになります。このリンクをクリックして開始します。

  2. ドロップダウンからプライマリー日付/時刻特徴量を選択します。ドロップダウンには、EDA1で検出されたすべての日付/時刻特徴量がリストされます。

  3. 特徴量を選択すると、ターゲット特徴量に対してプロットされた時間特徴量のヒストグラム(時系列の特徴量)が計算されて読み込まれます。データセットが複数系列のモデリング条件を満たす場合、このヒストグラムは、ターゲット特徴量に対してプロットされたすべての系列にわたる時間特徴量値の平均を表します。

    他の特徴量が時間の経過と共にどのようになるかを参照してトレンドを確認し、データにギャップがあるかどうかを判断します(これが知る必要のあるデータの不備です)。これらのヒストグラムにアクセスするには、数値特徴量を展開して時間経過オプションをクリックします(必要に応じてクリックして計算します)。

    時間経過チャートとは、いくつかの方法で対応できます。詳細については、以下を参照してください。

  4. モデル構築に使用する方法を設定します。選択項目:

備考

最終デプロイの前に最新のデータでのモデルの再トレーニングを行うことが推奨されます。

高度なオプション

高度なオプションを表示リンクを展開して、分割手法の詳細を設定します。時間認識モデリングを有効にすると、高度なオプションではデフォルトで日付/時刻の分割手法が開きます。日付/時刻の分割のバックテストセクションには、時間認識プロジェクトのバックテストを設定するツールがあります。

DataRobotで、選択した特徴量の日付および時刻の形式(標準のGLIBC文字列)が検出されます。これが正しいことを確認します。表示された形式でデータセットの日付列が正確に表現されていない場合、検出された形式に一致するよう元のデータセットを変更して再度アップロードします。

バックテストパーティションを設定します。高度なオプションは、ドロップダウンから設定(グローバル設定の適用)するか、可視化のバーをクリック(個々の設定の適用)することによって構成できます。個々の設定はグローバル設定を上書きします。個々のバックテストの設定を変更すると、編集したバックセットにはグローバル設定の変更は適用されません。

バックテストパーティションのグローバルな変更

次の表にグローバル設定を示します。

選択項目 説明
バックテストの数(1) 交差検定の時系列版に相当する、プロジェクトのバックテストの数を設定します(ランダム行ではなく時間範囲または期間に基づきます)。
検定の長さ(2) 検定用データ分割のサイズを設定します。
ギャップの長さ(3) モデルトレーニングとモデルデプロイの間のギャップを表す時間のスペースを設定します。
サンプリング方法(4) 分割の基準(期間または行)を指定し、ランダムデータと最新データのどちらを使用するかを指定します。

バックテストセクションの表示要素の詳細については、上の表を参照してください。

備考

パーティションの年/月/日の設定を変更すると、可能な場合は月と年の値は大きいクラスに合わせて調整される点に注意してください(たとえば、24か月は2年になります)。しかし、DataRobotではデータに関連付けるときに閏年や月の閏日を考慮できないので、日を上位のコンテナに変換できません。

バックテストの数の設定

必要に応じて、バックテストの数を変更できます。バックテストのデフォルトの数は、プロジェクトパラメーターに依存しますが、最大20まで設定できます。バックテストの数を設定する前に、ヒストグラムを使用して、各分割のトレーニングセットと検定セットにモデルのトレーニングに十分なデータがあることを確認します。OTVの場合、バックテストでは、各検定およびホールドアウト分割に少なくとも20行が必要で、各トレーニング分割に少なくとも100行が必要です。時系列の場合、バックテストでは、検定およびホールドアウトに少なくとも4行が必要で、トレーニング分割に少なくとも20行が必要です。その条件を満たさない結果が生じるバックテストを設定した場合、DataRobotでは、最小限の条件を満たすバックテストだけが実行されます(該当するバックテストにはアスタリスクが表示されます)。

デフォルトでは、プロジェクト内のトレーニングモデルのホールドアウト分割が作成されます。場合によっては、ホールドアウトセットなしでのプロジェクト作成が望ましいことがあります。ホールドアウト分割を追加ボックスをオフにします。ホールドアウト分割をオフにすると、ホールドアウトスコア列はリーダーボードに表示されません(また、ホールドアウトのロックを解除するオプションも表示されません)。検定とホールドアウトを切り替えるオプションを提供するタブには、ホールドアウトオプションが表示されません。

備考

単一のバックセットのプロジェクトを構築する場合、リーダーボードにバックテスト列は表示されません。

検定の長さの設定

期間を変更するには(注意メッセージが表示された場合など)、検定の長さボックスのドロップダウン矢印をクリックして、期間の詳細を入力します。検定の長さは、可視化のバーをクリックして設定することもできます。テストの表示で修正がもたらす変化に注意してください。

ギャップ長の設定

(オプション)ギャップの長さをギャップの長さドロップダウンから設定します。はじめはゼロに設定されており、テストでギャップは処理されません。設定すると、モデルのトレーニングまたは評価に使用するギャップに相当するデータが除かれます。ギャップの長さは、可視化のバーをクリックして設定することもできます。

行または期間の設定

デフォルトでは、各バックテストの 期間(デフォルト、またはドロップダウンか可視化のバーで設定した値)は同じになります。バックテストで同じ時間の長さではなく、同じ数の を使用する場合は、1つのバックテストと等しい行数トグルを使用します。

時系列プロジェクトのトレーニングウィンドウ形式セクションには、特徴量エンジニアリングの基盤として使用されるトレーニングデータの行または期間を設定するオプションがあります。この設定は、データをパーティションに割り当てるために使用するメカニズムを制御します。

バックテストにデータを割り当てるためのメカニズム/モードを選択したら、サンプリング方法(ランダムまたは最新)を選択して、データセットから行を割り当てる方法を選択します。

サンプリング方法の設定は、データセットが時間の経過とともに均等に分散されない場合に特に役立ちます。たとえば、データが最新の日付に偏っている場合、ランダムな行の50%を使用した結果と最新の行の50%を使用した結果は大きく異なります。データをより正確に選択することで、DataRobotがトレーニングするデータをより細かく制御できます。

バックテストパーティションの変更

設定を変更しない場合、DataRobotは行をバックテストに均等に分散します。視覚化で該当するバーまたは鉛筆アイコン()をクリックして、個々のバックテストのギャップ、トレーニング、検定、およびホールドアウトデータをカスタマイズすることもできます。以下の点に注意してください。

  • 設定できるのはホールドアウトバックテスト(「バックテスト0」)のホールドアウトだけで、そのバックテストのトレーニングデータサイズを変更することはできません。

  • 1つのバックテストと等しい行数を選択(パーティションが行ベースの割り当てに設定されます)した場合、適用できるのは「トレーニング終了日」だけです。

  • 1つのバックテストと等しい行数をオンにすると、表示される日付は情報提供の目的のみ(近似)になり、特徴量の派生および予測ポイントウィンドウで設定されたパディングが含まれます。

個々のバックテストの編集

設定する対象(トレーニング、ギャップ、検定、またはホールドアウト)に関係なく、編集画面の要素の機能は同じです。データ要素の上にカーソルを置くと、特定の期間情報をレポートするツールヒントが表示されます。

セクション(1)をクリックすると開始および終了日を変更するツールが開きます。ボックス(2)をクリックするとカレンダーピッカーが開きます。

三角形マーカーは対応する境界を示します。大きい青い三角形()は、アクティブな境界を示します。この境界は、カレンダーピッカーで新しい日付を適用すると変更されます。小さいオレンジの三角形()は、現在選択されていない変更可能なその他の境界ポイントを示します。

トレーニング、検定、およびギャップ(設定されている場合)の現在の期間は、日付入力ボックスの下に表示されます。

データ要素を変更すると、バックテストに編集済みラベルが追加されます。

期間を手動で元の設定に戻した場合を含め、バックテストから編集済みラベルを削除することはできません。すべてのバックテストにグローバルな期間設定を適用するには、プロジェクトをコピーして再起動します。

トレーニングおよび検定の変更

個々のバックテストのトレーニングまたは検定データの期間を変更するには

  1. バックテストをクリックしてカレンダーピッカーツールを開きます。
  2. 変更する要素の三角形をクリックします。オプションは、トレーニング開始(デフォルト)、トレーニング終了/検定開始または検定終了です。
  3. 必要に応じて日付を変更します。

ギャップを変更する

ギャップはトレーニングセットの終わりと検定セットの最初の間の期間で、モデルのトレーニングにおいて意図的に無視されるデータです。ギャップの長さは、グローバルに設定するか、個々のバックテストに対して設定することができます。

ギャップを設定するには、トレーニング終了と検定開始の間の時間を追加します。この操作は、トレーニングの終了時間を早くする、検定の開始時間を遅らせる、またはその両方によって行うことができます。ギャップを設定するには:

  1. トレーニング期間の最後にある三角形をクリックします。

  2. ギャップを追加リンクをクリックします。

    三角形マーカーが追加されます。これらのマーカーは隣り合って表示されますが、選択された(青い)三角形と非アクティブな(オレンジの)三角形は両方とも同じ日付を表します。それぞれ選択できるように2つのマーカーの間には少しスペースがあります。

  3. (オプション)カレンダーピッカーを使用してトレーニング終了日を設定します。設定した日付がギャップ期間の最初になります(トレーニング終了 = ギャップ開始)。

  4. オレンジの検定開始日マーカーをクリックすると、マーカーが青に変わり、現在選択されていることが示されます。

  5. (オプション)検定開始日(検定開始 = ギャップ終了)を設定します。

ギャップは黄色の帯で表されます。帯の上にカーソルを置くと期間が表示されます。

ホールドアウト期間の変更

ホールドアウトの長さを変更するには、ホールドアウトパーティションのバックテスト0の赤い領域(ホールドアウト領域)をクリックします。表示されるホールドアウト開始日の日付をクリックしてカレンダーピッカーを開き、新しい日付を設定します。ホールドアウトパーティションを変更した際に、新しいサイズで問題が発生する可能性がある場合、ホールドアウト分割の横に注意アイコンが表示されます。注意アイコン()をクリックしてドロップダウンを展開し、期間/日付フィールドをリセットします。

期間のロック

選択した要素の期間を変更せずに、バックテストの日付を変更する必要がある場合があります。トレーニング、検定、またはその両方の組み合わせの期間をロックできます。期間をロックするには、目的の期間の一方の端の三角形をクリックします。次に、Shiftキーを押したまま、ロックされた期間のもう一方の端にある三角形を選択します。各要素のカレンダーピッカーが開きます。

いずれかのエントリーで日付を変更します。もう一方の日付が更新され、行った期間の変更が反映されます。

表示を解釈する

日付/時刻のパーティションの表示には、トレーニングおよび検定データのパーティションに加えて、それらのサイズ/期間が示されます。新しい可視化機能を使用すると、モデルを対象領域で確実に検定できます。チャートには、各バックテストのトレーニング、検定、および(該当する場合)ホールドアウトとギャップデータの値の特定の期間が表示されます。具体的には、各バックテストでモデルが目的の期間または関連する期間を表すかどうかを観察できます。スコアが目的の期間を表すかどうか。スコアが役に立つように、十分なデータがバックテストにあるかどうか。

表示に含まれる要素を次の表に示します。

要素 説明
観測値 ダウンサンプリング前のデータセット全体における値(頻度)のビニング分布。これは、特徴量のヒストグラムに表示されるものと同じ情報です。
利用可能なトレーニングデータ 青いバーは指定した分割で使用できるトレーニングデータを示します。これは、使用可能なすべてのデータから検定データまたはホールドアウトデータを除外したものです。
一次トレーニングデータ 点線は、すべてのバックテスト分割からスコアを取得するためにトレーニングできるデータの最大量を示します。トレーニングに使用する任意の時間ウィンドウを後で選択できますが、選択内容によっては、すべてのバックテストスコアを取得できないことがあります。(これは、プライマリートレーニングウィンドウよりも大きいデータでトレーニングを行った場合などに発生します。)一次トレーニングデータの値に等しいか、それよりも小さいデータでトレーニングを行った場合、すべてのバックテストスコアを取得できます。この値よりも大きいデータでトレーニングを行った場合、DataRobotで実行されるテストの数は少なくなり、バックテストスコアにはアスタリスク(*)が表示されます。この値は、設定したバックテストの数に依存します(バックテストの数に応じて変化します)。
ギャップ トレーニングセットの終わりと検定セットの最初の間のギャップで、モデルのトレーニングにおいて意図的に無視されるデータです。
検定 緑のバーで示されるデータのセットで、トレーニングに使用されません(DataRobotでは各バックテストにおいて異なるセクションが選択されます)。これは従来の検定と同様ですが、時間ベースである点が異なります。検定セットはプライマリートレーニングデータの終わり(またはギャップの終わり)の直後から始まります。
ホールドアウト(ホールドアウト分割を追加が選択されている場合のみ) 取り置き済み(非表示)部分のデータで、モデルのトレーニングと検定が終了した後、モデル品質の最終テストとして使用されます。日付/時刻の分割では、ホールドアウトは、トレーニングデータのランダムなサブセットではなく、期間または行ベースの部分です。デフォルトでは、ホールドアウトデータのサイズは検定データのサイズと同じで、ホールドアウトデータには常に最新のデータが含まれます。(ただし、ホールドアウトのサイズはユーザーが設定できます。)
バックテストx トレーニングモデルに使用する時間ベースまたは行ベースの分割。ホールドアウトバックテストは「バックテスト0」と呼ばれ、可視化でホールドアウトとしてラベル化されます。小さいデータセットの場合、およびオートパイロットからの最高のスコアリングモデルの場合、すべてのバックテストが実行されます。大きいデータセットの場合は、モデル構築には、リストの最初のバックテストが使用されます。このスコアは、リーダーボードの「検定」列に表示されます。その後のバックテストは、リーダーボードで手動で開始しないと実行されません。

さらに、表示には時間経過に伴うターゲットおよび観測値のヒストグラムが含まれます。これらの表示を使用して、モデルの比較、測定、および評価を行う時間範囲を可視化して「対象領域」を識別します。例えば、表示は時間経過に伴うデータの密度やデータにギャップがあるかどうかを判断する場合に役立ちます。

表示では、緑はDataRobotがモデルを検定しているデータの選択範囲を表します。「全てのバックテスト」スコアは、この領域の平均です。グラデーションは各バックテストおよびトレーニングデータとの潜在的なオーバーラップを表します。

時間の経過に伴うターゲット値グラフを調査して、データ変動がある領域を見つけます。これらの領域のモデルを比較することをお勧めします。観測値チャートを使用して、特定のバックテストに含まれるデータの量が適切かどうかを判断します。

最後に、ロックされたホールドアウトセクションである赤部をクリックして、データ内でホールドアウトスコアが測定されている場所を確認し、それがデータセットの中で一貫した表示となっているかをチェックできます。

リーダーボード上の日付/時刻モデル

開始をクリックすると、モデル構築プロセスが開始し、リーダーボードに結果が返されます。

備考

モデルパラメーターの選択は、日付/時刻パラメータープロジェクトに対してカスタマイズされていません。ほとんどの場合はパラメーターの自動選択によって良好な結果が得られますが、日付/時刻のパーティションを使用するいくつかのプロジェクトで高度なチューニング を行うとパフォーマンスが向上することがあります。

リーダーボードのほとんどの要素は同じですが、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つまたは複数のモデルのバックテストを実行できます。)

すべてのバックテスト列に表示される結果のスコアは、すべてのバックテストの平均スコアを表します。バックテストスコアリングの詳細については、モデル情報の説明を参照してください。

トレーニング期間の変更

備考

最終デプロイの前に最新のデータでのモデルの再トレーニングを行うことが推奨されます。

トレーニング範囲およびサンプル率を変更し、日付パーティショニングビルドの特定のモデルを返すことができます。モデルを構築した後に検定パーティションの期間を変更することはできないことに注意してください。この設定は、構築を開始する前にのみ高度なオプションリンクから使用できます。プラス記号(+)をクリックして、新しいトレーニング期間ダイアログを開きます。

新しいトレーニング期間ボックスには、次の表で説明する複数のセレクターがあります。

選択項目 説明
フローズン実行トグル 実行を固定
トレーニングモード 別のトレーニング期間を使用してモデルを再実行する。値の設定をする前に、行数とそれに対する期間、及びそれらがデータ群にどのように適用されるのかの詳細を参照してください。
スナップ 事前定義済みのポイントに「スナップ」して値の入力を行い、手動でのスクロールや計算を回避できます。
時間ウィンドウサンプリングを有効化 期間または開始/終了トレーニングモードで、時間ウィンドウ内のデータのサブセットをトレーニングします。選択して有効にし、割合を指定します。
サンプリング方法 データセットから行を割り当てるサンプリング方法を選択します。
サマリーグラフ図 モデルの構築に使用された観測値およびテストパーティションのサマリーを表示します。
最終モデル 日付を調整すると変更されるイメージ(予測を作成するモデルで使用するデータが反映されます)を表示します(以下の備考を参照)。

新しい値を設定した後、新しいトレーニング期間で実行をクリックします。新しいモデルが構築され、リーダーボードに表示されます。

期間の設定:

モデルで使用するトレーニング期間を変更するには、ダイアログの「期間」タブを選択して、新しい期間を設定します。期間は、検定の最初(左側)から測定されます。期間オプションでは、時間ウィンドウサンプリングを有効にすることもできます。

観測値範囲外の期間に対してはエラーが返されます。また、使用可能な単位は時間の形式に依存します(例えば、形式が%d-%m-%Yの場合、時間、分、および秒は使用できません)。

行数の設定:

モデルの構築に使用される行数は、サンプルサイズとしてリーダーボードにレポートされます。このサイズを変更するには、ダイアログの行数タブをクリックして新しい値を入力します。

開始日と終了日を設定する:

トグルをクリックしてフローズン実行を有効にした場合、元のモデル実行で確立されたパラメーター設定が新しく指定したサンプルで再使用されます。フローズン実行を有効にすると、3番目のトレーニング条件(開始/終了日)のロックが解除されます。この選択を使用して、モデルの構築に使用するデータを手動で指定します。この設定を使用すると、ホールドアウトのロックを解除した後、ホールドアウトデータでモデルをトレーニングできます。(期間および行数のセレクターでは、ホールドアウトでトレーニングすることはできません。) ホールドアウトがロックされている場合に、この設定をオーバーラップするとモデルの構築が失敗します。開始日と終了日のオプションでは、時間ウィンドウサンプリングを有効にすることもできます。

開始日と終了日を設定する際は、以下の点に注意してください。

  • 一部のデータがモデルの構築に使用されている可能性があるので、DataRobotではバックテストが実行されません。
  • 終了日は、データを抽出する際に除外されます。たとえば、2015年の12月31日までのデータが必要な場合は、終了日は2016年の1月1日に設定する必要があります。
  • 検定パーティション(初期モデル構築の前に高度なオプションで設定)がトレーニングデータの後に発生する場合、リーダーボードには検定スコアが表示されます。それ以外の場合、リーダーボードには「N/A」(該当せず)と表示されます。
  • 同様に、モデルの構築にホールドアウトデータが使用された場合、リーダーボードのホールドアウトスコアに「N/A」と表示されます。
  • 日付/時刻のパーティショニングでは、1900年以前の日付はサポートされません。

開始/終了日をクリックしてクリック可能なカレンダーを開き、日付を設定します。カレンダーを開いた際、既存のモデルに使用された日付が最初に表示されます。日付を調整し、モデルで使用するデータが最終モデルグラフィックに表示されていることを確認します。

時間ウィンドウのサンプリング

日付/時刻パーティションプロジェクトで時間ウィンドウ内の全てのデータを使用したくない場合、指定された時間ウィンドウ内の部分データでトレーニングすることができます。その場合、時間ウィンドウサンプリングを有効化ボックスを選択して、パーセンテージを指定します。DataRobotは、そのデータのパーセンテージを使用して時間範囲に一様のサンプルを取得します。この特徴量は、季節性の効果を取得するために完全な時間ウィンドウを必要とするデータセットを必要としますが、実行時間メモリーの制限に直面する可能性があるデータセットの場合に役立ちます。

サマリー情報の表示

モデルを構築した後、モデル情報タブを使用して、モデルの概要、バックテストサマリー、およびリソース使用率に関する情報を確認します。

メモ:

  • 分割の上にカーソルを置くと、行数、日付、および期間が表示されます(これらの情報は、リーダーボードに表示されている値と異なることがあります)。ここに表示される情報は、DataRobotでモデルのトレーニングに使用された実測値です。例えば、6/1/2015から6/30/2015の開始/終了日モデルを要求したときに、データセットに6/7/2015から6/14/2015のデータしか含まれていない場合を考えてみます。カーソルを置いたときに表示される情報は、8日間の期間で開始日と終了日に使用された実際の日付(6/7/2015から6/15/2015まで)を示します。

  • モデルの概要 は、検定分割の行数のサマリーです(ホールドアウト分割の下の最初の分割)。

  • 期間ベースのテストを作成する場合、検定サマリーは行数の違いになることがあります。この理由は、指定した期間で使用できるデータの行数が異なることがあるからです。

  • バックテストでまだ計算されていませんというメッセージが表示された場合、(データセットのギャップなどが原因で)検定分割に使用できるデータがないことを示します。データセットがすべて完了しなかった場合、バックテストスコアにアスタリスクが表示されます。

  • 下部に一覧表示される「reps」は上記のバックテストに相当し、実行が完了した順に表示されます。

詳細情報

このセクションでは、日付/時刻のパーティション特徴量の使用に関する詳細について説明します。

特徴量の時間経過チャートを理解する

時間経過チャートでは、元のモデリングデータと派生データの両方でプライマリー日付/時刻特徴量で特徴量がどのように変化するかを表示することによって、トレンドと潜在的なギャップを識別できます。チャートは、すべての時間認識プロジェクト(OTV、単一系列、および複数系列)で使用可能です。時系列の場合、ユーザー設定の各予測距離に使用できます。

ページのツールを使用して、特定の時間範囲にフォーカスできます。OTVと単一系列プロジェクトの表示オプションは、複数系列のオプションとは異なります。時間経過チャートを表示するには、最初にチャートデータを計算する必要があります。計算した後:

  1. チャートの粒度を設定します。解像度オプションはDataRobotによって自動検出されます。全てのプロジェクトタイプで解を設定できます(複数系列プロジェクトの場合、このオプションは追加設定にあります)。

  2. ヒストグラムの表示と非表示を切り替えて、EDA1で使用されているビンを視覚化します。

  3. チャートの下にあるデータ範囲スライダーを使用して、時間プロットの特定の範囲をハイライトします。小さいデータセットの場合、選択された部分にスライダーをドラッグできます。大きいデータセットでは、ブロックページネーションが使用されます。

  4. 複数系列のプロジェクトについて、予測距離と個々の系列(または系列間の平均)の両方をプロットするように設定できます。

時系列プロジェクトの場合、データページには派生した特徴量の作成プロセスを理解するのに役立つ特徴量の系統チャートも用意されています。

ホールドアウトなしでのパーティション

データポイントの数が限られている場合など、ホールドアウトセットなしでのプロジェクト作成が望ましい場合があります。日付/時刻分割プロジェクトの最小データ取込みサイズは140行です。ホールドアウト分割を追加がオフの場合、最小取込みは120行になります。

DataRobotのデフォルト設定では、ホールドアウト分割が作成されます。スイッチをオフにすると、表示から赤いホールドアウト分割が消え(バックテスト分割と検定分割のみが表示されます)、バックテストが再計算されて右側にシフトします。その他の設定機能は変更されません(検定長とギャップ長およびバックテストの数は引き続き変更可能です)。プロジェクトが構築された後、リーダーボードには、検定スコアとバックテストスコアが表示されますが、ホールドアウトスコアやホールドアウトのロックを解除オプションは表示されません。

ホールドアウト分割を作成しない場合のその他の違いを以下に示します。

  • リフトチャートROC曲線は両方とも、そのデータソースとして設定した検定セットを使用してのみ構築できます。
  • モデル情報タブには、ホールドアウトバックテストやホールドアウト関連の警告は表示されません。
  • 予測タブから計算できる予測は、すべてのデータ検定だけです。
  • 学習曲線グラフには、検定またはホールドアウトにトレーニングされたモデルはプロットされません。
  • モデル比較では、検定およびバックテストの結果だけが使用されます。

バックテストが終了すると、モデルの1つ(最も精度の高い非アンサンブルモデル)が選択され、デプロイ用に準備されます。準備されたモデルには、デプロイ推奨バッジが付けられます。時系列プロジェクトの準備プロセスを以下に説明します。

  1. 最初に、選択されたモデルの特徴量のインパクトが計算され、その結果を使用して削減済み特徴量リストが生成されます。

  2. 次に、選択されたモデルが削減済み特徴量リストで再トレーニングされます。(選択したモデルが 開始/終了モデルである場合、これはフローズンなので削減済み特徴量セットや最新のデータで再トレーニングされません。)

  3. 新しいモデルのパフォーマンスが元のモデルよりも優れている場合、DataRobotは最新のデータでより良いスコアリングモデルを再トレーニングします(元のモデルと同じ期間/行数が使用されます)。期間を使用し、同等の期間でトレーニングに十分な行が提供されない場合、期間は最小要件が満たされるまで拡張されます。

時系列モデルには、2つの例外があります。

  • 特徴量の削減は、ベースライン(ナイーブ)およびARIMAモデルに対して実行できません。この理由は、これらのモデルではdate+naive予測特徴量だけが使用されるからです(削減するものがありません)。
  • トレーニングでは加重が使用されず、再トレーニングが必要ないので、ベースライン(ナイーブ)モデルは最新のデータで再トレーニングされません。

インサイトのタブにアクセスする

最新のデータでモデルを再トレーニング* すると、アウトオブサンプル予測のないモデルが生成されます(アウトオブサンプルには多くのリーダーボードインサイトが依存します)。したがって、最新のデータでトレーニングされた子(推奨および再構築)モデルには、再トレーニングしたモデルをスコアリングする追加サンプルがありません。インサイトはDataRobotの推奨を理解したり、モデルパフォーマンス分析を進めたりする上で、主要なコンポーネントなので、親(元の)モデルのインサイトが子(固定)モデルにリンクされます。

* この状況は、モデルがホールドアウトにトレーニングされた場合でも発生することがあります(「スリム実行」モデルにもスタックされた予測がありません)。

影響を受けるインサイトを以下に示します。

  • ROC曲線
  • リフトチャート
  • 混同行列
  • 安定性
  • 予測の精度
  • 系列のインサイト
  • 時系列の精度
  • 特徴量ごとの作用\特徴量ごとの予実

最終モデルについて

元の(「最終」)モデルはホールドアウトデータなしでトレーニングされているので、最新のデータが含まれません。これは最初のバックテストを表します。したがって、予測は、インサイト、係数、およびモデルの評価に役立つタブに表示されるその他のデータに一致します。(これは、新しいトレーニング期間ダイアログ内の最終モデル表現で、モデルが使用するデータを表示することによって検証できます。)より最新のデータを使用する場合は、開始日と終了日を使用してモデルを再トレーニングします。

デプロイ前の再トレーニング

モデルを選択してホールドアウトのロックを解除した後、(ハイパーパラメーターが固定された状態であっても)予測の精度を確認するためにモデルを再トレーニングすることができます。元のデータはホールドアウトデータを使用せずにトレーニングされているので、最新のデータが含まれていません。これは、新しいトレーニング期間ダイアログの最終モデルをクリックし、データモデルで使用されるデータを表示することによって確認できます。モデルを再トレーニングするには、次の手順を実行します。

  1. リーダーボードで、プラス記号(+)をクリックして新しいトレーニング期間ダイアログを開き、トレーニング期間を変更します。

  2. 最終モデルを表示して、モデルが最新のデータでトレーニングされていることを確認します。

  3. スライダーをクリックして、フローズン実行を有効にします。

  4. 開始/終了日を選択して、再トレーニングに使用する(ホールドアウトデータの日付を含む)データの日付を入力します。「+1」の手法を使用することを忘れないでください(指定する最後の日付の翌日の日付を入力します)。

日付/日付範囲の表現

DataRobotでは、データ内の日付および日付範囲を表現するために日付ポイントが使用されます。以下の原則が適用されます。

  • すべての日付ポイントはISO 8601、UTC(「2016-05-12T12:15:02+00:00」など)に準拠します。これは、日付と時刻を表現するために国際的に受け入れられている方法です。期間形式には若干のバリエーションがあります。具体的には、ISOの週(P5Wなど)はサポートされません。

  • モデルは、2つのISO日付の間のデータでトレーニングされます。これらの日付は、DataRobotで1つの日付範囲として表示されますが、含める日付の決定とすべての主要な境界は日付ポイントとして表現されます。日付を指定すると、開始日が含まれ、終了日が除外されます。

  • 日付パーティショニング列を使用する形式を変更すると、プロジェクトのすべてのチャートやセレクターなどが、その形式に変換されます。

ギャップ

ギャップを設定すると、モデルのトレーニングとモデルのデプロイの間に通常みられる時間のギャップ(トレーニングにデータが使用されていない期間)を再現できます。これは、以下のような場合に便利です。

  • トレーニングに古いデータしか使用できない場合(グラウンドトゥルースの収集が困難な場合)
  • モデルの検定とその後のデプロイに数週間や数ヶ月などの長い時間がかかる場合
  • レビューやアクションの目的で予測を事前に提供する場合

シンプルな例としては、保険の支払い請求が増大するのに約1年かかることがあります(支払い請求から支払い決定までの間の時間)。この理由から、保険会社では、2015年のデータでトレーニングされたモデルに基づいて、2017年のポリシーの支払い価格が決定されます。このプロセスを再現するために、トレーニングセットと検定セットの間に1年間のギャップを挿入できます。これでモデルの評価の正確性が向上します。別の例としては、価格設定に規制上の承認が必要な場合、季節ごとの小売りの場合、およびまだ入手できないレポートに価格推定が依存する場合などがあります。

バックテスト

バックテストは概念的に交差検定と同様で、既存の履歴データを使用して予測モデルをテストできます。つまり、履歴に基づいてモデルの将来のパフォーマンス予測を評価することができます。しかし、交差検定とは異なり、バックテストでは、データセットからランダムな行を選択するのではなく、特定の時間枠や期間を選択してテストに使用し、ランダムなサンプルではなく、データの「トライアル」を作成できます。したがって、「それぞれ1000のランダム行を含む5つのセグメントにデータを分割」するのではなく、「1000行のトレーニングをシミュレーションして 次の10行の予測を 5回繰り返す」ことができます。バックテストでは、トレーニングデータの古い期間でモデルのトレーニングがシミュレートされた後、検定データの新しい期間でパフォーマンスが測定されます。モデルが構築された後、リーダーボードからトレーニングの設定を変更して、期間とサンプル率を変更できます。シフトしたトレーニングデータに基づき、モデルが再学習されます。

プロジェクトの目標が将来の予測を行うものである場合、バックテストでは、(時間ベースの問題に関して)モデルパフォーマンスを交差検定よりも深く理解できます。時系列の問題においては、予測の信頼度が向上します。バックテストでは、すべての分割にわたって1つのモデルのパフォーマンスが一貫して他のモデルよりも優れていることを確認することによって、モデルの堅牢性を保証できます。

デフォルトのバックテストの数は、プロジェクトパラメーターに依存しますが、モデルの精度を向上させるために最大20のバックテストを含むビルドを設定できます。追加のバックテストを設定すると、モデルのトライアルの数が多くなるので、予測の精度の信頼性が向上します。期間と日付を注意深く設定して、「10件の2ヶ月予測」などを生成できます。特定の期間を避けて設定した後、「予測が似ているかどうか」、または2つの類似した月で「エラーが同じかどうか」を確認できます。

データのギャップが大きい場合、バックテストが困難になります。観測値データのない長い期間がデータセットに含まれる場合、該当するギャップがバックテストのどの部分に該当するのかを確認することをお勧めします。例えば、検定ウィンドウに含まれるデータポイントが少なすぎる場合、長いデータ検定ウィンドウを選択すると、検定スコアの信頼性が向上します。バックテストの数を多くすると、モデルパフォーマンスの測定の信頼性が向上し、初期バックテスト分割のトレーニングウィンドウの最大数も減少します。


更新しました May 12, 2022
Back to top