SAS Time Series

SAS 時間序列 (10)

教學目標

初步了解 SAS 時間序列的基本概念。(此篇主要為準備考試的心得筆記)

重點概念

首先量化方法主要是以過去歷史資料透過數學統計方法,找出資料之間的因果關係,更進一步進行預測,並且針對需求變化關係進行量化擬合。需求變化主要存在趨勢性變化、季節性變化和周期性變化,以及外部因素導致因果關係的變化,此時我們可透過數學公式來表達預測,也就是預測 = 趨勢 + 季節性 + 週期性 + 不規則因果變化 + 非解釋性誤差,目的則是找到適合的數學模型,做得公式所預測的準確度最高,且非解釋性誤佳最小,至於量化預測方法可分為時間序列預測方法和因果關係預測方法。

接著所謂時間序列預測方法根據時間序列反應的過程和規律進行預測,而加權平均是一種簡單的用於 ESM 模型的時間序列預測方法,在加權平均中權重應用於此類中的過去值預測序列中下一個時間點的價值的方式,這些權重的值主要是基於確定這些過去觀察在確定中的重要性而選擇未來,其主要有兩種常用的加權平均值樣式,分別為簡單移動平均 (Simple Moving Average) 和隨機遊走 (Random Walk)。其中簡單移動平均預測主要是指所有權重是相同的平均,對前面 N 個觀察中的每一個進行相等的權重,在計算下一個時間序列值的預測時,在此應用 (1 / N) 的權重,對於所有剩餘的觀測值為 0,而隨機遊走預測是加權平均數所有權重平均為 0,除了最近的是 1,因此在隨機遊走中下一個時間點僅與之前的位置相關。雖然簡單移動平均相較於隨機遊走簡單,但有些缺點主要為隨著要求 N 項產生加權平均值,這不能適用於第一項時間序列 ( N - 1 ),除非應用超出資料之外,另一個缺點是簡單移動平均線與極端值相同的問題皆是平均值,正如平均值不是對異常值具有強建性,極端值會影響簡單的移動平均值,以及在使用簡單移動平均線產生預測時,需要保留最近的 N 個觀察產生預測值。至於針對簡單移動平均的缺點,我們能夠使用加權移動平均 (Weighted Moving Average),其中平均值是加權的平均,並且非全部權重是一樣的,以及當我們使用加權移動平均線時,不要求先前 N 個權重觀察是平等相關,因此權重可以在先前的觀察中變化在建立預測值。

再來所謂因果關係預測方法根據事件發展的因果關係來預測事物發展的趨勢,主要會使用 ARIMAX 模型和 UCM 模型進行預測,因果關係預測方法的基本前提主要是未來預測值要與其它變數的變化有密切相關,像是需求與價值、廣告、促銷活動之間有密切相關的關係,此時我們可以先透過一元回歸建立預測和單一變數之間的相關性,或者透過多元回歸建立預測和多個變數之間的相關性。此外因果關係預測方法能夠分析出因素對於預測的影響,因此適合針對企業成長期的產品進行預測,因為成長期的產品市場定位趨於穩定,並且有豐富的歷史資料有明顯勢性、季節性和週期性等特徵,此時因果關係預測方法因為對於企業內部因素和市場外部因素的反應較為快速,像是 ARIMAX 模型主要就能夠針對需求根本有明顯勢性、季節性和週期性等特徵之外,同時又會受價格、促銷等外部因素影響進行預測,並且從透過一元回歸或多元歸找出影響預測的關鍵因素。

最後有關時間序列預測方法和因果關係預測方法的比較,請參考下表。

時間序列預測方法 因果關係預測方法
優點 適合短期穩定歷史資料的時間序列,可以排除較小的隨機波動,易於理解和使用。 適合長期或中期不穩定歷史資料的時間序列,能夠支援情境分析,改變影響因子以利探討對於預測結果的影響。
缺點 對於因素和事件的影響反應不佳,歷史資料波動大時,則預測預差較大,分析人員需要大量時間和經驗擬合模型和估計參數。 預測精準度依賴於因果變數之間關係的持續性,對於自變數的準確評估有很高的要求,分析人員需要大量時間和統計學知識進行建模和維護模型。

