

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

# DeepAR 超參數
<a name="deepar_hyperparameters"></a>

下表列出使用 Amazon SageMaker AI DeepAR 預測演算法進行訓練時可設定的超參數。


| 參數名稱 | Description | 
| --- | --- | 
| context\_length | 模型在進行預測之前所看到時間點的數量。此參數的值應和 `prediction_length` 大致相同。模型也會從目標接收到延遲的輸入，因此 `context_length` 可能會比典型的季節週期小上許多。例如，每日時間序列可以有每年季節性。模型會自動包含一年的延遲年，因此內容的長度可能會比一年短。模型所選擇的延遲值，取決於時間序列的頻率。例如，每日頻率的延遲值為前一週、2 週、3 週、4 週和一年。<br />**必要**<br />有效值：正整數 | 
| epochs | 針對訓練資料的最高傳遞次數。最佳值取決於您的資料大小和學習速率。另請參閱`early_stopping_patience`。典型值介於 10 到 1000 之間。<br />**必要**<br />有效值：正整數 | 
| prediction\_length | 要訓練模型預測的時間步長，也稱為預測期間。經過訓練的模型一律會使用此長度來產生預測。該模型無法產生較長期間的預測。在訓練模型時，`prediction_length` 是固定的，而且之後無法變更。<br />**必要**<br />有效值：正整數 | 
| time\_freq | 資料集中時間序列的精細程度。請使用 `time_freq` 來選擇適合的日期特徵和延遲。模型支援下列基本頻率。它也支援多個基本頻率。例如，`5min` 會指定 5 分鐘的頻率。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/deepar_hyperparameters.html)<br />**必要**<br />有效值：其後跟隨 *M*、*W*、*D*、*H* 或 *min* 的整數。例如，`5min`。 | 
| cardinality | 使用分類特徵 (`cat`) 時，`cardinality` 是一個陣列，指定每個分類特徵的分類 (群組) 數。將此設為 `auto` 來從資料推導基數。`auto` 模式也可以在資料集中沒有使用分類特徵時運作。這是該參數的建議設定。<br />將基數設為 `ignore` 來強制 DeepAR 不使用分類特徵，即使資料中存在該特徵也一樣。<br />若要執行額外的資料驗證，您可以將此參數明確設為實際的值。例如，若提供了兩個分類特徵，其中第一個具有 2 個，另一個則具有 3 個可能值，請將此設為 [2, 3]。<br />如需如何使用分類特徵的詳細資訊，請參閱 DeepAR 主要文件頁面的資料一節。<br />**選用**<br />有效值：`auto`、`ignore`、正整數陣列、空白字串，或 <br />預設值：`auto` | 
| dropout\_rate | 在訓練中所使用的丟棄率。模型使用範圍限制 (zoneout) 正規化。針對每次反覆運算，不會更新隱藏神經元的隨機子集。典型值小於 0.2。<br />**選用**<br />有效值：浮點數<br />預設值：0.1 | 
| early\_stopping\_patience | 如果設定此參數，在 `epochs` 的指定時間數值內沒有進度時，訓練就會停止。損失最低的模型會做為最終的模型傳回。<br />**選用**<br />有效值：整數 | 
| embedding\_dimension | 針對每個分類特徵學會的內嵌向量大小 (會對所有分類特徵使用相同的值)。<br />如果提供了類別分組特徵，DeepAR 模型可以學習分組層級的時間序列模式。為完成此項動作，模型會針對每個分組，學習大小為 `embedding_dimension` 的內嵌向量，擷取分組中所有時間序列的共通屬性。較大的 `embedding_dimension` 可讓模型擷取更為複雜的模式。不過，由於增加 `embedding_dimension` 會增加模型中參數的數量，因此也會需要更多的訓練資料，來準確地學習這些參數。此參數的典型值介於 10 到 100 之間。<br />**選用**<br />有效值：正整數<br />預設值：10 | 
| learning\_rate | 在訓練中所使用的學習率。典型值介於 1e-4 到 1e-1 之間。<br />**選用**<br />有效值：浮點數<br />預設值：1e-3 | 
| likelihood | 此模型會產生機率預測，並可提供分佈的分位數並傳回樣本。根據您的資料，選擇適合用來估計不確定性的可能性 (雜訊模型)。您可以選擇下列的可能性：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/deepar_hyperparameters.html)<br />**選用**<br />有效值：*gaussian*、*beta*、*negative-binomial*、*student-T* 或 *deterministic-L1* 其中一個。<br />預設值：`student-T` | 
| mini\_batch\_size | 訓練期間所使用迷你批次的大小。典型值介於 32 到 512 之間。<br />**選用**<br />有效值：正整數<br />預設值：128 | 
| num\_cells | 要在 RNN 的每個隱藏層中使用的單元數。典型值介於 30 到 100 之間。<br />**選用**<br />有效值：正整數<br />預設值：40 | 
| num\_dynamic\_feat | 資料中所提供的 `dynamic_feat` 數量。將此設為 `auto` 來從資料推導動態特徵數。`auto` 模式也可以在資料集中沒有使用動態特徵時運作。這是該參數的建議設定。<br />若要強制 DeepAR 不使用動態特徵，並且即使資料中存在該特徵也不使用，請將 `num_dynamic_feat` 設為 `ignore`。<br />若要執行額外的資料驗證，您可以將此參數明確設為實際的整數值。例如，若提供了兩個動態特徵，請將此設為 2。<br />**選用**<br />有效值：`auto`、`ignore`、正整數或空白字串<br />預設值：`auto` | 
| num\_eval\_samples | 計算測試準確度指標時，針對每個時間序列所使用的樣本數。此參數不會對訓練或最終模型產生任何影響。特別是，可以使用不同數量的樣本查詢模型。此參數只會影響訓練後測試通道報告的準確度分數。較小的值可以加快評估速度，但評估分數通常會變差且更不確定。使用較高的分位數 (例如 0.95) 來進行評估時，考慮增加評估樣本的數量可能會很重要。<br />**選用**<br />有效值：整數<br />預設值：100 | 
| num\_layers | RNN 中隱藏層的數量。典型值介於 1 到 4 之間。<br />**選用**<br />有效值：正整數<br />預設值：2 | 
| test\_quantiles | 要計算測試通道分位數損失的分位數。<br />**選用**<br />有效值：浮點數的陣列<br />預設值：[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9] | 