Skip to content

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

時系列

時系列タブでは、時系列プロジェクトに対する事前に既知の特徴量、指数トレンド、および差分を設定します。

高度なオプション設定を使用すると、DataRobotの特徴量エンジニアリングとデータをモデル化する方法を変更できます。これらのオプションを操作する理由はいくつかありますが、ほとんどのユーザーにとっては、DataRobotが選択するデフォルト設定が最も最適なモデリングとなります。使用可能なオプションは、プロダクトのタイプによって異なります:

オプション 説明
複数の時系列を使用する 複数系列モデリングで系列IDを設定または変更します。
予測で部分的な履歴を許可する 不完全な履歴データを使用して特徴量派生ウィンドウに基づき、予測を許可します。
交差系列特徴量の生成を有効にする 連続値プロジェクトに交差系列特徴量派生を設定します。
特徴量を事前に既知として追加(KA)する ラグを必要としない特徴量を追加します。
特徴量の派生からの除外 時間ベースの特徴量エンジニアリングを無効にする特徴量を識別します。
カレンダーを追加する カタログからアップロード、追加、または、追加を必要とする日付またはイベントを指定するイベントファイルを生成します。
分割をカスタマイズする モデルのトレーニングのグループ数を指定します(ワーカーの数に基づきます)。
指数トレンドとして扱う ターゲット特徴量に対数変換を適用します。
指数加重移動平均 EWMAにスムージング係数を設定します。
差分を適用 DataRobotを設定して、モデリング前にターゲットを定常的に作成するために差分を適用します。
加重 加重を設定して、行の相対的な有用性を示します
教師あり特徴量削減を使用する DataRobotが低インパクトの特徴量を破棄することを防ぎます。

高度なオプションを設定した後、ページの一番上までスクロールしてモデリングを開始します。

複数の時系列を使用する

複数系列モデリング(同じタイムスタンプが複数の行を含む場合は自動的に検出)では最初に、最初のページから系列識別子を設定します。ただし、そのページで編集するか、高度なオプション > 時系列タブにあるこのセクションで編集することによって、モデリングの前に変更できます。

部分的な履歴を許可する

履歴が部分的にしかない場合では準最適な予測となる可能性があるといったように、すべてのブループリントが新しい系列で予測できるように設計されているわけではありません。これらのブループリントには、特定の予測ポイントの特徴量を派生するために完全な履歴が必要だからです。「コールドスタート」は、学習データには見られなかった系列をモデル化する機能です。部分的な履歴とは、部分的にしか知られていない系列履歴を持つ予測データセットを指します(履歴行は特徴量派生ウィンドウ内で部分的に利用可能です)。部分的な履歴を許可を選択すると、このオプションはコールドスタートと部分的な履歴モデリングに最適化されたブループリントを実行するようにAutopilotを指示します。部分的な履歴のサポートに対して精度が低いモデルは削除されます。

交差系列特徴量の生成を有効にする

複数系列のデータセットでは、時系列特徴量はデフォルトで各系列の過去の観測値に基づいて個別に派生します。たとえば、「Sales (7 day mean)」(売上(7日間の平均))という特徴量では、データセットに含まれる各店舗の平均売上が計算されます。この方法を使用すると、複数の系列にわたる情報がモデルで活用され、最近の市場全体の動向のインサイトをもたらすことにつながります。

リテールや金融市場の予測において、データのシグナルをより正確に捉えるというの一般的なニーズがあることから、複数の系列にわたる履歴データを考慮する特徴量を準備することが望ましいでしょう。この問題に対処するために、連続値プロジェクトのすべての系列にわたって、ターゲット全体のローリング統計量を抽出できます。この機能によって得られた派生特徴量の例を以下に示します。

  • 「売上(total)(28 day mean)」- 28日間の期間内におけるすべての店舗の総売上
  • 「売上(total)(1st lag)」- すべての店舗における総売上の最新の値
  • 「売上(total)(naive 7 day seasonal value)」- 7日前の総売上
  • 「売上(total)(7 day diff)(28 day mean)」- 28日の期間における7日間の差分合計売上の平均

