DeepAR ハイパーパラメータ - Amazon SageMaker

DeepAR ハイパーパラメータ

パラメータ名 説明
context_length

予測を生成する前にモデルが参照する時間ポイントの数。このパラメータの値は、prediction_length とほぼ同じである必要があります。モデルはターゲットからの遅延入力も受信するため、context_length は一般的な季節性よりもはるかに小さくなります。たとえば、毎日の時系列が年次的な季節性を持つ場合があります。このモデルには 1 年間の遅延が自動的に含まれるため、コンテキストの長さは 1 年よりも短くなります。モデルが選択する遅延値は、時系列の頻度によって異なります。たとえば、毎日の頻度の遅延値は、前の週、2 週間、3 週間、4 週間、および 1 年です。

必須

有効な値: 正の整数

epochs

トレーニングデータへのパスの最大数。最適な値は、データサイズと学習レートによって異なります。「early_stopping_patience」も参照してください。通常の値の範囲は 10 ~ 1000 です。

必須

有効な値: 正の整数

prediction_length

モデルが予測するようにトレーニングされる時間ステップの数。予測地平線とも呼ばれます。トレーニング済みモデルは常にこの長さで予測を生成します。それよりも長い予測を生成することはできません。prediction_length は、モデルのトレーニング時に固定されます。後で変更することはできません。

必須

有効な値: 正の整数

time_freq

データセット内の時系列の詳細度。time_freq を使用して、適切なデータ機能と遅延を選択します。モデルは、以下の基本的な頻度をサポートしています。また、これらの基本的な頻度の倍数もサポートしています。たとえば、5min は 5 分の頻度を指定します。

  • M: 毎月

  • W: 毎週

  • D: 毎日

  • H: 毎時

  • min: 毎分

必須

有効な値: MWDH、または min が後に続く整数。("5min" など)。

cardinality

カテゴリ別特徴 (cat) を使用する場合、cardinality は、カテゴリ別特徴ごとのカテゴリ (グループ) の数を指定するリストです。データから基数を推測するには、これを auto に設定します。auto モードは、データセットにカテゴリ別特徴が使用されていない場合にも機能します。これはパラメータの推奨設定です。

カテゴリ別特徴がデータに存在する場合でも、DeepAR でそれを使用しないようにするには、cardinality を ignore に設定します。

追加のデータ検証を実行するには、このパラメータを実際の値に明示的に設定します。たとえば、2 つのカテゴリ別特徴が提供され、最初の特徴には可能な値が 2 つ、もう 1 つの特徴には 3 つある場合は、これを [2, 3] に設定します。

カテゴリ別特徴の使用方法の詳細については、DeepAR のメインドキュメントページのデータセクションを参照してください。

オプション

有効な値: autoignore、正の整数の配列、空の文字列

デフォルト値: auto

dropout_rate

トレーニング時に使用するドロップアウト率。モデルはゾーンアウトの正則化を使用します。反復ごとに、隠れニューロンのランダムなサブセットが更新されることはありません。通常の値の範囲は 0.2 未満です。

オプション

有効な値: 浮動小数点数

デフォルト値: 0.1

early_stopping_patience

このパラメータが設定されると、epochs の指定された数内で進捗が見られない場合にトレーニングが停止します。損失が最も少ないモデルが最終的なモデルとして返されます。

オプション

有効な値: 整数

embedding_dimension

カテゴリ別特徴ごとに学習された埋め込みベクトルのサイズ (アルゴリズムはすべてのカテゴリ別特徴に対して同じ値を使用します)。

DeepAR モデルは、カテゴリグループ化機能が提供される場合に、グループレベルの時系列パターンを学習できます。これを行うために、モデルは各グループのサイズ embedding_dimension の埋め込みベクトルを学習し、グループ内のすべての時系列の共通プロパティをキャプチャします。より大きな embedding_dimension であれば、モデルはさらに複雑なパターンをキャプチャできます。ただし、embedding_dimension が増加するとモデル内のパラメータ数も増加するため、これらのパラメータを正確に学習するにはさらに多くのトレーニングデータが必要です。このパラメータの典型的な値は 10~100 の間にあります。

オプション

有効な値: 正の整数

デフォルト値: 10

learning_rate

トレーニングで使用する学習レート。通常の値の範囲は 1e-4 から 1e-1 です。

オプション

有効な値: 浮動小数点数

デフォルト値: 1e-3

likelihood

モデルは確率予測を生成し、分散の変位値を提供してサンプルを返すことができます。データによっては、不確実性予測に使用される適切な尤度 (ノイズモデル) を選択します。次の可能性を選択できます。

  • ガウス分布: 実数値のデータに使用します。

  • ベータ: 0~1 (この値を含みます) の間の実数値ターゲットに使用します。

  • 負の 2 項分布: データ (負ではない整数) の合計に使用します。

  • スチューデントの t 分布: 爆発的なデータに対して効果的に機能する、実数値データ向けの代替手段。

  • 決定論的 L1: 不確実性を予測せず、ポイント予測のみ学習する損失関数。

オプション

有効な値: ガウス分布ベータ負の 2 項分布スチューデントの t 分布、または 決定論的 L1 のいずれか 1 つ。

デフォルト値: student-T

mini_batch_size

トレーニング時に使用するミニバッチのサイズ。通常の値の範囲は 32 ~ 512 です。

オプション

有効な値: 正の整数

デフォルト値: 128

num_cells

RNN の非表示のレイヤーごとに使用するセルの数。通常の値の範囲は 30 ~ 100 です。

オプション

有効な値: 正の整数

デフォルト値: 40

num_dynamic_feat

データに指定されている dynamic_feat の数。データから動的特徴の数を推測するには、これを auto に設定します。auto モードは、データセットに動的特徴が使用されていない場合にも機能します。これはパラメータの推奨設定です。

動的特徴がデータに存在している場合でも、DeepAR でそれを使用しないようにするには、num_dynamic_featignore に設定します。

追加のデータ検証を実行するには、このパラメータを実際の整数値に明示的に設定します。たとえば、動的な特徴が 2 つ提供されている場合は、これを 2 に設定します。

オプション

有効な値: autoignore、正の整数、または空の文字列

デフォルト値: auto

num_eval_samples

テスト精度メトリクスを計算するときに時系列ごとに使用されるサンプル数。このパラメータは、トレーニングまたは最終モデルには影響しません。特に、モデルに対するクエリは、異なるサンプル数を使用して実行できます。このパラメータは、トレーニング後にテストチャネルで報告された精度スコアのみに影響します。値が小さいほど評価は速くなりますが、その場合、評価スコアは一般的に悪くなり、確実性が低下します。評価時の分位数が大きい場合は (たとえば、0.95)、評価サンプルの数を増やすことが重要である可能性があります。

オプション

有効な値: 整数

デフォルト値: 100

num_layers

RNN の非表示レイヤーの数。通常の値の範囲は 1 ~ 4 です。

オプション

有効な値: 正の整数

デフォルト値: 2

test_quantiles

テストチャネルで分位損失を計算するための分位数。

オプション

有効な値: 浮動小数点数の配列

デフォルト値: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]