1. 程式人生 > >分析時序資料的三步驟:使資料平穩、時序模型、評估

分析時序資料的三步驟:使資料平穩、時序模型、評估


作者: Chris St. Jeor & Sean Ankenbruck,Zencos

貪心科技編譯


時間序列預測是一個易於使用,成本較低的方案,它可以提供強大的解決問題能力。這篇文章將介紹建立一個質量模型的三個基本步驟。


這篇文章將圍繞如何構建一個時間序列模型,並將列舉三個基本步驟:使資料平穩,選擇正確的模型,以及評估模型的準確性。本篇文章所使用的歷史頁面檢視資料示例來源於一家大型汽車營銷公司。


步驟 1: 使資料平穩


時間序列包括按照時間間隔的遞增 (以分鐘、小時、天、周為單位等) 來分類的資料使用。由於時間序列資料的離散性,許多時間序列資料集都

有一個週期性的以及/或著內建在資料中的趨勢元素。時間序列建模的第一步是計算現有周期 (在平穩時間段內的週期性模式)以及/或著資料向上或向下移動的趨勢。這些嵌入模式的核算是我們所說的使資料平穩。如圖1和表2所示,可以看到趨勢和週期性資料的例子。

圖 1:趨勢向上資料的示例


圖 2: 週期性資料示例


什麼是平穩(Stationarity)?

 
正如前面提到的,時間序列建模的第一步是消除資料中存在的趨勢或週期的影響,以使其平穩。我們不斷丟擲平穩這個術語,但它到底是什麼意思?


平穩系列是指系列的平均值不再是一個有關於時間的函式。隨著趨勢資料的增加以及時間的推移,系列的平均值會隨時間而增加或減少 (比如隨著時間推移房價的穩步上升)。對於週期性資料,系列的平均值隨週期波動 (比如每24小時中,溫度的上升和降低)。

 

我們如何實現平穩?

 
有兩種方法可用於實現平穩:
差分資料或線性迴歸。差分資料指的是,你計算了兩個連續觀測中的差異;而線性迴歸則是,你可以在模型中為了週期性元件採用二進位制指示器變數。在我們決定使用哪種方法之前,讓我們來研究一下我們的資料。我們使用SAS視覺分析繪製了歷史的每日頁面檢視。


圖 3: 原始頁面檢視的時間序列圖


可以清楚地看到最初的模式每七天重複一遍,表明每週為一個週期。隨著時間的推移,頁面檢視數量的持續增加表明有一個略微上升的趨勢。運用對資料的大致瞭解,我們隨後應用了平穩的統計測試,即Augmented Dickey-Fuller (ADF)  測試。

ADF 測試是平穩的單元根測試。我們不會討論這裡的細節,簡單來說一個單位根表明,該系列是否為非平穩的,因此我們使用這個測試來確定適當的方法來處理趨勢或週期 (差分或迴歸)。基於上述資料的 ADF 測試,我們通過對一週中的虛變數的迴歸,消除了七天的週期,並通過對資料進行差分來消除該趨勢。所得到的平穩資料可以在下面的圖中看到。

圖 4: 移除週期和趨勢後的平穩資料


步驟 2: 構建時間序列模型

 
既然資料是平穩的,時間序列建模的第二步就是建立基準水平預測。我們還應該注意到,大多數基本級別的預測並不需要使資料平穩的第一步。第一步一般只需要應用於更高階的模型,如 ARIMA 建模等,我們將稍後討論。

 

建立基本水平預測

 
有幾種型別的時間序列模型。為了構建能夠準確預測未來頁面檢視(或任何您對感興趣領域的資料預測) 的模型,必須確定適合您的資料的模型型別。


最簡單的方法是假設 y 的未來值 (您想要預測的變數)等於 y 最近的當前的值。這被認為是最基本的,或者說是 "幼稚的模式",越靠近明天的觀察就越有可能是明天的結果。


第二種模型是平均模型。在該模型中,資料集中的所有觀測值都相等。y 的未來預測會被計算為觀測資料的平均值。如果資料是水平的,則生成的預測可能相當準確,但如果資料呈趨勢或週期性成分,那麼預測結果將會非常糟糕。使用平均模型的頁面檢視資料的預測值如下所示。

圖 5: 平均模型預測


如果資料具有周期性或趨勢元素,則實現指數平滑模型 (ESM)將會是基級別模型的更好選項。ESM在上面提到的簡單和平均模型之間做出了平衡,最近的觀察被給予較大的權重,並且相對應的,所有之前觀察的權重都被減少。ESM還允許將週期性和/或趨勢才對元件合併到模型中。下表提供了一個初始權重為0.7 ,指數遞減率為0.3的例子。

在時間序列預測中可以實現多種型別的 ESM。理想模型的取用將取決於您擁有的資料型別。下表提供了一個快速指南,來幫助您如何根據資料中的趨勢和週期的組合,來確定使用哪種型別的 ESM。

由於可以明顯看出七天為一個週期以及資料的上升趨勢,我們選擇了一個附加的Winters ESM 作為新的基準水平模型。我們得到了一個較為理想的預測,即輕微上升趨勢以及穩定的七天週期。但是,可以刪除的資料中還有被應用到更多的模式中。

圖 6: 附加的WintersESM 預測


ARIMA 建模

 
在確定了最適合資料趨勢和週期的模型之後,您還必須有足夠的資訊來生成較為準確的預測,如上文圖2所示。然而,這些模型的能力仍然是有限的,因為它們並沒有考慮到在過去的一段時間內,興趣變數本身的相關性。我們將這種相關性稱為自相關,這在時間序列資料中是十分常見的。如果資料具有自相關性,就像我們所做的那樣,那麼可能會需要額外的建模來進一步改進基線預測。


為了在時間序列模型中捕獲自相關的影響,我們有必要採用自迴歸整合移動平均值 (AutoregressiveIntegrated Moving Average或ARIMA)模型。ARIMA 模型包含了用於描述週期和趨勢的引數 (例如,在一週中有幾天使用了虛變數和差分),還包含了自迴歸和/或移動平均數條件來處理資料中嵌入的自相關性。通過使用適當的 ARIMA 模型,我們可以進一步提高頁面檢視預測的準確性,如下面的圖3所示。


圖 7: 週期性 ARIMA 模型預測


步驟 3: 評估模型準確性

 
雖然您可以看到每個模型的改進精度,但直觀地看出哪個模型具有最佳精度並不現實。計算 MAPE (MeanAbsolute Percent Error,平均絕對百分比誤差)是一種快速、簡便的方法,用於比較所提出模型的總體預測精度——具有較低的 MAPE則預測精度會更好。比較以往討論的每個模型的 MAPE,可以很容易看出週期性 ARIMA 模型提供了最佳的預測精度。
請注意,還有幾種其他型別的比較統計資料可用於模型比較。

總結


總而言之,建立一個強大的時間序列預測模型的訣竅是儘可能地去除“雜質” (趨勢、週期和自相關等),以便在資料中剩餘的唯一變數只有純粹的隨機性。資料方面,我們發現一週中有迴歸變數的週期性,並且ARIMA 模型提供了最準確的預測。與上面提到的天真、平均和 ESM 模型相比,ARIMA 模型預測更為準確。


雖然沒有時間序列模型能夠幫助你何時遇到真愛,但有許多型別的時間序列模型可以幫助你來完成從頁面檢視到能源銷售的各種方面的預測。準確預測您感興趣的變數的關鍵,首先就是要了解資料,其次就是要採用最符合資料需求的模型。


此為貪心科技編譯,轉載請聯絡本公眾號獲得授權。



加入貪心科技、廣告&商務合作:[email protected]