この機能を有効にするには、交差系列特徴量の生成を有効にします。選択した場合:

  • 集計方法を合計ターゲット値または平均ターゲット値に設定します。モデルが構築される際、DataRobotでは、ターゲット自身に生成される差分、ラグ、および統計に加えて、選択内容に応じてtarget (average) ...またはtarget (total) ...というラベルのついた特徴量が生成されます。

  • オプションとして、系列IDの他に有益な列がある場合、グループ集計の基になる列を設定します。例えば、時間経過に伴う株価を含み、特定の株式の業界のラベル(テクノロジー、ヘルスケア、製造など)を示す列を含むデータセットを考えてみます。オプションのグループ化列としてindustryを入力すると、ターゲット値は業界に加えて、すべての系列の合計または平均で集計されます。

    DataRobotが構築する特徴量にはターゲットgroupby-feature average)またはターゲット(groupby-feature total)の形式で名前が付けられます。「グループ化」フィールドを空白にした場合、ターゲットはすべての系列にわたって集計されます。

備考

交差系列集計が有効な場合、学習時にすべての系列のすべての入力データを提供する必要があります。予測時に新しい系列データを提供することはできません。

「事前に既知」(KA)の設定

事前に値が既知であり、ラグ作成の必要がない特徴量は、モデル構築の前に高度なオプションから追加することで、さまざまな処理を行うことができます。この既知の(親)特徴量のリストには、任意の数の の特徴量を追加できます(ユーザーが変換または派生した特徴量は事前に既知として処理できません)。一部の変数が事前に既知であることを示し、予測期間を指定することにより、予測精度が大幅に向上します(休日やキャンペーン中の予測精度が向上します)。

特徴量が既知としてフラグが付けられている場合、その将来の値は予測時に提供されなければなりません。さもなければ、予測は失敗します。予測ウィンドウ内の予測データの事前に既知(KA)特徴量に欠損値があると、予測精度に影響することがあります。その場合、影響を受けるデータセットの下に、警告および情報メッセージが表示されます。

一歩進んだ操作:事前に既知

時系列の問題では、元の特徴量に対して、使用可能な履歴からラグ特徴量の付与や移動平均などの各種ローリング統計量の作成が行われます。しかし、一部の特徴量が事前に既知である場合、その将来値を提供して予測時に使用することが可能です。このような特徴量では、ラグとローリング統計に加えて、DataRobotではモデリングデータとして実測値が使用されます。

休日がこれを説明する良い例です。毎年のクリスマスは12月25日ですが、つまり、先週がクリスマスでした。12月25日は祝日でしょうか?(0 = 真、1 = 偽)この変数の値は、その日付においては常に真なので、既知のリアルタイム実測値を使用できます。別の例として販売キャンペーンがあります。翌週にキャンペーンが計画されている場合、キャンペーン変数を「事前に既知」の変数としてフラグを設定することにより、DataRobotでは以下の処理が行われます。

  • 過去からの情報が使用されます(昨週もキャンペーンを実施した)。
  • 翌週の予測を生成するとき、キャンペーンが計画されているという情報が活用されます。

もしその特徴量が事前に既知のものとしてフラグが立てられていなければ、DataRobotはキャンペーンのスケジュール情報を無視し、予測品質に影響を与える可能性があります。

DataRobotはどの変数が事前に既知されているのかを判断できないため、予測(フォーキャスティング)のデフォルトでは、既知とマークされる特徴量はありません。それに対して、ナウキャスティングは既知のリストにすべての特徴量をデフォルトで追加します(リストは変更できます)。

ヒント

カレンダーイベントファイルを使用するか、手動でカレンダーイベントを追加して事前に既知に設定するかを決定する際の基準については、のセクションを参照してください。

特徴量の派生からの除外

DataRobotの時系列機能では、モデリングデータから新しい特徴量を派生させ、新しいモデリングデータセットを作成できます。しかし、時間ベースの特徴量エンジニアリングの自動化をしたくない場合もあります(例えば、自分で時間志向の特徴量を抽出しており、その特徴量は追加の派生処理が不要な場合など)。そのような場合、高度なオプションリンクを使用して派生から特定の特徴量を除外できます。標準の自動化された変換(EDA1の一部)は引き続き実行されます。

次の例外を除き、任意の特徴量を追加の派生から除外できます。

  • 系列識別子
  • プライマリー日付/時刻

すぐ下の、特徴量の追加に関するセクションを参照してください。また、派生後に特徴量セットをモデリングから除外することを検討してください。

既知の特徴量または除外された特徴量の追加と特定