請注意量化預測方法的精準度也與預測單位的週期相關,通常預測單位越大準確度越高,像是年預測會比月預測準確度高,而月預測會比週預測準確度高,週預測會比日預測準確度高,至於要用什麼預測單位週期,則取決定業務的需求,而企業通常在進行預測規劃時會按月或週進行預測。

相關資源

SAS 時間序列 (9)

教學目標

初步了解 SAS 時間序列的基本概念。(此篇主要為準備考試的心得筆記)

重點概念

首先在進行建立時間序列預測模型分析之前,我們需要先建立解釋變數的時間序列,其中解釋變數分為兩種,分別為代表實際意義的變數,像是折扣資訊和價格,以及代表某種事件或特徵的變數。所謂事件是改變底層事物的任何事件產生的時間序列資料的過程,其中事件分析又稱干預分析或中斷的時間序列分析,因此解釋事件的變數又稱為干預變數,其主要包括兩項活動,分別為:

  1. 探索事件造成的影響 (沒有統計學意義)
  2. 推斷事件發生的影響 (有統計學意義)

接著建模的轉換函數特例預測變數是確定性分類變數,其源自於公共政策的概念干預對社會經濟產生影響變數,像是實施嚴厲的酒後駕車法律減少汽車死亡人數,而在零售業中也經常使用事件,像是促銷活動、廣告活動、媒體活動、… 等。而干預變數通常會以 0 和 1 數值表示時間序列,其代表事件是否發生, 若事件發生為 1 時,則干預變數就會對預測值產生影響,反之若事件發生為 0 時,則干預變數就不會對預測值產生影響。

再來干預變數主要有三種類型,分別為:

  1. POINT:在發生事件的時間有影響,並且在事件結束時影響結束。
  2. STEP:在發生事件的時間有影響,並且在事件結束之後持續影響。
  3. RAMP:在發生事件的時間有影響,並且影響呈穩定上升的趨勢,並且在事件結束之後不會上升而影響保留。

而其中在我們日常生活中較制見的事件類型主要為 POINT 和 STEP 兩種類型,POINT 像是促銷活動,STEP 像是限購活動。

最後我們很難預測某些事情準確,基本上在執行初步資料建模之前,我們不能回答準確性,因為我們可能無法控制資料準確性和有效性,我們需要假設潛在的未來行為與過去的行為保持一致,但是我們無法控制未來的事件可能會影響未來的行為,像是災難、經濟衰退、戰爭、主要參與者的誠信、關鍵球員的生存、… 等等。此外在企業中不同部門會有不同的職責,像是銷售部門重視銷量、營銷部門重視市場、財務部門重視金流,所以我們為了讓預測更準確將會需要結合不同部門的需求進行預測。

相關資源

SAS 時間序列 (8)

教學目標

初步了解 SAS 時間序列的基本概念。(此篇主要為準備考試的心得筆記)

重點概念

首先時間序列分析與統計中的其他分支類似,主要有基於推導的分析和基於預測的分析兩大類,當我們想要預測未來但未觀察到的週期時,最好先將資料集拆分為擬合樣本和保持樣本,與其它形式的預測建模不同,其中保持樣本是隨機子樣本,從原始樣本中,時間序列預測中的保持樣本是該系列的最終 k 值。最後一次測量之前的 k 個時間段預測序列中的下一個 k 值,但是現在我們知道那些最後的 k 值是什麼了,我們可以看預測的準確程度,擬合樣本用於推導預測模型,保留樣本用於評估預測模型的好壞程度,預測模型預測最近的 n 個觀測值。

接著我們可以透過誠實的評估模擬回顧性研究,其主要有五個步驟,分別為:

  1. 將時間序列資料分為擬合樣本和保留樣本兩個部分。
  2. 導出一組 ESM、UCM 或 ARIMAX 候選時間序列模型。
  3. 透過預測保持樣本來建模計算每個模型的精確度。
  4. 選擇具有最佳準確度統計量的模型。
  5. 使用最佳模型,產生 N 個預測。

