時系列のデータ準備¶
時系列プロジェクトを開始するとき、DataRobotのデータ品質検出は時間ステップが不規則かどうかを評価します。これにより、一部の系列で大きなギャップが生じることがあり、その場合は、精度を向上させることができる季節差や交差系列特徴量が使用できなくなります。これらのギャップが引き起こす可能性のある不正確なローリング統計を回避するには、次のことができます。
- DataRobotに行ベースのパーティショニングを使用させます。
- 期間ベースのパーティショニングを使用して、時系列データ準備ツールとのギャップを修正します。
一般的に、データ準備ツールは最初にデータセットを選択された時間ステップに集計し、まだ行が欠落している場合は、ターゲット値を補完します。これにより、数値、カテゴリー値、およびテキスト値の集計方法を選択できます。また、これを使用して、さまざまな時間スケールでモデリングを調べることもできます。結果のデータセットは、AIカタログに公開されます。
データ準備ツールにアクセスする¶
データ準備ツールは、開始画面から、またはAIカタログから直接アクセスできます。
開始画面から、データ準備ツールは初期設定後に利用可能になります(ターゲット、日付/時刻特徴量、予測またはナウキャスティング、該当する場合はシリーズID)。DataRobotが時間ステップが不規則であることを検出したときにツールを使用するには、[期間ベースのギャップを修正]をクリックします。
または、時間ステップが定期的であっても、それを使用してデータセットのカスタマイズを適用します。
時系列データの準備をクリックして、AIカタログのデータセットを開いて変更します。
注意
開始画面からカタログに進むことを選択した場合、手動で作成された特徴量の変換または特徴量リストは失われるため、新しいプロジェクトから作成する必要があります。
AIカタログのデータセットを変更する方法は、開始画面(上記)から開始したか、カタログから開始したかに関係なく同じです。カタログで、インベントリからデータセットを開き、メニューから時系列データセットを準備を選択します。
データセットの変更¶
データ準備ツールを使用してデータセットを変更するには、次の2つのメカニズムがあります。
- 手動を選択すると、ドロップダウンとセレクターを使用して、集計と補完の方法を設定するコードを生成できます。
- 事前入力されたSpark SQLクエリーを変更します。(空白のSpark SQLクエリーからデータセットを作成するには、AIカタログのSpark SQLでのデータの準備機能を使用します。)
手動設定を使用して、モデリングデータセットを準備するコードを生成します。さらにカスタマイズするには、各フィールドに入力し、[Spark SQLクエリー]リンクをクリックして、SQLクエリーにこれらの値を事前入力します。
時系列データセットを準備オプションを有効にするには、それを変更する権限が必要です。 さらに、データセットは次の条件を満たしている必要があります。
- 静的またはSparkのステータスがあること。
- 1つ以上の日付/時刻特徴量があること。
- 1つ以上の数値特徴量があること。
手動オプションの設定¶
選択すると、手動設定 ページが開きます。
フィールドに入力します。これらのフィールドはDataRobotが計算する補完と集計の基準として使用されます。必須フィールドのすべてに入力するまで、クエリーを保存することも、Spark SQLを編集することもできません。(以下の補完に関する追加情報を参照してください。)
フィールド | 説明 | 必須 |
---|---|---|
ターゲット特徴量 | 予測するデータセットの数値列。 | はい |
プライマリー日付/時刻特徴量 | パーティショニングの基準として使用する時間型特徴量。ドロップダウンを使用するか、特定された特徴量から選択します。 | はい |
系列ID | DataRobotがデータセットを個別の時系列として処理できるようにする系列識別子を含む列。 | いいえ |
シリーズ開始日(シリーズIDが設定された場合のみ利用可能) | 系列の開始日の基準。各系列の最も早い日付(系列ごと)または任意の系列で見つかった最も早い日付(グローバル)。 | デフォルトは系列ごと |
シリーズ終了日(シリーズIDが設定された場合のみ利用可能) | 系列の終了日の基準。各系列の最終エントリー日(系列ごと)または任意の系列で見つかった最新の日付(グローバル)。 | デフォルトは系列ごと |
ターゲットおよび数値特徴量の集計と補完 | 平均と最新または合計とゼロのいずれかを使用してターゲットを集計します。つまり、時間ステップの集計は、値の合計または平均値のいずれかを使用して作成されます。集計後も欠損しているターゲット値がまだある場合は、ターゲット値としてゼロ(sum の場合)または最新の値(mean の場合)が補完されます。 |
はい |
カテゴリー特徴量の集約と補完 | 集計時間ステップ内の最も頻度の高い値または最終値を使用して、カテゴリ特徴量を集計します。値の補完は、系列内で一定である特徴量(交差系列のgroupby列など)にのみ適用されます。系列内で常に一定になるように補完されます。 | はい |
テキスト特徴量の集約と補完(テキスト特徴量が存在する場合にのみ使用可能)。 | ignore でテキスト特徴量の処理をスキップするか、次の方法で集計するかを選択します。• most frequent テキスト値• last テキスト値• concatenate all テキスト値• total text length mean text length |
可 |
時間ステップ:新しいデータセットの行の間で検出される平均期間差を構成するコンポーネント(頻度と単位(頻度と単位)。たとえば、15(頻度)日(単位)です。 | ||
頻度 | 時間ステップを構成する(時間)単位の数。 | デフォルトは検出済み |
単位 | ドロップダウンからの時間ステップを構成する時間単位(秒、日、月など)。 | デフォルトは検出された単位 |
すべての必須フィールドに入力すると、次の3つのオプションが使用可能になります。
-
実行をクリックして、クエリー(結果のデータセット)の最初の10,000件の結果をプレビューする。
備考
出力が大きすぎると、プレビューの実行に失敗する可能性があり、代わりにコンソールにアラートが返されます。ただし、データセットをAIカタログに保存することはできます。
-
保存をクリックして、AIカタログに新しいSpark SQLデータセットを作成する。そのデータセットの情報タブが開きます。データセットは、AIカタログのSpark SQLデータセットで利用可能な新しいプロジェクトまたはその他のオプションを作成するために使用できます。データセットに50%を超える補完行がある場合、DataRobotは注意メッセージを提供します。
-
Spark SQLクエリーを編集するをクリックして、Spark SQLエディターを開き、最初のクエリーを変更する。
Spark SQLクエリーを編集する¶
手動設定を完了し、クリックしてSpark SQLエディターを開くと、手動設定に基づく初期クエリーが編集ウィンドウに表示されます。このスクリプトは他のSpark SQLクエリーと同様にカスタマイズ可能で、このスクリプトを使用して、新規データセットを作成することや既存のデータセットの新しいバージョンを作成することができます。
変更が完了したら、実行をクリックして結果をプレビューします。問題がなければ、保存をクリックして新しいデータセットをAIカタログに追加します。または、手動設定に戻るをクリックして、ドロップダウンベースのエントリーに戻ります。Spark SQLクエリー設定から手動設定に切り替えるとSpark SQLデータセットの準備内容がすべて失われるので、変更を元に戻す方法として使用できます。データセットに50%を超える補完行がある場合、DataRobotは注意メッセージを提供します。
値の補完¶
これらの補完の考慮事項に留意してください。
-
事前に既知:時系列データ準備ツールはターゲット値を入力するため、ターゲットリーケージのリスクがあります。これは、特徴が事前に既知(KA)の場合のターゲットの補完と特徴値の相関関係によるものです。すべてのKA機能は、補完リーケージがないかチェックされ、リーケージが検出された場合は、時系列特徴量の派生を実行する前にKAから削除されます。
-
系列内の数値特徴量:数値特徴量が系列内で一定である場合、それらを合計集計で処理すると問題が発生する可能性があります。たとえば、出力データセットの日付が複数の入力行を集計する場合、その結果、数値列が交差系列のグループ別の列になる資格がなくなる可能性があります。プロジェクトで、値を集計ではなく系列内で一定に保つ必要がある場合は、データ準備ツールを実行する前に、数値をカテゴリーに変換してください。
特徴量の補完¶
トレーニングや予測に使用する前にデータセットを確認して、変更が精度に影響を与えないことを確認することをお勧めします。これを行うには、AIカタログで「新しい」データセットを選択し、プロフィールタブを開きます。 新しい列が表示されます—aggregated_row_count
。列の値をスクロールします。 行の0
は、値が入力されたことを示します。
他の非ターゲット特徴量にも欠落値がないことに注意してください(フォワードフィルする値がない各系列の先頭の先行値を除いて)。DataRobotの特徴量の補完は、時系列データの準備を適用するときに、すべての特徴量(ターゲットおよびその他)の補完を有効にするためにフォワードフィリングを使用します。
補完注意¶
データ準備ツールで変更を加えた結果、ターゲット行の50%以上が補完された場合、DataRobotは次の両方で警告します。
-
カタログアイテムの情報ページのアラート
-
AIカタログインベントリのデータセットのバッジ:
モデルの構築¶
データセットが準備されたら、それを使用してプロジェクトを作成できます。AIカタログから新しいデータセットをアップロードすると、EDA1が完了した後、不規則な時間ステップを示す警告が消え、予測ウィンドウの設定に行ではなく期間が表示されることに注意してください。
データ準備中の補完による事前に既知の特徴量からのターゲットリーケージがないようにするために、DataRobotは補完リークチェックを実行します。チェックはEDA2中に実行され、データ品質評価の一部として表示されます。
チェックでは、KA特徴量を調べて、入力された行がリークされていないかどうかを確認します。ターゲットリーケージチェックに似ていますが、代わりにis_imputed
をターゲットとして使用します。特徴量のリーケージが見つかった場合、その特徴量の事前に既知のステータスは削除され、プロジェクトが続行されます。
予測を作成¶
データ準備ツールによって変更されたデータセットからプロジェクトが作成されると、対応する予測データセットに変換を自動的に適用できます。予測の作成タブで、オプションを切り替えて選択します。
オンの場合、DataRobotはアップロードしたデータセットに同じ変換を適用します。AIカタログので変換を確認するをクリックして、手動およびSparkSQL設定の読み取り専用バージョンを表示します。次に例を示します。
データセットがアップロードされたら、予測の設定を構成します。(予測ポイントを使用して特定の日付を選択するか、または予測範囲を使用して選択した範囲内のすべての予測距離を予測します。)
備考
予測ポイント予測には、予測ポイントを指定する必要があります。DataRobotは、最新の有効なタイムスタンプ(ツールを使用しない場合のデフォルト)を適用しません。
準備されたデータセットから構築されたモデルをデプロイする場合、デプロイセクションの予測の作成タブでは、時系列データの準備変換を適用することもできます。