時系列モデリング¶
本機能の提供について
自動時系列モデリング(AutoTS)を有効にする情報については、DataRobotの担当者にお問い合わせください。
時系列モデリングは、ターゲットの複数の値を予測します。 対照的に、 時間外検定(OTV)では、予測を行うのではなく、時間に関連するデータをモデル化し、個々の各行のターゲット値を予測します。 時系列モデリングは、以下のフレームワークに基づきます。フレームワークの要素の説明についてはリファレンスセクションを参照してください。 そのフレームワークを理解するにはナウキャスティングのセクションを参照してください。
要件と可用性¶
時間ステップ、データ要件、間隔単位、および時系列モデリングの許容プロジェクトタイプを必ず確認してください。詳細については、以下で説明します。
OTVおよび時系列モデリングに関するこれらの追加の日付/時刻分割に関する考慮事項を参照してください。
基本的なワークフロー¶
次に、時系列モデルを構築する手順について説明します。 該当する場合、各ステップは詳細な説明とオプションの説明にリンクしています。 DataRobotが時系列モデリングを実装する方法の詳細な説明については、時系列の 概要と説明を参照してください。
-
データセットを読み込んでターゲット特徴量を選択します。 データセットに日付特徴量が含まれる場合、時間認識モデルを設定リンクがアクティブになります。 開始するには、リンクをクリックしてください。
-
ドロップダウンからプライマリー日付/時刻特徴量を選択します。 ドロップダウンには、EDA1で検出されたすべての日付/時刻特徴量がリストされます。
-
特徴量を選択すると、ターゲット特徴量に対してプロットされた時間特徴量のヒストグラム(時系列の特徴量)が計算されて読み込まれます。 データセットが複数系列のモデリング条件を満たす場合、このヒストグラムは、ターゲット特徴量に対してプロットされたすべての系列にわたる時間特徴量値の平均を表します。
-
適用する時間認識アプローチを選択します。
- ターゲットの複数の将来値を予測する場合に自動時系列予測を使用します(翌週の各日の売り上げの予測など)。 このアプローチは、連続する一連の値の将来値を推定する場合に使用します。
- モデリングを使用して現在の値を決定する場合、自動時系列ナウキャスティングを使用します。
または、データが時間に関連するものであっても、予測は行わずに、個々の各行のターゲット値を予測する場合、Automated Machine Learning(OTV)を使用します。 このアプローチは、単一のイベントデータ(患者の入院や不良債務など)がある場合に使用します。
-
時系列を選択したときに系列データがDataRobotで検出された場合、複数系列モデリングの系列IDを設定します。
- DataRobotで系列が検出されなくてもデータセットが条件を満たす場合は、高度なオプションを使用して系列識別子を設定します。
-
セグメントモデリングを有効にするには、系列識別子を選択した後、セグメンテーション方法の値をなしからセグメントIDに変更します。
-
タイムステップが不規則であるというメッセージが表示された場合は、 データ準備ツールの使用を検討してください。
-
予測ウィンドウ設定(特徴量の派生ウィンドウ(FDW))および予測ウィンドウ(FW)をカスタマイズして、モデリングデータセットの特徴量を派生させる方法を設定します。 これらの値を変更する前に、各ウィンドウの意味と意味合いについて、 詳細なガイダンスを参照してください。
備考
ナウキャスティングを使用する場合、これらのウィンドウ設定は異なります。
-
トレーニングウィンドウの形式(期間または行数)を設定して、モデルを構築するときにオートパイロットでトレーニング期間を指定する方法を指定します。 値の設定をする前に、行数とそれに対する期間、及びそれらがデータ群にどのように適用されるのかの詳細を参照してください。 不規則なデータセットの場合、行数がデフォルト設定です。 この設定を変更する前に データ準備ツールを使用します。
-
「事前に既知」(KA: Known in Advance)の特徴量を設定するか、高度なオプションでイベントカレンダーをアップロードするかどうかを検討してください。
-
KA(事前に既知)特徴量として扱われる特徴量は、予測を行うときにラグなしで使用されます。
-
カレンダーには、時系列特徴量を自動的に派生するときに特徴量をDataRobotで使用するイベントがリストされます(予測を作成するときにその特徴量をラグなしと設定します)。
-
次に、特徴量が時間の経過と共にどのようになるかを参照してトレンドを確認し、データにギャップがあるかどうかを判断します(これが知っておく必要のあるデータの不備です)。 これらのヒストグラムにアクセスするには、数値特徴量を展開しクリックして、 時間経過タブをクリックし、時間の経過とともに特徴量を計算するをクリックします。
この例では、週単位の強いパターンと季節的なパターンが見られます。 また、期間を変更して、別の間隔でデータがどのように集約されるかを確認することもできます。 時間ビンを表示をクリックし、ビンごとの行数を表示します(プロットの下部にある青いバー)。 データ密度を視覚化すると、潜在的な欠損値に関する情報を得ることができます。
時間経過チャートを操作するためのその他のオプションをお読みください。
-
モデリングに使用する設定(日付/時刻形式、トレーニングウィンドウ、検定の長さなど)を変更するには、下にスクロールして高度なオプションを表示を展開します。 詳細については、完全なドキュメントを参照してください。
-
- 設定したら、モデリングモードを選択し開始を押します。
-
データセットを確認した後、特徴量削減プロセスによって削除された特徴量を復元するかどうかを検討します。
-
モデリングに使用する時系列特徴量セットを操作します。
次のステップ¶
次のセクションでは、時系列モデリングを続行する方法について説明します。
セクション | 説明 |
---|---|
時系列リーダーボードモデル | トレーニングとサンプリング基準の変更など、リーダーボードモデルの操作。 |
予測を作成する | 予測の作成とデプロイの準備。 |
カスタムプロジェクトオプション | ユースケース固有の実装用デフォルトのパーティショニングとウィンドウ設定の変更。 |
参考文献:
セクション | 説明 |
---|---|
時系列フレームワーク | DataRobotが時系列データの共通 パターンを含む、時系列モデルの構築に使用するフレームワーク。 |
派生したモデリングデータセット | 時系列プロジェクトの新しいモデリングデータセットをどのように作成する特徴量派生プロセス。 |
特徴量セット | 時系列モデリングに特化。 |
時系列データ向けに自動化された特徴量エンジニアリング | 時系列モデルを開発するための一般的なフレームワークの詳細な技術的説明(特徴量の生成、データの前処理、高度な機械学習アルゴリズムをほとんどすべての時系列問題に適応するプロセスの自動化など)。 |
一歩進んだ操作:要件¶
以下のセクションでは、モデルおよびプロジェクト要件の詳細を説明します。
-
DataRobotでは、標準のアルゴリズムと特殊な時系列ブループリントの両方が構築され、時系列に特有なモデルが実行されます。 通常の場合と同様に、DataRobotで実行されなかった時系列モデルをリポジトリから実行できます。
-
DataRobotでは、従来の時系列モデル(ARIMAモデルなど)と高度な時系列モデル(XGBoostなど)の両方が生成されます。
-
「with Forecast Distance Modeling」というサフィックスが付いたモデルでは、未来の予測点までの距離(期間)に対して別々のモデルが構築されます。各モデルには、その予測を行うための一意のブループリントが含まれます。
-
「最も最近の値を使用したベースライン予測」(ナイーブ予測)では、最も最近の値または季節的な差分が予測として使用されます。このモデルは、パフォーマンスの判断の基準として使用できます。
複数のFDを含む時系列プロジェクトの場合、表示されるリーダーボード評価指標はどれに対応するか
プロジェクトに複数のFDがある場合、リーダーボード指標は、すべてのFD、すべての日付、およびすべての系列にわたって計算されたサマリーです。 つまり、各FDに対して、DataRobotは検定の各日について、および各系列について予測を生成します。 次に、これらの各予測の実測値を使用して、DataRobotは損失指標を計算して、リーダーボードにこれらの予測全体での損失指標が表示されるようにします。 FDが多すぎる場合、サンプリングが使用されます。
たとえば、30の系列、30日間の検定、および30のFDを含むプロジェクトの場合、DataRobotでは30*30*30
の予測が生成されてから、損失関数が適用されます。
時間ステップ¶
時系列モデリングの最初の手順は、データが予測またはナウキャスティングを行うための正しい型のものであることを確認する必要があります。 DataRobotでは、時間ステップ(行間の時間差)に基づいてデータが次の3つのいずれかに分類されます。
時間ステップ | 説明 | 例 |
---|---|---|
定期的 | 均等な間隔で発生するイベント | 月曜日から日曜日 |
半定期的 | ほぼ均等な間隔で発生するイベント | 週末を除く各営業日。 |
不定期的 | 一貫しない時間ステップ | ランダムな誕生日 |
定期的または半定期的な時間ステップを前提として、DataRobotの時系列機能は、時間に左右されるコンポーネントを特徴量としてエンコードし、従来の機械学習技法で使用できるモデリングデータセットに元の入力データセットを変換します。 (時間ステップは、以下に示す時間間隔とは異なることに注意してください。) データの元の各行に対して、モデリングデータセットは以下の両方を含めます。
- 将来における距離差の予測の例を表す新しい行
- (各入力特徴量に対して)新しい距離を予測するためのラグ特徴量とローリング統計量の新しい列。
備考
時間ステップが不規則な場合は、 行ベースのパーティショニングまたは データ準備ツールを使用できます(これらのギャップが原因で発生する不正確なローリング統計を回避するため)。
データの要件¶
時系列モデリングを有効にするには:
- 時系列データセットは、 ファイルのサイズと行の要件を満たす必要があります。
- データに日付/時刻特徴量が含まれていても、データに不規則な時間単位や一意でないタイムスタンプが含まれる場合、時系列予測モードは無効化されることがあります。 これが発生した場合、 時系列データ準備ツールを潜在的な解決策に使用します。
- パーティショニングに使用するデータセットに1つの 特徴量の型「日付」を含む1つの列が必要であることです。
備考
ホールドアウトなしでパーティション分割が必要になる場合があります。その際、最低限取り込まれる行数が変更されるだけでなく、さまざまなビジュアライゼーションの出力も変更されます。
上記の要件が満たされている場合、日付/時刻パーティション特徴量は、開始画面の時間認識モデルを設定リンクから使用できます。
間隔の単位¶
このドキュメントの多くの例では「日」の時間単位が示されていますが、DataRobotでは、時系列および複数系列モデリングでいくつかの間隔がサポートされています。 現在、DataRobotは、以下の単位の整数の倍数の時間ステップをサポートしています。
- 行
- ミリ秒
- 秒
- 分
- 時間
- 日
- 週
- 月
- 四半期
- 年
たとえば、行の間の時間ステップは15分毎(分の倍数)に設定できますが、13.23などの小数に設定することはできません。 DataRobotでは時間単位と時間ステップが自動的に検出されます。検出されない場合は、データセットは不規則として拒否されます。 パーティション分割が正しく機能するには、時間単位としてミリ秒を使用するデータセットでは、秒レベルとしてトレーニングおよびパーティション分割の境界を指定する必要があり、データセットが複数秒間にわたる必要があります。 さらに、1秒未満の予測ポイントを使用するために、デフォルトの予測ポイントを使用する必要があります。
プロジェクトタイプ¶
DataRobotの時系列モデリングでは、連続値プロジェクトと二値分類の両方がサポートされます。 それぞれのタイプでは、プロジェクトタイプに固有のモデルを多数取り揃えており、オートパイロットまたはリポジトリで選択することができます。 一般的に、両方のタイプのワークフローとオプションは同じですが、二値分類プロジェクトには次のような違いがあります。
- 詳細オプション設定では、以下が無効になっています。
- シンプルな差異および季節的な差異は適用されません。
- 分類指標だけがサポートされます。
- 差分は実行されないので、差分ターゲットを使用する特徴量セットは作成されません。 デフォルトでは、オートパイロットは
Baseline only (average baseline)
および時系列で有用な特徴量
上で実行します。 「平均値ベースライン」とは、特徴量派生ウィンドウ内のターゲットの平均値を意味します。 - 分類ブループリントでは、モデリングのオフセットとしてナイーブ予測が使用されません。