其中完整資料 (Full) = 擬合資料 (Fit) + 保留資料 (Holdout) 用於適應部署模型,擬合樣本用於估計模型精準度參數評估和用於在保留樣本中的預測值。至於保留樣本則需要選擇足夠的時間點來覆蓋完整的季節性時期時間點,像是對於每月資料,請按保留至少 12 個月觀察結果,保留樣本始終位於時間序列的末尾,保留樣本用於評估模型準確性模擬回顧研究,根據經驗法則保留樣本應該至少包含 25% 時間序列。

再來我們主要透過平均絕對百分比誤差 (Mean Absolute Percent Error,MAPE) 和平均絕對誤差 (Mean Absolute Error,MAE) 評估預測準確性。MAPE 和 MAE 皆是模型擬合常見的評估測量,當我們選擇候選模型時,MAPE 或 MAE 值最低的模型是適合的模型,請注意兩個統計資料皆採用觀察值的絕對值減去預測值,在數學上這是必要的,但它可能會省略關於合適的重要資訊模型,像是一個模型可能具有非常低的 MAPE 或 MAE,但是預測值總是低於保留資料集中的觀測值此時就會不合適,建議還是需要查看結合在保留樣本中觀察和預測值的相關圖來評估模型。

最後我們要怎麼做準確的預測?假設我們需要預測未來農作物產量,但是我們用於預測農作物產量的產量、水量和降雨量資料僅為兩週時,我們則可以透過情境分析為整體預測過程增加價值,情境分析也稱假設分析。所謂情境分析主要是選擇隨機輸入變數的未來值產生不同的預測值,執行相同的模型,並且替換所選的未來每個值,再這將復雜的過程簡化為一系列簡單的布林條件語句,其能夠實現分析師以不同的輸入值為條件變數產生許多不同的預測。因此良好的預測應該與實際序列值高度相關,預測誤差很小,捕捉原始時間的突出特徵時間序列,以及應基於業務,工程或科學正在解決的問題對預測品質進行評估。

相關資源

SAS 時間序列 (7)

教學目標

初步了解 SAS 時間序列的基本概念。(此篇主要為準備考試的心得筆記)

重點概念

首先結構化時間序列模型 (Unobserved Components Models,UCM) 與所討論的其他模型有很大不同,其可以容納和推斷資料更多的特徵,像是隨時間變化季節性模式,並且相對容易指定和細化。基本上回應時間序列為多個元件效應的累加,像是趨勢,季節,週期和回歸效應。在模型中的每個元件都會捕獲一些元件序列動態的重要特徵,模型中的元件有自己的元件機率模型,元件機率模型包括有意義的確定性模式作為特殊情況。

接著結構化時間序列模型的目標任務主要是預測未來的 Y 值和插入過去遺漏的 Y 值,並且確定 Y 值和 X1 、X2、…等值兩者之間關係,以及將 Y 值分解為一些可解釋的子元件,如趨勢,週期,季節和回歸效應,將這些子元件預測未來值。此外我們需要回答以下幾個問題,分別為:

  1. Y 值的行為是否在某種程度上發生了過去時間的變化?
  2. Y 值是否隨時間而有季節性模式變化?
  3. Y 值是否在整個時間序列中保持穩定?
  4. Y 值是否以穩定的速度增加還是減少?

再來時間序列中的趨勢元件是長期且緩慢變化的模式,則在該時間序列中其很少會有一定的形狀,如線性或二次或其他一些簡單的參數曲線,在生活中很少保留該時間序列屬性,若要對觀察到的時間序列進行建模作為元件的整合,那麼這些模式必須靈活和適應性。此外趨勢元件主要分為隨機遊走趨勢 (Random Walk Trend,RW) 和局部線性趨勢 (Local Linear Trend,LL),所謂隨機遊走趨勢 (Random Walk Trend,RW) 代表緩慢變化的水平,並且沒有任何特定方向,而所謂局部線性趨勢 (Local Linear Trend,LL) 代表局部線性趨勢,具有緩慢變化的截距和斜率的模式,又可細分為確定性線性趨勢、局部線性趨勢和遞迴趨勢,差別在於確定性線性趨勢在所有時間段顯示相同斜率,局部線性趨勢在所有時間段沒有顯示相同斜率。

