DeepAR 超參數 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

DeepAR 超參數

參數名稱 描述
context_length

模型在進行預測之前所看到時間點的數量。此參數的值應和 prediction_length 大致相同。模型也會從目標接收到延遲的輸入,因此 context_length 可能會比典型的季節週期小上許多。例如,每日時間序列可以有每年季節性。模型會自動包含一年的延遲年,因此內容的長度可能會比一年短。模型所選擇的延遲值,取決於時間序列的頻率。例如,每日頻率的延遲值為前一週、2 週、3 週、4 週和一年。

必要

有效值:正整數

epochs

針對訓練資料的最高傳遞次數。最佳值取決於您的資料大小和學習速率。另請參閱early_stopping_patience。典型值介於 10 到 1000 之間。

必要

有效值:正整數

prediction_length

要訓練模型預測的時間步長,也稱為預測期間。經過訓練的模型一律會使用此長度來產生預測。該模型無法產生較長期間的預測。在訓練模型時,prediction_length 是固定的,而且之後無法變更。

必要

有效值:正整數

time_freq

資料集中時間序列的精細程度。請使用 time_freq 來選擇適合的日期特徵和延遲。模型支援下列基本頻率。它也支援多個基本頻率。例如,5min 會指定 5 分鐘的頻率。

  • M:每月

  • W:每週

  • D:每日

  • H:每小時

  • min:每分鐘

必要

有效值:其後跟隨 MWDHmin 的整數。例如,5min

cardinality

使用分類特徵 (cat) 時,cardinality 是一個陣列,指定每個分類特徵的分類 (群組) 數。將此設為 auto 來從資料推導基數。auto 模式也可以在資料集中沒有使用分類特徵時運作。這是該參數的建議設定。

將基數設為 ignore 來強制 DeepAR 不使用分類特徵,即使資料中存在該特徵也一樣。

若要執行額外的資料驗證,您可以將此參數明確設為實際的值。例如,若提供了兩個分類特徵,其中第一個具有 2 個,另一個則具有 3 個可能值,請將此設為 [2, 3]。

如需如何使用分類特徵的詳細資訊,請參閱 DeepAR 主要文件頁面的資料一節。

選用

有效值:autoignore、正整數陣列、空白字串,或

預設值:auto

dropout_rate

在訓練中所使用的丟棄率。模型使用範圍限制 (zoneout) 正規化。針對每次反覆運算,不會更新隱藏神經元的隨機子集。典型值小於 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

此模型會產生機率預測,並可提供分佈的分位數並傳回樣本。根據您的資料,選擇適合用來估計不確定性的可能性 (雜訊模型)。您可以選擇下列的可能性:

  • gaussian:用於真值資料。

  • beta:用於介於 0 和 1 (含) 之間的真值目標。

  • negative-binomial:用於計數資料 (非負整數)。

  • student-T:適用於真值資料的替代選項,非常適合爆量資料。

  • deterministic-L1:損失函式,不會估計不確定性,只會學習點預測。

選用

有效值:gaussianbetanegative-binomialstudent-Tdeterministic-L1 其中一個。

預設值:student-T

mini_batch_size

訓練期間所使用迷你批次的大小。典型值介於 32 到 512 之間。

選用

有效值:正整數

預設值:128

num_cells

要在 RNN 的每個隱藏層中使用的單元數。典型值介於 30 到 100 之間。

選用

有效值:正整數

預設值:40

num_dynamic_feat

資料中所提供的 dynamic_feat 數量。將此設為 auto 來從資料推導動態特徵數。auto 模式也可以在資料集中沒有使用動態特徵時運作。這是該參數的建議設定。

若要強制 DeepAR 不使用動態特徵,並且即使資料中存在該特徵也不使用,請將 num_dynamic_feat 設為 ignore

若要執行額外的資料驗證,您可以將此參數明確設為實際的整數值。例如,若提供了兩個動態特徵,請將此設為 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]