予測の生成 - Amazon Forecast

Amazon Forecast は、新規のお客様は利用できなくなりました。Amazon Forecast の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら

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

予測の生成

Amazon Forecast の予測子を作成したら、予想を作成する準備が整います。デフォルトでは、予測子のトレーニングに使用されたデータセットグループ内の各項目 (item_id) の予測が含まれます。ただし、予想が生成されるアイテムのサブセットを指定できます。

予想を作成したら、Amazon Simple Storage Service (Amazon S3) バケットにエクスポートできます。

予想を作成する

Forecast コンソール、AWS CLI、または AWS SDK を使用して予想を作成できます。予想を生成する前に、予測子のステータスがアクティブである必要があります。

Console
予測を作成するには
  1. AWS Management Console にサインインして、Amazon Forecast コンソール (https://console.aws.amazon.com/forecast/) を開きます。

  2. [Dataset groups] (データセットグループ) から、データセットグループを選択します。

  3. データセットグループの [ダッシュボード][予想の生成] で、[予想を作成] を選択します。[予想を作成] ページが表示されます。

  4. [予想を作成] ページの [予想の詳細] で、予想の名前を入力し、予想の作成に使用する予測子を選択します。

  5. 予想分位数について、確率的予想が生成される分位数をオプションで指定します。デフォルトの分位数は、予測子の作成時に指定した分位数です。

  6. オプションで、[選択項目] のラジオボタンを選択して、予想生成に使用する時系列のサブセットを指定します。

  7. 必要に応じて、予想に任意のタグを追加します。詳細については、「Amazon Forecast のリソースのタグ付け」を参照してください。

  8. [Start] (開始) を選択します。[予想] ページが表示されます。

    [ステータス] 列には、予想のステータスが一覧表示されます。Amazon Forecast で、予測の作成が終了するまで待ちます。このプロセスには、数分以上かかることがあります。予想が作成されると、スタータスは [アクティブ] に変わります。

    予想が作成されたので、予想をエクスポートできます。「予想をエクスポートする」を参照してください。

CLI

create-forecast コマンドを使って、AWS CLI で予想を作成します。予想の名前と予測子の Amazon リソースネーム (ARN) を提供します。forecast-types について、確率的予想が生成される分位数をオプションで指定します。デフォルト値は、予測子の作成時に指定した分位数です。必要に応じて、予想に任意のタグを追加します。詳細については、「Amazon Forecast のリソースのタグ付け」を参照してください。

必須とオプションのパラメータの詳細については、「CreateForecast」を参照してください。

aws forecast create-forecast \ --forecast-name forecast_name \ --forecast-types 0.1 0.5 0.9 \ --predictor-arn arn:aws:forecast:region:account_number:predictor/predictorName \ --tags Key=key1,Value=value1 Key=key2,Value=value2
Python

SDK for Python (Boto3) を使用して予想を作成するには、create_forecast メソッドを使用します。予想の名前と予測子の Amazon リソースネーム (ARN) を提供します。ForecastTypes について、確率的予想が生成される分位数をオプションで指定します。デフォルト値は、予測子の作成時に指定した分位数です。必要に応じて、予想に任意のタグを追加します。詳細については、「Amazon Forecast のリソースのタグ付け」を参照してください。

必須とオプションのパラメータの詳細については、「CreateForecast」を参照してください。

import boto3 forecast = boto3.client('forecast') create_forecast_response = forecast.create_forecast( ForecastName = "Forecast_Name", ForecastTypes = ["0.1", "0.5", "0.9"], # optional, the default types/quantiles are what you specified for the predictor PredictorArn = "arn:aws:forecast:region:accountNumber:predictor/predictorName", Tags = [ { "Key": "key1", "Value": "value1" }, { "Key": "key2", "Value": "value2" } ] ) forecast_arn = create_forecast_response['ForecastArn'] print(forecast_arn)

時系列の指定

注記

時系列は、項目 (item_id) とデータセット内のすべてのディメンションの組み合わせです

時系列のリストを指定するには、item_id とディメンション値によって時系列を識別する CSV ファイルを S3 バケットにアップロードします。また、スキーマで時系列の属性と属性タイプを定義する必要があります。

例えば、小売業者は、特定の店舗 (store_location) での特定の商品 (item_id) の売上について、広告キャンペーンがどのように影響するかを知りたい場合があります。このユースケースでは、item_id と store_location の組み合わせである時系列を指定します。

次の CSV ファイルは、次の 5 つの時系列を選択します。

  1. Item_id: 001、store_location: シアトル

  2. Item_id: 001、store_location: ニューヨーク

  3. Item_id: 002、store_location: シアトル

  4. Item_id: 002、store_location: ニューヨーク

  5. Item_id: 003、store_location: デンバー

001, Seattle 001, New York 002, Seattle 002, New York 003, Denver

スキーマは、最初の列を item_id として定義し、2 番目の列を store_location として定義します。

入力データセットに含まれていない指定の時系列では、予想の作成はスキップされます。予想エクスポートファイルには、これらの時系列や予想値は含まれません。

予想をエクスポートする

予想を作成したら、それを Amazon S3 バケットにエクスポートできます。予想をエクスポートすると、予想が CSV ファイル (デフォルト) として Amazon S3 バケットにコピーされ、エクスポートされたデータには、項目予測に加えて項目メタデータデータセットのすべての属性が含まれます。予想をエクスポートするときに Parquet ファイル形式を指定できます。

エクスポートされる予想の精度 (時間単位、日単位、週単位など) は、予測子の作成時に指定した予想頻度です。必要に応じて、バケットに書き込まれる前にデータを暗号化する AWS Key Management Service キーを指定できます。

注記

エクスポートファイルは、[Dataset Import] (データセットのインポート) から直接情報を返すことができます。これにより、インポートされたデータに式またはコマンドが含まれている場合、ファイルは CSV インジェクションに対して脆弱になります。このため、エクスポートされたファイルはセキュリティ警告を表示する可能性があります。悪意のあるアクティビティを回避するには、エクスポートされたファイルを読み取るときにリンクとマクロを無効にします。

Console
予想をエクスポートするには
  1. ナビゲーションペインで、データセットグループの [予測] を選択します。

  2. 予想のラジオボタンを選択し、[予想エクスポートを作成] を選択します。[Create forecast export (予測エクスポートの作成)] ページが表示されます。

  3. [Create forecast export (予測エクスポートの作成)] ページの [エクスポートの詳細] に次の情報を入力します。

    • [Export name] (エクスポート名) - 予測エクスポートジョブの名前を入力します。

    • [Generated forecast] (生成された予測) - ドロップダウンメニューから、Step 3: Create a Forecast で作成した予測を選択します。

    • IAM ロール — デフォルトの [カスタム IAM ロール ARN を入力] のままにするか、[新しいロールを作成] を選択すると Amazon Forecast がロールを自動的に作成します。

    • カスタム IAM ロール ARN - カスタム IAM ロールを入力する場合、Amazon Forecast の IAM ロールを作成する (IAM コンソール) で作成した IAM ロールの Amazon リソースネーム (ARN) を入力します。

    • KMS キー ARN – バケット暗号化のために AWS Key Management Service を使用する場合、AWS KMS キーの Amazon リソースネーム (ARN) を指定します。

    • [S3 予測エクスポートの場所] - 次の形式を使用して、Amazon Simple Storage Service (Amazon S3) バケットまたはバケットのフォルダの場所を入力します。

      s3://<name of your S3 bucket>/<folder path>/

  4. [Create forecast export (予測エクスポートの作成)] を選択します。[my_forecast] ページが表示されます。

    Amazon Forecast で、予測のエクスポートが終了するまで待ちます。このプロセスには、数分以上かかることがあります。予想がエクスポートされたら、ステータスが [アクティブ] に変わり、Amazon S3 バケットで予想ファイルを見つけることができます。

CLI

export-forecast-job コマンドを使って、AWS CLI で予想をエクスポートします。予想エクスポートジョブに名前を付け、エクスポートする予想の ARN を指定し、必要に応じてタグを追加します。destination には、出力 Amazon S3 バケットへのパス、Amazon Forecast の IAM ロールを作成する (IAM コンソール) で作成した IAM ロールの ARN を指定し、バケット暗号化に AWS KMS キーを使用する場合はキーの ARN を指定します。

必須のパラメータとオプションのパラメータの詳細については、「CreateForecastExportJob operation」を参照してください。

forecast create-forecast-export-job \ --forecast-export-job-name exportJobName \ --forecast-arn arn:aws:forecast:region:acctNumber:forecast/forecastName \ --destination S3Config="{Path='s3://bucket/folderName',RoleArn='arn:aws:iam::acctNumber:role/Role, KMSKeyArn='arn:aws:kms:region:accountNumber:key/keyID'}" --tags Key=key1,Value=value1 Key=key2,Value=value2
Python

SDK for Python (Boto3) を使用して予想をエクスポートするには、export_forecast_job メソッドを使用します。予想エクスポートジョブに名前を付け、エクスポートする予想の ARN を指定し、必要に応じてタグを追加します。Destination には、出力 Amazon S3 バケットへのパス、Amazon Forecast の IAM ロールを作成する (IAM コンソール) で作成した IAM ロールの ARN を指定し、バケット暗号化に AWS KMS キーを使用する場合はキーの ARN を指定します。

必須のパラメータとオプションのパラメータの詳細については、「CreateForecastExportJob operation」を参照してください。

import boto3 forecast = boto3.client('forecast') export_forecast_response = forecast.create_forecast_export_job( Destination = { "S3Config": { "Path": "s3://bucketName/folderName/", "RoleArn": "arn:aws:iam::accountNumber:role/roleName", "KMSKeyArn": "arn:aws:kms:region:accountNumber:key/keyID" } }, ForecastArn = "arn:aws:forecast:region:accountNumber:forecast/forecastName", ForecastExportJobName = "export_job_name", Tags = [ { "Key": "key1", "Value": "value1" }, { "Key": "key2", "Value": "value2" } ] ) forecast_export_job_arn = export_forecast_response["ForecastExportJobArn"] print(forecast_export_job_arn)

予想をクエリする

QueryForecast オペレーションを使用して予想をクエリできます。デフォルトでは、予測の全範囲が返ります。完全な予測内で特定の日付範囲をリクエストできます。

予測をクエリする際、フィルタリング条件を指定する必要があります。フィルタはキーと値のペアです。キーは、予測の作成に使用されるいずれかのデータセットのスキーマ属性名 (予測ディメンションを含む) の 1 つです。は、指定されたキーの有効な値です。複数のキーと値のペアを指定できます。返る予測には、すべての条件を満たすアイテムのみが含まれます。

コールドスタート予想

小売、製造、消費財などの業界のユーザーが直面する一般的な課題は、履歴データがない項目の予想を作成することです。このシナリオはコールドスタート予想と呼ばれ、通常、企業が新製品を市場に投入したり、ブランドやカタログを組み込んだり、新しい地域で製品をクロスセルしたりするときに発生します。

Amazon Forecast では、コールドスタート予想を実行するために項目のメタデータが必要です。Forecast は、項目メタデータにある項目特性を利用して、項目メタデータ内で、履歴データがない項目に類似する項目を明示的に識別します。Forecast は、既存の項目の需要特性を使用して、新しい項目のコールドスタート予想を生成します。

Amazon Forecast では、コールドスタート項目は、項目メタデータファイルには含まれているが、ターゲットの時系列ファイルには含まれていない項目として識別されます。コールドスタート項目を正しく識別するには、コールドスタート項目の項目 ID が項目メタデータファイルの行として入力され、ターゲットの時系列ファイルには入力されていないことを確認してください。コールドスタート項目が複数ある場合は、各項目 ID を項目メタデータファイルの個別の行として入力します。コールドスタート項目に項目 ID がない場合は、64 文字未満で、データセット内の別の項目でまだ使用されていない任意の英数字の組み合わせを使用できます。

コールドスタート予想には、項目メタデータデータセットと AutoPredictor の両方が必要です。