特徴量を追加するには、次のいずれかの操作を実行します。

  • ボックスに入力して文字列に一致する特徴量名を検索し、特徴量を選択して追加をクリックします。目的の各特徴量に対して、この手順を繰り返します。
  • すべての特徴量を追加をクリックしてデータセットのすべての特徴量を追加します。

    特徴量を削除するには、特徴量名の右側にあるxをクリックします。すべての特徴量をクリアするには、選択をクリアをクリックします。

  • EDA1データテーブル(開始をクリックする前のデータ)から、1つまたは複数の特徴量の左にあるボックスを確認し、メニューからアクション > × 個の特徴量を切り替える(事前に既知または派生から排除)を選択します。1つの特徴量を削除するには、該当するボックスを選択して選択を切り替えます。

    事前に既知の特徴量および派生から除外する特徴量は、個別に設定する必要があります。

事前に既知の特徴量または派生から除外された特徴量は、開始処理の前に元の特徴量セットでそのようにマークされます。

カレンダーファイル

カレンダーを使用すると、データセット内で注意が必要な日付またはイベントを指定できます。カレンダーファイルには、以下に示すようなさまざまな(一意の)日付およびそのラベルがリストされます。次に例を示します。

date,holiday
2019-01-01,New Year's Day
2019-01-21,Martin Luther King, Jr. DAY2019-02-18,Washington's Birthday
2019-05-27,Memorial Day
2019-07-04,Independence Day
2019-09-02,Labor Day
.
.
.

指定した場合、DataRobotでは、カレンダーイベントに基づいて特殊な特徴量が自動的に派生されます(次のイベントまでの時間、最新のイベントへのラベル付けなど)。時系列の精度チャートには、カレンダーイベントがタイムラインとともに可視化されるので、予測結果および実測結果のコンテキストを提供するのに有用です。

複数系列カレンダー(アップロードされたカレンダーでのみサポート)は複数系列プロジェクトの追加機能を提供するので、系列ごとにイベントを追加できます。

ヒント

カレンダーイベントファイルを使用するか、手動でカレンダーイベントを追加してKAに設定するかを決定する際の基準については、次のセクションを参照してください。

カレンダーファイルの指定

データセットに関連するイベントのリストを含むカレンダーファイルを次の2つの方法のいずれかで指定できます。

使用すると、選択方法に関係なく、すべてのカレンダーがAIカタログに保存されます。そこから、任意のカレンダーを表示およびダウンロードできます。完全な情報については、AIカタログを参照してください。

独自のカレンダーファイルのアップロード

独自のファイルをアップロードする際、データに最も適した形式(DataRobotの認識された形式とも一致する)でカレンダーイベントを定義したり、オプションとしてISO 8601形式で指定したりできます。

日付/時刻形式は、すべての行で一貫性を維持する必要があります。以下の表は、サンプル日付と期間を示します。

DATE イベント名 イベント期間*
2017-01-05T09:30:00.000 トレーディングを開始 P0Y0M0DT8H0M0S
2017-01-08T00:00:00.003 センサーオン PT10H
2017-12-25T00:00:00.000 クリスマス休日
2018-01-01T00:00:00.000 元旦 P1D

具体的には、ISO週間(P5Wなど)のサポートはありません。

イベント期間フィールドはオプションです。指定されていない場合、DataRobotはアップロードされたデータに含まれる時間単位に基づいて期間を割り当てます。

アップロードされたデータの検出された時間単位は... デフォルトの期間が指定されていない場合は次の通りになります。
年、四半期、月、日 1日(P1D)
日、時、分、秒、ミリ秒 1ミリ秒(PT0.001S)

詳細については、カレンダーファイル要件を参照してください。

一歩進んだ操作:期間の設定

期間(to/from、next/previous)を決定する際、派生する特徴量は現在の時点を参照します。(1)は次のカレンダーイベントまでの期間、(2)は前/現在のカレンダーイベントからの期間です。

これらの特徴量は次のような情報を提供できます。

  • プロモーションが終了してからどれだけの時間が経過したか
  • 次の機械の休止時間はいつ予定するべきですか?

正確性を確保するために、DataRobot は重複する可能性のあるカレンダーイベントに基づいて、カレンダー由来の特徴量をサポートするガードレールを提供します。重複している場合は、DataRobotは判断に辞書順を使用します。

以下は、DataRobotが辞書順を使用して重複するイベントを処理する方法の例です。

(a)を参照する、派生した特徴量:

  • (1) 次のカレンダーイベントタイプ=イベントA(DやGではない)
  • (2) 前のカレンダーイベントタイプ=イベントB

(b)を参照する、派生した特徴量:

  • (3) 次のカレンダーイベントタイプ=イベントB
  • (4) 前のカレンダーイベントタイプ=イベントC