至於時間序列中的季節性元件是常見的時間序列資料來源的變化,季節性影響被視為更正,由於季節性因素導致該時間序列大趨勢變化,確定性季節性被建模為整數的週期性模式,週期性模式的平均值為零,干擾變異控制在季節的變化,若為零則模型減少季節性的確定性。

最後一般模型建構方法主要有四個步驟,分別為:

  1. 在資料中識別變異的系統組成之元件。
  2. 指定適合一般的結構化時序列模型之元件。
  3. 識別非隨機的元件,這些元件的變異可以固定為 0。
  4. 識別不重要的元件,解釋目標的變化,這些元件是從模型中刪除的候選人。

總結時間序列預測系統透過推斷時間序列過去值中的趨勢和模式,或者透過推斷其他對於系列影響的變數來預測時間序列變數的未來值,我們可以在全自動模式下使用時間序列預測系統,也可以交互使用系統的診斷功能和時間序列建模工具來開發定制的預測模型,以便最好地預測我們的時間序列。此外系統提供圖形和統計功能,以利幫助我們為每個時間序列選擇最佳預測方法,而我們除了能夠使用各種預測方法,包括 ESM、ARIMA (Box-Jenkins) 和 UCM 模型之外,還能夠透過組合多個模型的預測來產生預測。

相關資源

SAS 時間序列 (6)

教學目標

初步了解 SAS 時間序列的基本概念。(此篇主要為準備考試的心得筆記)

重點概念

首先指數平滑模型 (Exponential Smoothing Models,ESM) 主要用於建立預測模型用於庫存系統, 指數平滑模型主要使用加權平滑方法來製定預測平均值,在預測構建中更多的近期觀察將會被賦予了更多的觀察權重,其中指數不僅來自於權重這一事實,並且隨著時間的推移逐漸減少,指數平滑模型只有額外的獎勵預測模型中需要一些參數,基本上很容易實現,所以過去價值的加權平均值可以產生良好的效果對未來的預測,權重應強調最新資料以預測應該只需要幾個參數就能夠簡單容易使用。

接著簡單指數平滑主要是應用於過去值的權重來進行預測,隨著參數的增加將會突顯重點,並且增加價值,因此在簡單指數平滑中,當係數接近 0 時權重減少了,強調時間序列的最新值,反之係數接近 1 時權重增加了。然而除了指數平滑模型不僅有簡單指數平滑還有其它類型,分別為:

  1. Simple
  2. Double
  3. Linear
  4. Damped-Trend
  5. Seasonal
  6. Additive Winters
  7. Multiplicative Winters

再來我們要如何選擇指數平滑模型的類型呢?我們主要會檢查時間序列資料是否有季節、趨勢和穩定這三個特性來決定該採用哪一種指數平滑權型的類型。當時間序列資料沒有趨勢和季節性時,則使用 Simple 類型的指數平滑模型。當時間序列資料有趨勢,但是沒有季節性,則使用 Double、Linear 或 Damped-Trend 類型的指數平滑模型。當時間序列資料沒有趨勢,僅有季節時,則 Seasonal 類型的指數平滑模型。當時間序列資料具有趨勢和季節性時,則使用 Additive Winters 或 Multiplicative Winters 類型的指數平滑模型。若沒有趨勢,只有季節性, Seasonal 類型的指數平滑模型是首選,但是由於零趨勢的建模,因此也允許使用 Winters 類型的指數平滑模型,至於要使用 Additive 或 Multiplicative 哪一種類型,我們則會檢查時間序列資料的穩定特性,若是穩定則使用 Additive ,反之若是不穩定則使用 Multiplicative。

最後我們需要計算統計資料檢查指數平滑模型的準確性,若有殘差白色噪聲 (White Noise) ,則建議測試模型,並且保留資料集,反之若沒有殘差白色噪聲,則建議考慮使用指數平滑模型以外的其他方法。

相關資源