Leo Yeh's Blog

SAS 預測分析 (7)

教學目標

初步了解 SAS Visual Forecasting 預測分析學習資源的基本概念。

重點概念

首先許多企業組織需要處理大量時間序列資料,以利進行分析、分解、預測、監控和機器學習,此時 SAS Visual Forecasting 將能夠協助企業進行更有效的營運規劃,並且快速且自動地產生值得信賴的預測結果。至於為何要用 SAS Visual Forecasting 呢?主要原因在於其能夠自動分析大量的時間序列資料,預測人員無需診斷歷史資料需要哪個預測模型,系統將會自動判定最適合歷史資料的預測模型,並且自動產生大規模的時間序列分析和階層預測, 無需額外人為開發,以利降低所需的資源及管理作業,而其產生的預測品質通常相當於或優於採用更多人工作業的預測流程,同時減少人為介入也降低預測過程中出現個人偏見的機會。此外其更能夠提供針對系統的變數自動選擇業務推動因素、節日或事件,協助進行預測建模,同時協助我們根據以屬性而非階層變數定義的群組,以及手動覆寫預測,這樣預測就能更準確反映情況的複雜性。

接著 SAS Visual Forecasting 除了自動產生預測模型、自動選擇變數及事件、自動最佳化參數、自動
選擇模型及自動產生預測等功能之外,其中更提供進階分析功能用於時間序列分析 (時域和頻域)、時間序列分解、時間序列建模、適用於物聯網訊號分析及異常偵測。此外 SAS Visual Forecasting 更內建各式各樣的預測模型,分別為:

  1. 外部預測
  2. 多階段模型
  3. 自動預測
  4. 季節模型
  5. 非季節性模型
  6. 面板序列類神經網路
  7. 時間序列迴歸
  8. 堆疊模型 (NN+TS)
  9. 淘汰的序列
  10. 單純 (Native) 模型
  11. 階層式預測 (插入式)
  12. 階層預測
  13. 暫時性彙總模型

當然使用者也建立客製模型,用於準備資料進行預測分析,像是我們能夠建立用於 SAS Visual Forecasting 的客製 Gradient Boosting 模型的預測模型節點,至於要如何建立,請參考官方文件官方程式碼,除此之外我們更能夠透過 REST API 將能夠讓其它應用程式使用 SAS Viya 分析平台中的預測模型,並且 REST API 可由 SAS、Python、R、Java、JavaScript 和 Lua 等程式語言進行呼叫使用。

再來 SAS 官方也有出版有關時間序預測分析的書籍,名稱為「SAS for Forecasting Time Series」,這本書主要是從基礎知識開始,學習隨時間變化的資料進行建模的方法,從眾所周知的 ARIMA 模型到 UCM 模型,並且透過範例討論和說明從簡單到復雜的統計方法,以及討論許多較新的方法,但要注意的是此本書籍主要使用的軟體非 SAS Viya 分析平台的 SAS Visual Forecasting,而是以 SAS 9 平台的預測相關軟體工具,像是 Base SAS、SAS/ETS、SAS/STAT、SAS/GRAPH、SAS/IML、SAS Forecast Studio、… 等,然而 SAS Visual Forecasting 是能夠直接存取 SAS /ETS 和 SAS Forecast Studio 中的 SAS 程式碼,以利我們能夠解決幾乎所有時間序列預測的分析挑戰。

若是有 SAS Visual Forecasting 現階段沒有提供的預測模型,則能夠透過撰寫 SAS 程式碼的方式來實作,並且針對預測分析的原則和實務,我們則能夠參考「Forecasting: Principles and Practice」書籍,此本書籍主要是使用 R 語言進行預測,而 SAS 官方則有提供 Github 專案針對此本書籍中所有預測模型的類型,重新撰寫 SAS 程式碼連線至 SAS Viya 分析平台產生預測模型,像是透過 PROC TSMODEL 程序開發 ESM 模型、ARIMA 模型、階層群組模型、…。此外我們也透過註冊試用「SAS Visual Forecasting on SAS Viya」產品 14 天,同時建議參考「學習 SAS 平台」書籍中「預測分析」章節的開始使用 Step by Step 圖文說明進行實機操作應用。

相關資源

⬅️ Go back