Amazon SageMaker Canvas の時系列予測 - Amazon SageMaker

Amazon SageMaker Canvas の時系列予測

注記

時系列予測モデルは表形式のデータセットでのみサポートされます。

Amazon SageMaker Canvas では、機械学習の時系列予測を使用できます。時系列予測では、時間によって変化する予測を行うことができます。

時系列予測は、以下のような例に使用できます。

  • 今後数か月の在庫を予測する。

  • 今後 4 か月間に販売される商品の数。

  • ホリデーシーズン期間中に販売価格を引き下げることによる影響。

  • 今後 12 か月間の商品の在庫。

  • 今後数時間以内に店舗に入店する顧客の数。

  • 商品価格の 10% 引き下げが一定の期間における売上高に及ぼす影響の予測。

時系列予測を行うには、データセットに以下のものが必要です。

  • すべての値が datetime 型のタイムスタンプ列。

  • 未来の値を予測するために使用する値が入ったターゲット列。

  • SKU 番号など、データセット内の各項目の一意の識別子を含む項目 ID 列。

タイムスタンプ列の datetime 値は、次のいずれかの形式を使用する必要があります。

  • YYYY-MM-DD HH:MM:SS

  • YYYY-MM-DDTHH:MM:SSZ

  • YYYY-MM-DD

  • MM/DD/YY

  • MM/DD/YY HH:MM

  • MM/DD/YYYY

  • YYYY/MM/DD HH:MM:SS

  • YYYY/MM/DD

  • DD/MM/YYYY

  • DD/MM/YY

  • DD-MM-YY

  • DD-MM-YYYY

次の間隔で予測を行うことができます。

  • 1 分

  • 5 分

  • 15 分

  • 30 分

  • 1 時間

  • 1 日

  • 1 週間

  • 1 か月

  • 1 年

入力データセットの将来の値

Canvas は、将来の値を含む可能性のあるデータセット内の列を自動的に検出します。存在する場合、これらの値は予測の精度を高めることができます。Canvas では、これらの特定の列に Future values のラベルを付けます。Canvas では、これらの列のデータと予測しようとしているターゲット列との関係を推測し、その関係を利用してより正確な予測を生成します。

食料品店が販売するアイスクリームの量の予測などに使用できます。予測を行うには、タイムスタンプ列と、食料品店が販売したアイスクリームの量を示す列が必要です。より正確な予測のために、データセットに価格、外界温度、アイスクリームのフレーバー、またはアイスクリームの一意の識別子を含めることもできます。

気温が暖かいとアイスクリームの売上が増える可能性があります。アイスクリームの値下げが、販売数の増加につながることもあります。外界温度データの列と価格データの列があると、食料品店が販売するアイスクリームの個数をより正確に予測できます。

将来の値の提供はオプションですが、Canvas アプリケーションで What-If 分析を直接実行するのに役立ちます。これは、将来の値の変更が予測をどのように変更するかを示します。

欠落した値の処理

さまざまな理由でデータが欠落している場合もあります。データが欠落している理由がわかれば、Canvas での計算方法を特定できるかもしれません。例えば、組織では、販売が発生したときのみ追跡する自動システムが使用されることがあります。このようなタイプの自動システムからのデータセットを使用すると、ターゲット列の値が欠落します。

重要

ターゲット列に欠落した値がある場合は、欠損値のないデータセットを使用することをお勧めします。SageMaker Canvas は、ターゲット列を使用して将来の値を予測します。ターゲット列の値が欠落していると、予測の精度が大幅に低下することがあります。

データセット内の欠落値の場合、Canvas ではターゲット列に 0 を入力し、他の数値列に列の中央値を入力することで、欠落値を自動的に補完します。

ただし、データセット内のターゲット列やその他の数値列には独自のフィルロジックを選択できます。ターゲット列には、他の数値列とは異なる filling ガイドラインと制限があります。ターゲット列は履歴期間の終了まで入力され、一方で数値列は予測期間の終了まで、履歴期間と将来の期間の両方で入力されます。Canvas は、データに将来のタイムスタンプとその特定の列の値を持つレコードが少なくとも 1 つある場合にのみ、数値列に将来の値を入力します。

次のいずれかのフィルロジックオプションを選択して、データの欠落を補完できます。

  • zero0 を入力します。

  • NaN – 数値ではなく、NaN を入力します。これはターゲット列でのみサポートされます。

  • mean - データ系列の平均値を入力します。

  • median - データ系列の中央値を入力します。

  • min - データ系列の最小値を入力します。

  • max - データ系列の最大値を入力します。

フィルロジックを選択するときは、モデルによってロジックがどのように解釈されるかを考慮する必要があります。例えば、小売のシナリオでは、利用可能な品目の販売数 0 を記録することは、利用できない品目の販売数 0 を記録することとは異なります。後者の場合、品目に対するお客様の関心がないことを意味するものではありません。この場合、データセットのターゲット列 0 を入力すると、モデルの予測に偏りがなくなり、利用できない品目に対するお客様の関心がないものと推測される可能性があります。逆に、NaN を入力すると、利用可能な品目の販売数がゼロである実際の出現がモデルによって無視される可能性があります。

予測のタイプ

以下のいずれかのタイプの予測を行うことができます。

  • 1 つの項目

  • すべての項目

データセット内のすべてのアイテムに対する予測では、SageMaker Canvas はデータセット内の各項目の将来の値の予測を返します。

1 つの項目に対する予測の場合は、SageMaker Canvas は指定した項目に対する将来の値の予測を返します。予測では、予測値を時系列でプロットする折れ線グラフも表示されます。