データセットのインポート - Amazon Forecast

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

データセットのインポート

データセットには、予測子のトレーニングに使用するデータが含まれます。1 つ以上の Amazon Forecast データセットを作成し、トレーニングデータをインポートします。データセットグループは、一連の変化するパラメータを一定の期間にわたって詳細に説明する補完的なデータセットのコレクションです。データセットグループを作成したら、それを使用して予想子をトレーニングします。

各データセットグループには、データセットタイプ (ターゲット時系列、関連する時系列、項目メタデータ) ごとに 1 つ、最大 3 つのデータセットを含めることができます。

Forecast データセットおよびデータセットグループを作成および管理するには、Forecast コンソール、AWS Command Line Interface (AWS CLI)、または AWS SDK を使用します。

Forecast データセットの例については、「Amazon Forecast サンプル GitHubリポジトリ」を参照してください。

データセット

Forecast データセットを作成および管理するために、CreateDataset および DescribeDataset オペレーションを含む Forecast API を使用できます。Forecast API の完全なリストについては、「API リファレンス」を参照してください。

データセットを作成するときは、次のような情報を入力します。

  • データを記録した頻度/間隔。たとえば、週ごとに小売商品の売上を集計して記録するとします。使用開始 演習では、1 時間あたりの平均電力使用量のデータを使用します。

  • 予測形式 (ドメイン) とデータセットタイプ (ドメイン内)。データセットドメインは、実行する予測のタイプを指定しますが、データセットタイプは、トレーニングデータを Forecast フレンドリーなカテゴリに整理するのに役立ちます。

  • データセットスキーマ。スキーマは、データセットの列ヘッダーをマップします。たとえば、需要をモニタリングする場合、1 時間ごとの商品販売データを複数の店舗で収集する場合があります。この場合、スキーマは、左から右への順序を定義し、その順序でトレーニングデータファイルにタイムスタンプ、場所、および 1 時間あたりの売上が表示されます。スキーマは、string または integer など、各列のデータタイプも定義します。

  • geolocation およびタイムゾーン情報。geolocation 属性は、スキーマ内において属性タイプ geolocation で定義されています。タイムゾーン情報は、 CreateDatasetImportJobオペレーションで定義されます。Weather Index を有効にするには、geolocation とタイムゾーンの両方のデータを含める必要があります。

Forecast データセット内の各列は、予測ディメンションまたは機能を表します。予測ディメンションは、locationstore など、時間の経過とともに変化しないデータの側面を表します。予測機能には、 pricepromotion など、時間の経過とともに変化するデータ内のパラメータが含まれます。timestampitemId のような一部のディメンションは、ターゲット時系列および関連する時系列データセットで必要です。

データセットドメインとデータセットタイプ

Forecast データセットを作成するときは、ドメインとデータセットタイプを選択します。Forecast は、小売需要やウェブトラフィックの予測など、さまざまなユースケース向けにドメインを提供します。カスタムドメインを作成することもできます。Forecast ドメインの詳細なリストについては、「事前定義済みのデータセットドメインとデータセットタイプ」を参照してください。

各ドメイン内で、Forecast ユーザーは次のタイプのデータセットを指定できます。

  • ターゲット時系列データセット (必須) - トレーニングデータが時系列、かつ、予想を生成するフィールドが含まれる場合は、このデータセットタイプを使用します。このフィールドは、ターゲットフィールドと呼ばれます。

  • 関連する時系列データセット (オプション) - トレーニングデータは時系列だが、ターゲットフィールドが含まれていない場合は、このデータセットタイプを選択します。たとえば、項目の需要を予測している場合、関連する時系列データセットにはフィールドとして price が含まれますが、demand は含まれません。

  • 項目メタデータデータセット (オプション) - トレーニングデータが時系列データではなく、ターゲット時系列または関連する時系列のデータセットのアイテムに関するメタデータ情報を含む場合は、このデータセットタイプを選択します。例えば、アイテムの需要を予想している場合、アイテムのメタデータデータセットはディメンションとして color または brand を持つ場合があります。

    Forecast は、CNN-QR または DeepAR+ アルゴリズムを使用する場合に、アイテムメタデータのデータセットタイプによって提供されるデータのみを考慮します。

    項目メタデータは、予測を行うための直接的な履歴データはほとんどないが、類似したメタデータ属性を持つ項目の履歴データがある、コールドスタート予測シナリオで特に便利です。項目のメタデータを含めると、Forecast は類似の時系列に基づいてコールドスタート予想を作成するため、より正確な予想を作成できます。

トレーニングデータの情報と予測する内容によっては、複数のデータセットを作成する場合があります。

