Amazon Forecast は、新規顧客には利用できなくなりました。Amazon Forecast の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
欠落した値の処理
時系列予測データの一般的な問題は、欠落した値の存在です。データには、測定の失敗、フォーマットの問題、人為的ミス、記録する情報の不足など、さまざまな理由で欠落した値が含まれている可能性があります。たとえば、小売店の製品需要を予測しているときに、商品が売り切れたり使用不能になったりすると、その品目が在庫切れになっている間に記録する売上データは存在しないことになります。十分に優勢な場合、欠落した値がモデルの精度に影響を与える可能性があります。
Amazon Forecast には、ターゲット時系列および関連する時系列データセットの欠落した値を処理するための多数の filling メソッドが用意されています。フィルは、データセット内の欠落しているエントリに標準化された値を追加するプロセスです。
Forecast では、以下の filling メソッドがサポートされています。
-
[Middle filling] (中間 filling) - データセットの項目の開始日と項目の終了日の間の欠落した値を埋めます。
-
[Back filling] (後方 filling) - データセットの最後に記録されたデータポイントとデータセットのグローバル終了日との間の欠落した値を埋めます。
-
[Future filling (related time series only)] (将来のフィル (関連する時系列のみ)) - グローバル終了日から予測期間の終了までの間に欠落した値を埋めます。
次の図は、さまざまなフィル方法を視覚的に示しています。
フィルロジックの選択
フィルロジックを選択するときは、モデルによってロジックがどのように解釈されるかを考慮する必要があります。たとえば、小売のシナリオでは、利用可能な品目の販売数 0 を記録することは、利用できない品目の販売数 0 を記録することとは異なります。後者の場合、品目に対するお客様の関心がないことを意味するものではありません。このため、ターゲット時系列での 0
filling では、予測で予測子の偏りが不足することがありますが、NaN
filling では、販売されている利用可能な品目 0 個の実際の出現が無視され、予測子の偏りが過剰になる可能性があります。
次の時系列グラフは、誤ったフィル値を選択するとモデルの精度に大きく影響することを示しています。グラフ A と B は、一部である項目の需要をプロットし out-of-stock、黒い線は実際の売上データを表します。A1 の欠落した値は 0
で埋められ、A2 では比較的偏りのない予測 (点線で表される) につながります。同様に、B1 の欠落した値は NaN
で埋められ、B2 のより正確な予測につながります。
サポートされているフィルロジックのリストについては、次のセクションを参照してください。
ターゲット時系列および関連する時系列フィルロジック
ターゲット時系列データセットと関連する時系列データセットの両方に対してフィルを実行できます。データセットタイプごとに異なる入力ガイドラインと制限があります。
データセットタイプ | デフォルトでフィルしますか? | サポートされているフィル方法 | デフォルトのフィルロジック | 受け入れられた filling ロジック |
---|---|---|---|---|
ターゲット時系列 | あり | 中間フィルと後方フィル | 0 |
|
関連する時系列 | いいえ | 中間、後方、および将来のフィル | デフォルトなし |
|
重要
ターゲットおよび関連する時系列データセットの両方について、mean
、median
、min
、および max
は、欠落した値より前の最新の 64 個のデータエントリのローリングウィンドウに基づいて計算されます。
欠落した値の構文
欠落した値のフィルを実行するには、 CreatePredictorオペレーションを呼び出すときに実装するフィルのタイプを指定します。フィルロジックは FeaturizationMethod オブジェクトで指定されます。
次の抜粋は、ターゲット時系列属性および関連する時系列属性 (target_value
および price
) に対して正しくフォーマットされた FeaturizationMethod
オブジェクトを示しています。
filling メソッドを特定の値に設定するには、fill パラメータを value
に設定し、対応する _value
パラメータで値を定義します。以下に示すように、関連する時系列の backfilling は、"backfill": "value"
および "backfill_value":"2"
とともに値 2 に設定されます。
[ { "AttributeName": "target_value", "FeaturizationPipeline": [ { "FeaturizationMethodName": "filling", "FeaturizationMethodParameters": { "aggregation": "sum", "middlefill": "zero", "backfill": "zero" } } ] }, { "AttributeName": "price", "FeaturizationPipeline": [ { "FeaturizationMethodName": "filling", "FeaturizationMethodParameters": { "middlefill": "median", "backfill": "value", "backfill_value": "2", "futurefill": "max" } } ] } ]