在 Amazon SageMaker AI Studio Lab 中將 DeepAR 用於時間序列,以建置冷啟動預測模型 - AWS 方案指引

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

在 Amazon SageMaker AI Studio Lab 中將 DeepAR 用於時間序列,以建置冷啟動預測模型

由 Ivan Cui (AWS) 和 Eyal Shacham (AWS) 建立

Summary

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

DeepAR 是一種監督式學習演算法,可使用遞歸神經網路 (RNN) 預測純量 (一維) 時間序列。DeepAR 會針對相關產品的所有時間序列,採取聯合訓練單一模型的方法。

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

先決條件和限制

先決條件

  • 作用中 AWS 帳戶。

  • Amazon SageMaker AI 網域。

  • Amazon SageMaker AI Studio Lab 或 Jupiter 實驗室應用程式。

  • 具有讀取和寫入許可的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。

  • Python 程式設計的知識。

  • 使用 Jupyter 筆記本的知識。

限制

  • 叫用預測模型而沒有任何歷史資料點,將會傳回錯誤。使用最少的歷史資料點調用模型將傳回不準確的預測,並具有高可信度。此模式建議解決冷啟動預測這些已知限制的方法。

  • 有些 AWS 服務 不適用於所有 AWS 區域。如需區域可用性,請參閱依區域的 AWS 服務。如需特定端點,請參閱服務端點和配額,然後選擇服務的連結。

產品版本

  • Python 3.10 版或更新版本。

  • 模式的筆記本已在 Amazon SageMaker AI Studio 中使用 Python 3 (資料科學) 核心在 ml.t3.medium 執行個體上進行測試。

架構

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

使用 SageMaker 和 Amazon S3 建置冷啟動預測模型的工作流程。

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

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

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

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

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

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

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

工具

AWS 服務

其他工具

  • Python 是一種一般用途的電腦程式設計語言。

程式碼儲存庫

此模式的程式碼可在 GitHub DeepAR-ColdProduct-Pattern 儲存庫中使用。

最佳實務

  • 在虛擬環境中訓練您的模型,並一律使用版本控制進行最高的重現性工作。

  • 包含盡可能多的高品質分類功能,以獲得最高的預測模型。

  • 請確定中繼資料包含類似的分類項目,以便模型充分推斷冷啟動產品預測。

  • 執行超參數調校任務以取得最高的預測模型。

  • 在此模式中,您建置的模型內容長度為 24 小時,這表示它會預測接下來的 24 小時。如果您嘗試在歷史資料少於 24 小時時預測接下來的 24 小時,模型的預測準確性會根據歷史資料點數量線性下降。若要緩解此問題,請為每個歷史資料點組建立新的模型,直到此數字達到所需的預測 (內容) 長度。例如,從內容長度模型 2 小時開始,然後逐步將模型增加到 4 小時、8 小時、16 小時和 24 小時。

史詩

任務描述所需的技能

啟動您的筆記本環境。

  1. 登入 AWS Management Console,並開啟 SageMaker AI Studio 首頁。然後選擇開啟 Studio

  2. 在左側導覽窗格中,選擇應用程式中Studio Classic 圖示。然後,選擇應用程式清單上的開啟按鈕。

如需詳細資訊,請參閱 SageMaker AI 文件中的啟動 Amazon SageMaker AI Studio。 SageMaker

資料科學家
任務描述所需的技能

設定虛擬環境以進行模型訓練。

若要設定虛擬環境以進行模型訓練,請執行下列動作:

  1. deepar_synthetic.ipynb筆記本從此模式的 GitHub 儲存庫下載到本機電腦。

  2. 在 Amazon SageMaker AI Studio Classic 中,從 Studio Classic 選單列中選擇上傳檔案圖示,然後選取下載的筆記本。

  3. 在左側導覽窗格中的檔案瀏覽器中選擇筆記本。依照提示設定筆記本環境。選取資料科學 3.0 映像和 Python 3 核心。

如需詳細資訊,請參閱 SageMaker AI 文件中的將檔案上傳至 SageMaker AI Studio Classic。 SageMaker

資料科學家

建立和驗證預測模型。

  • 遵循筆記本中的指示來建立訓練和測試資料、訓練模型,然後調用模型。

  • 觀察在提供足夠的歷史資料點時,模型的預測有多準確。

資料科學家

相關資源