たとえば、靴や靴下などの小売商品の需要の予測を生成するとします。RETAIL ドメインに次のデータセットを作成します。

  • ターゲット時系列データセット - 小売商品の履歴時系列需要データが含まれます (例: item_idtimestamp、およびターゲットフィールド demand)。予測するターゲットフィールドを指定するため、データセットグループには少なくとも 1 つのターゲット時系列データセットが必要です。

    ターゲット時系列データセットに最大 10 個のディメンションを追加することもできます。データセットグループにターゲット時系列データセットのみを含める場合、詳細度のみの項目レベルまたは予測ディメンションレベルで予測を作成できます。詳細については、「CreatePredictor」を参照してください。

  • 関連する時系列データセット - price または revenue など、ターゲットフィールド以外の履歴時系列データが含まれます。関連する時系列データはターゲット時系列データにマップできる必要があるため、関連する時系列データセットごとに同じ識別フィールドが含まれている必要があります。RETAIL ドメインでは、item_idtimestamp になります。

    関連する時系列データセットには、ターゲットの時系列データセットから作成された予測を微調整するデータが含まれている場合があります。たとえば、予測を生成する将来の日付の price データを関連する時系列データセットに含めることができます。これにより、Forecast は、コンテキストの追加ディメンションを使用して予測を行うことができます。詳細については、「関連する時系列データセットの使用」を参照してください。

  • 項目メタデータデータセット – 小売商品のメタデータが含まれます。たとえば、メタデータには、brandcategorycolorgenre などがあります。

予測ディメンションを持つデータセットの例

前述の例の続きとして、店舗の過去の売上に基づき、靴と靴下の需要を予測するとします。次のターゲット時系列データセットで、store は時系列予測ディメンション、demand はターゲットフィールドです。靴下は 2 つの店舗 (NYC と SFO) で販売されており、靴は ORD でのみ販売されています。

このテーブルの最初の 3 行には、NYC、SFO、および ORD ストアで有効な最初の販売データが含まれています。最後の 3 行には、各店舗の最後に記録された販売データが含まれています。... 行は、最初のエントリと最後のエントリの間に記録されたすべての商品の販売データを表します。

timestamp item_id store demand
2019-01-01 socks NYC 25
2019-01-05 socks SFO 45
2019-02-01 shoes ORD 10
...
2019-06-01 socks NYC 100
2019-06-05 socks SFO 5
2019-07-01 shoes ORD 50

データセットスキーマ

各データセットには、トレーニングデータのフィールドのユーザー指定の JSON マッピングであるスキーマが必要です。データセットに含める必要のあるディメンションとオプションのディメンションおよび機能がいずれも一覧表示されています。

データセットに geolocation 属性が含まれている場合は、スキーマ内で属性タイプ geolocation を使用して属性を定義します。詳細については、「Adding Geolocation information」(geolocation の追加) を参照してください。Weather Index を適用するには、ターゲットの時系列および関連する時系列データセットに geolocation 属性を含める必要があります。

一部のドメインには、含めることをお勧めするオプションのディメンションがあります。オプションのディメンションは、このガイドの後半にある各ドメインの説明に記載されています。例については「RETAIL ドメイン」を参照してください。オプションのすべてのディメンションは、string のデータ型になります。

スキーマはすべてのデータセットに必要です。上記のターゲット時系列データセットの例に付随するスキーマを次に示します。

{ "attributes": [ { "AttributeName": "timestamp", "AttributeType": "timestamp" }, { "AttributeName": "item_id", "AttributeType": "string" }, { "AttributeName": "store", "AttributeType": "string" }, { "AttributeName": "demand", "AttributeType": "float" } ] }

このスキーマを使用するデータセットにトレーニングデータをアップロードすると、Forecast は timestamp フィールドがデータの列 1、item_id フィールドが列 2、store フィールドが列 3、そしてターゲットフィールドである demand フィールドが列 4 であるとみなします。

関連する時系列データセットタイプの場合、すべての関連機能に属性タイプ float または integer が必要です。項目メタデータデータセットタイプの場合は、すべての機能に文字列の属性タイプが必要です。詳細については、「SchemaAttribute」を参照してください。

注記

データセットのすべての列に attributeNameattributeType のペアが必要です。Forecast では、多くの名前が予約されており、これらをスキーマ属性の名前として使用することはできません。予約名のリストについては、「予約フィールド名」を参照してください。

データセットグループ

データセットグループは、1 つから 3 つの認定データセットのコレクションで、データセットタイプごとに 1 つです。データセットをデータセットグループにインポートし、データセットグループを使用して予想子をトレーニングします。

Forecast には、データセットグループを作成し、データセットをそのグループに追加するための以下のオペレーションが含まれています:

データ収集頻度の競合の解決

Forecast では、CreateDataset オペレーションで指定したデータ頻度と一致しないデータを使用して予測子をトレーニングできます。例えば、一部のデータが時間の先頭にタイムスタンプが付いていないデータ (02:20、02:45) をインポートできます。Forecast では、指定したデータ頻度を使用してデータについて学習します。次に、Forecast は、予測子のトレーニング中にデータを集計します。詳細については、さまざまな予想頻度のデータ集計を参照してください。