を参照する、派生した特徴量:

  • (5) 次のカレンダーイベントタイプ=イベントE
  • (6) 前のカレンダーイベントタイプ=イベントA(DやGではない)

カレンダーファイルの要件

備考

カレンダーに休日などの全日イベントしかなく、スコアリングコード(パブリックプレビュー)サポートが必要な場合、プラットフォーム管理者にそのアカウントで時系列プロジェクトで高解像度カレンダーを無効にする機能フラグを設定するように依頼してください。

独自のカレンダーファイルをアップロードするときは、次の点に注意してください。

  • 日付列が必要です。

  • 日付/時刻形式は、すべての行で同じである必要があります。

  • 学習データにおける全体の日付、およびモデルの予測を行うすべての将来の日付の範囲を含める必要があります。

  • ローカルファイルを介して直接アップロードする場合は、ヘッダー行を含むCSVまたはXLSX形式である必要があります。AIカタログのカレンダーファイルである場合、他のデータ要件を満たし、列に名前が付けられている限り、サポートされている任意のファイル形式のものを使用できます。

  • アクティブなプロジェクトで更新できません。将来のすべてのカレンダーイベントは、プロジェクトの開始時に特定する必要があります。そうでない場合、新しいプロジェクトを学習する必要があります。

  • オプションとして、イベントの名前またはタイプを示す2番目の列を含めることができます。

  • オプションとして、イベントが適用される系列を指定する系列ID列を含めることができます。この列名は、系列IDとして設定された列セット名に一致する必要があります。

    • 複数系列ID列は、さまざまな系列のさまざまなイベントのセット(さまざまな地域の休日など)を指定する機能を追加するために使用されます。
    • 特定のイベントでは系列IDの値が存在しない場合があります。これは、イベントがプロジェクトデータセットのすべての系列で有効であることを意味します(元日はすべての系列で休日であるなど)。
    • 複数系列ID列が指定されていない場合、リストされたすべてのイベントはプロジェクトデータセットのすべての系列に適用されます。

カレンダーファイルの形式を要約するインフォグラフィックを表示するには、アプリ内でファイル要件の参照をクリックします。

カラム順序のベストプラクティス

  • 単一シリーズカレンダー:日時、カレンダーイベント、EventDuration
  • 複数系列カレンダー:日時、カレンダーイベント、系列ID、EventDuration

期間列はEventDurationという名前にする必要があります。その他の列には、命名要件がありません。

プリロードされたカレンダーファイルの使用

プリロードされたカレンダーを使用するには、ドロップダウンから国コードを選択します。データセットのスパン(開始日と終了日)をカバーするカレンダーがDataRobotによって自動的に生成されます。

プリロードされたカレンダーは、複数系列プロジェクトでは使用できません。系列固有のイベントを含めるには、カレンダーを添付方法を使用します。

カレンダーファイルまたはKA?

日付は、カレンダーイベントファイルをアップロードして処理することもカレンダーイベントをカテゴリー型特徴量として手動で追加して、KAとして設定することによって処理することもできます。言い換えると、次の操作を行うことができます。

  1. カレンダーイベントを列としてデータセットに入力し、KAとして設定する。
  2. イベントをカレンダーとしてインポートする。

方法を選択する際の考慮事項を以下に示します。

  • カレンダーは日単位である必要があります。よりきめ細かい時間ステップが必要な場合、KAを使用する必要があります。
  • DataRobotではカレンダーから追加の特徴量が生成されます(「イベントまでの日数」や「イベント後の日数」カレンダーイベントなど)。
  • カレンダーイベントは将来にわたりトレーニング時に既知でなければいけません。KA特徴量は将来にわたり予測時に既知でなければいけません。
  • KAの場合、予測をデプロイするときは、予測要求ごとにKA特徴量を生成する必要があります。
  • マルチシリーズプロジェクトのカレンダーイベントは、特定のシリーズまたはすべてのシリーズに適用できます。

モデル分割のカスタマイズ

分割をカスタマイズを使用し、モデリングタスクに対して、分割の数(学習するモデルのグループ数)を設定します。この詳細オプションは、お客様の環境で利用可能なワーカー数に基づいて設定します。ワーカーが少ない場合は、分割数を減らして一部のワーカーを他の処理に使用することができます。ワーカーの数が多い場合は、高い値を設定してキュー内のジョブの数を増やすことができます。

備考

