

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

# 在 Amazon SageMaker AI Studio Lab 中將 DeepAR 用於時間序列，以建置冷啟動預測模型
<a name="build-a-cold-start-forecasting-model-by-using-deepar"></a>

*Ivan Cui 和 Eyal Shacham，Amazon Web Services*

## 摘要
<a name="build-a-cold-start-forecasting-model-by-using-deepar-summary"></a>

無論您是更有效率地為 Web 流量配置資源、預測患者對人員需求的需求，還是預測公司產品的銷售，預測都是不可或缺的工具。冷啟動預測會針對歷史資料很少的時間序列建置預測，例如剛進入零售市場的新產品。此模式使用 Amazon SageMaker AI DeepAR 預測演算法來訓練冷啟動預測模型，並示範如何對冷啟動項目執行預測。

 

[DeepAR](https://docs.aws.amazon.com/sagemaker/latest/dg/deepar.html) 是一種監督式學習演算法，可使用遞歸神經網路 (RNN) 預測純量 （一維） 時間序列。DeepAR 會針對相關產品的所有時間序列，採取聯合訓練單一模型的方法。

傳統的時間序列預測方法，例如自動迴歸整合移動平均值 (ARIMA) 或指數平滑 (ETS)，很大程度上依賴每個個別產品的歷史時間序列。因此，這些方法對冷啟動預測無效。當您的資料集包含數百個相關時間序列時，DeepAR 的執行效能會優於標準 ARIMA 和 ETS 方法。您也可以使用已訓練的模型，針對與其已訓練之時間序列類似的新時間序列產生預測。

## 先決條件和限制
<a name="build-a-cold-start-forecasting-model-by-using-deepar-prereqs"></a>

**先決條件**
+ 作用中 AWS 帳戶。
+ Amazon SageMaker AI [網域。](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html)
+ [Amazon SageMaker AI Studio Lab](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lab.html) 或 Jupiter 實驗室應用程式。
+ 具有讀取和寫入許可的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。
+ Python 程式設計的知識。
+ 使用 Jupyter 筆記本的知識。

**限制**
+ 叫用預測模型而沒有任何歷史資料點，將會傳回錯誤。使用最少的歷史資料點調用模型將傳回不準確的預測，並具有高可信度。此模式建議解決冷啟動預測這些已知限制的方法。
+ 有些 AWS 服務 無法全部使用 AWS 區域。如需區域可用性，請參閱[依區域的 AWS 服務](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)。如需特定端點，請參閱[服務端點和配額](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html)，然後選擇服務的連結。

**產品版本**
+ Python 3.10 版或更新版本。
+ 模式的筆記本已在 Amazon SageMaker AI Studio 中使用 Python 3 （資料科學） 核心在 ml.t3.medium 執行個體上進行測試。

## Architecture
<a name="build-a-cold-start-forecasting-model-by-using-deepar-architecture"></a>

下圖顯示此模式的工作流程和架構元件。

![\[使用 SageMaker 和 Amazon S3 建置冷啟動預測模型的工作流程。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/98d021d3-96d2-40a9-b0ce-717934652173/images/d97d66a0-8eef-4d30-ac5f-4c6c79cf6c9f.png)


工作流程會執行下列任務：

1. 訓練和測試資料的輸入檔案會合成，然後上傳至 Amazon S3 儲存貯體。此資料包含具有分類和動態功能的多個時間序列，以及目標值 （要預測）。Jupyter 筆記本可視覺化資料，以進一步了解訓練資料的需求和預期的預測值。

1. 建立超參數調校器任務是為了訓練模型，並根據預先定義的指標尋找最佳模型。

1. 輸入檔案會從 Amazon S3 儲存貯體下載到超參數調校任務的每個執行個體。

1. 在調校器任務根據調校器的預先定義閾值選取最佳模型後，模型會部署為 SageMaker AI 端點。

1. 然後，部署的模型已準備好被叫用，其中它的預測會根據測試資料進行驗證。

筆記本示範當有足夠數量的歷史資料點可用時，模型預測目標值的能力。不過，當我們調用具有較少歷史資料點的模型時 （代表冷產品），即使模型的可信度範圍內，模型的預測也不符合原始測試資料。在 模式中，新模型是針對冷產品所建置，其中其初始內容長度 （預測點） 定義為可用的歷史點數量，而新模型會在取得新資料點時進行反覆訓練。筆記本顯示，只要歷史資料點的數量接近其內容長度，模型就會有準確的預測。

## 工具
<a name="build-a-cold-start-forecasting-model-by-using-deepar-tools"></a>

**AWS 服務**
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 透過控制已驗證並獲授權使用的人員，協助您安全地管理對 AWS 資源的存取。
+ [Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/?id=docs_gateway) 是一種受管機器學習 (ML) 服務，可協助您建置和訓練 ML 模型，然後將模型部署到生產就緒的託管環境中。
+ [Amazon SageMaker AI Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio.html) 是適用於 ML 的 Web 型整合開發環境 (IDE)，可讓您建置、訓練、偵錯、部署和監控 ML 模型。
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 是一種雲端型物件儲存服務，可協助您儲存、保護和擷取任何數量的資料。

**其他工具**
+ [Python](https://www.python.org/) 是一種一般用途的電腦程式設計語言。

**程式碼儲存庫**

此模式的程式碼可在 GitHub [DeepAR-ColdProduct-Pattern](https://github.com/aws-samples/DeepAR-ColdProduct-Pattern) 儲存庫中使用。

## 最佳實務
<a name="build-a-cold-start-forecasting-model-by-using-deepar-best-practices"></a>
+ 在虛擬環境中訓練您的模型，並一律使用版本控制進行最高的重現性工作。
+ 包含盡可能多的高品質分類功能，以獲得最高的預測模型。
+ 請確定中繼資料包含類似的分類項目，以便模型充分推斷冷啟動產品預測。
+ 執行超參數調校任務以取得最高的預測模型。
+ 在此模式中，您建置的模型內容長度為 24 小時，這表示它會預測接下來的 24 小時。如果您嘗試在歷史資料少於 24 小時時預測接下來的 24 小時，模型的預測準確性會根據歷史資料點數量線性下降。若要緩解此問題，請為每個歷史資料點組建立新的模型，直到此數字達到所需的預測 （內容） 長度。例如，從內容長度模型 2 小時開始，然後逐步將模型增加到 4 小時、8 小時、16 小時和 24 小時。

## 史詩
<a name="build-a-cold-start-forecasting-model-by-using-deepar-epics"></a>

### 啟動 SageMaker AI Studio Classic 應用程式
<a name="start-your-sm-studio-classic-application"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 啟動您的筆記本環境。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/build-a-cold-start-forecasting-model-by-using-deepar.html)如需詳細資訊，請參閱 [ SageMaker AI 文件中的啟動 Amazon SageMaker AI Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html)。 SageMaker  | 資料科學家 | 

### 建立和啟用筆記本
<a name="create-and-activate-the-notebook"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 設定虛擬環境以進行模型訓練。 | 若要設定虛擬環境以進行模型訓練，請執行下列動作：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/build-a-cold-start-forecasting-model-by-using-deepar.html)如需詳細資訊，請參閱 [ SageMaker AI 文件中的將檔案上傳至 SageMaker AI Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-tasks-files.html)。 SageMaker  | 資料科學家 | 
| 建立和驗證預測模型。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/build-a-cold-start-forecasting-model-by-using-deepar.html) | 資料科學家 | 

## 相關資源
<a name="build-a-cold-start-forecasting-model-by-using-deepar-resources"></a>
+ [DeepAR 超參數](https://docs.aws.amazon.com/sagemaker/latest/dg/deepar_hyperparameters.html)
+ [使用 AWS 機器學習服務預測新產品簡介的需求](https://docs.aws.amazon.com/prescriptive-guidance/latest/forecast-demand-new-product/introduction.html)
+ [啟動 Amazon SageMaker AI Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-launch.html)
+ [使用 SageMaker AI DeepAR 預測演算法](https://docs.aws.amazon.com/sagemaker/latest/dg/deepar.html)