ノンパラメトリック時系列 (NPTS) のアルゴリズム - Amazon Forecast

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

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

ノンパラメトリック時系列 (NPTS) のアルゴリズム

Amazon Forecast ノンパラメトリック時系列 (NPTS) のアルゴリズムは、スケーラブルで確率的なベースライン予測機能です。過去の観測からサンプリングすることにより、特定の時系列の未来の価値分布を予測します。予測は観測値によって制限されます。時系列が断続的 (またはスパース、多くの 0 を含む) かつバースト的であり場合、NPTS は特に便利です。たとえば、時系列に多数の低カウントがある個々のアイテムの需要の予測などです。Amazon Forecast は、過去の観測のどれをサンプリングするかが異なり、かつどのようにサンプリングされるかが異なる、NPTS のバリアントを提供します。NPTS バリアントを使用するには、ハイパーパラメータ設定を選択します。

NPTS の仕組み

指数平滑法 (ETS) や自己回帰和分移動平均 (ARIMA) などの古典的な予測方法と同様に、NPTS は各時系列の予測を個別に生成します。データセットの時系列は長さが異なっていて構いません。観察が利用可能である時間ポイントはトレーニング範囲と呼ばれ、予測が望まれる時間ポイントは予測範囲と呼ばれます。

Amazon Forecast NPTS の予測機能には、NPTS、季節性 NPTS、気候学的予測機能、および季節性気候学的予測機能というバリエーションがあります。

NPTS

このバリアントで、予測は、時系列のトレーニング範囲内のすべての観測値からサンプリングすることによって生成されます。ただし、すべての観測値から一様にサンプリングするのではなく、このバリアントでは、予測が必要な現在の時間ステップからどれほど離れているかに応じて、過去の各観測値に重みを割り当てます。特に、過去の観測値がどれほど離れているかに応じて指数関数的に減衰する重みを使用します。このように、最近の過去からの観測値は、遠い過去からの観測値よりもはるかに高い確率でサンプリングされます。これは、近い過去が遠い過去より未来のためにより指標的であるということを前提としています。重みの減衰量を制御するには、exp_kernel_weights ハイパーパラメータを使用します。

Amazon Forecast でこの NPTS バリアントを使用するには、use_seasonal_model ハイパーパラメータを False に設定し、他のすべてのデフォルト設定を受け入れます。

季節性 NPTS

季節性 NPTS のバリアントは、NPTS と似ていますが、すべての観測からサンプリングするのではなく、過去の季節の観測のみを使用する点が異なります。デフォルトでは、季節は時系列の詳細度によって決まります。たとえば、1 時間ごとの時系列で時間 t の予測を生成するには、このバリアントは前日の時間 t に対応する観測値からサンプリングします。NPTS と同様に、前日の t 時の観測値は、それより前の日の t 時の観測値よりも重要度が高くなります。時系列の詳細度に基づいて季節性を判断する方法について詳しくは、季節性の特徴を参照してください。

気候学的予測機能

気候学的予測機能のバリアントは、過去の観測すべてを一様な確率でサンプリングします。

気候学的予測機能を使用するには、kernel_type ハイパーパラメータを uniform に、use_seasonal_model ハイパーパラメータを False に設定します。他のすべてのハイパーパラメータのデフォルト設定を受け入れます。

季節性気候学的予測機能

季節性 NPTS と同様に、季節性気候学的予測機能は、過去の季節からの観測値をサンプリングしますが、それらを一様な確率でサンプリングします。

季節性気候学的予測機能を使用するには、kernel_type ハイパーパラメータを uniform に設定します。他のすべてのハイパーパラメータについては、他のすべてのデフォルト設定を受け入れます。

季節性の特徴

季節性 NPTS と季節性気候学的予測機能の季節に対応するものを判断するには、次の表にリストされている特徴を使用します。この表には、詳細度に基づいて、サポートされている基本的な時間頻度で派生する特徴をリストします。Amazon Forecast にはこれらの特徴の時系列が含まれているのため、それらを提供する必要はありません。

時系列の頻度 季節性を判断する特徴
時間あたりの分
時間 日あたりの時間
曜日
月あたりの日

Amazon Forecast NPTS のアルゴリズムを使用する際には、データを準備して最適な結果を得るために、次のベストプラクティスを考慮してください。

  • NPTS は各時系列の予測を個別に生成するため、予測のためにモデルを呼び出すときには時系列全体を指定します。また、context_length ハイパーパラメータのデフォルト値を受け入れます。これにより、アルゴリズムで時系列全体が使用されます。

  • トレーニングデータが長すぎるために context_length を変更する場合は、十分な大きさであり、過去の複数の季節をカバーできることを確認してください。たとえば、毎日の時系列の場合、この値は 365 日以上でなければなりません (ただし、その量のデータがある場合)。

NPTS のハイパーパラメータ

次の表は、NPTS アルゴリズムで使用できるハイパーパラメータのリストです。

Parameter Name 説明
context_length モデルが予測を生成するために使用する過去の時間ポイントの数。デフォルトでは、トレーニング範囲内のすべての時間ポイントポイントが使用されます。通常、このハイパーパラメータの値は大きくなければならず、過去の複数の季節をカバーする必要があります。たとえば、毎日の時系列の場合、この値は 365 日以上である必要があります。
有効な値

正の整数

デフォルト値

トレーニング時系列の長さ

kernel_type 過去の観測値のサンプリングに使用する重みを定義するためのカーネル。
有効な値

exponential、または uniform

デフォルト値

exponential

exp_kernel_weights

kernel_typeexponential の場合にのみ有効です。

カーネルのスケーリングパラメータ。遠い過去の観測に割り当てられた重みをより速く (指数関数的に) 減衰させるためには、大きい値を使用してください。

有効な値

正の浮動小数点数

デフォルト値

0.01

use_seasonal_model 季節性のバリアントを使用するかどうか。
有効な値

True、または False

デフォルト値

True

use_default_time_features

季節性 NPTS および季節性気候学的予測機能のバリアントにのみ有効です。

季節性を判断するために時系列の詳細度に基づいて季節性の特徴を使用するかどうか。

有効な値

True、または False

デフォルト値

True