分割の最大数は、DataRobotのバージョンによって異なります。マネージドAIクラウドのユーザーは、最大5つの分割を設定できます。オンプレミスユーザーは最大10の分割を設定できます。

分割はモデルのグループで、ダウンサンプリングされた派生特徴量のセットで学習されます。分割数を多くすると、派生した特徴量のダウンサンプリングが少なくなるため、処理後のデータの学習が増えます。しかし、処理後のデータを多く使用するので、より学習時間が長くなります。

指数トレンドとして扱う

ターゲット値が指数的に上下する場合は、指数トレンドを考慮に入れることをお勧めします。指数トレンドの古典的な例は、人口サイズの予測に見ることができます。次世代の人口は前の世代の人口に比例します。では、5世代にわたる人口の推移はどのようになるでしょうか。

DataRobotで指数トレンドが検出されると、対数変換がターゲット特徴量に適用されます。指数トレンドは自動的に検出されて対数変換が適用されますが、必要に応じて設定するを行うこともできます。DataRobotがターゲットに対数変換(検出した指数トレンドなど)を適用したか判断するには、派生したEDA2後のデータを確認します。適用されていた場合、ターゲットを含む特徴量には拡張子があります(log)(例えばSales (log) (naive 7 day value))。別の結果が必要な場合は、データを再度読み込んで、指数トレンドをなしに設定します。

指数加重移動平均

指数加重移動平均(EWMA)は、最新のデータポイントにより大きな加重と重要性を与え、時間の経過に伴うトレンドの方向を測定する移動平均です。「指数関数的」な側面は、以前の入力の加重係数が指数関数的に減少することを示します。これが重要なのは、そうしないと、より古い値よりも、非常に新しい値が分散に影響を与えなくなるからです。

連続値プロジェクトでは、0〜1の間の値を指定すると、平滑化係数(ラムダ)として適用されます。各値は乗数によって重み付けされます。このウェイトは、前のタイムステップのウェイトの定数倍です。

この値を設定すると、DataRobotは以下を作成します。

差分を適用

DataRobotでは、プロジェクトのターゲット値が定常的(静的)であるかどうかが自動的に検出されます。従って、ターゲットの統計的性質が時間の経過で一定(定常)であるかどうかが検出されます。ターゲットが定常的でない場合、DataRobotはモデリングの前に差分ストラテジーを適用して、ターゲットを定常的にしようとします。この処理により、基礎となるモデルの精度と頑健性が向上します。

差分設定を強制する場合は、次のいずれかを選択します。

設定 説明
自動検出(デフォルト) DataRobotでデータが非定常であると検出された場合、差分が適用されます。データに基づいて、周期性が検出された場合、シンプルな差分または季節的な差分が適用されます。
シンプル 特徴量の派生ウィンドウ内の最も最近の使用可能な値からの差分に基づいて、差分が設定されます。
季節的 最新の使用可能な値からの差分ではなく、指定した時間ステップを使用して差分が設定されます。時間ステップの増分は、データで検出された時間単位に基づきます。
必須でない このプロジェクトでの差分を無効化します。

加重の適用

一部の時系列プロジェクトでは、行の加重を定義する機能は、モデルの精度において非常に重要です。時系列プロジェクトにウェイトを適用するには、[高度なオプション]の追加タブを使用します。

設定したウェイトは、派生した特徴量の作成の一部として含まれます(該当する場合)。加重された特徴量には(actual)が適用され、有用性列に選択内容が示されます。

実際の行の重み付けは、モデルの学習中に行われます。重みが時間減衰するブループリントがある場合、設定した重みと掛け合わされ、最終的なモデリングのウェイトが生成されます。

以下の派生した時系列特徴量では、ウェイトが考慮されます(該当する場合)。

  • 移動平均
  • 移動標準偏差

以下の時系列特徴量では、ウェイトが無視されて通常通りに派生されます。

  • 移動最小値
  • 移動最大値
  • 移動中央値
  • 移動ラグ
  • ナイーブ予測

教師あり特徴量削減の使用

デフォルトで有効になっている教師あり特徴量削減は、モデリングの前に低影響の特徴量を除外します。特定の特徴量が削除される場合、結果として最適化された特徴量セットはより良いランタイムを同様の精度で提供します。インパクトのある特徴量のみに焦点があるため、モデルの解釈性も改善されています。無効にすると、特徴量生成プロセスは多くの特徴量を発生させる結果となります。モデル構築時間もより長くなります。


更新しました April 19, 2022
Back to top