時間序列建模三部曲

原文連接:http://tecdat.cn/?p=5202

與大多數高級分析解決方案不一樣,時間序列建模是一種低成本解決方案,可提供強大的洞察力。函數

本文將介紹構建質量時間序列模型的三個基本步驟:使數據靜止不動,選擇正確的模型並評估模型的準確性。這篇文章中的例子使用了一家主要汽車營銷公司的歷史頁面瀏覽數據。測試

步驟1:

時間序列涉及使用按時間間隔(分鐘,小時,天,周等)進行索引的數據。因爲時間序列數據的離散性質,許多時間序列數據集都在數據中嵌入了季節和/或趨勢元素。時間序列建模的第一步是考慮現有季節(固定時間段內的重複模式)和/或趨勢(數據中的向上或向下移動)。考慮到這些嵌入式模式,咱們稱之爲數據固定。下面的圖1和圖2能夠看出趨勢和季節數據的例子。spa

圖1:向上趨勢數據示例3d

圖2:季節數據示例blog

什麼是平穩性?

正如咱們前面提到的,時間序列建模的第一步是消除數據中存在的趨勢或季節的影響,以使其靜止不動。咱們一直在拋棄術語平穩性,但究竟意味着什麼?索引

一個固定的系列就是這個系列的平均值再也不是時間的函數。有了趨勢數據,隨着時間的增長,該系列的平均值會隨着時間的推移而增長或減小(想一想隨着時間的推移,房價會持續上漲)。對於季節性數據,系列的平均值會根據季節波動(考慮每24小時的溫度增減)。rem

咱們如何實現平穩?

有兩種方法可用於實現平穩性,差別數據或線性迴歸。爲了有所做爲,您能夠計算連續觀察值之間的差別。要使用線性迴歸,能夠在模型中包含季節性組件的二元指示符變量。在咱們決定應用哪些方法以前,讓咱們來探索一下咱們的數據。咱們使用SAS Visual Analytics繪製歷史平常頁面瀏覽量。get

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

最初的模式彷佛每七天重複一次,代表每週的季節。隨着時間的推移瀏覽頁面數量的持續增加代表存在略微上升的趨勢。隨着數據的整體思路,咱們應用了平穩性統計檢驗,加強型Dickey-Fuller(ADF)檢驗。ADF測試是平穩性的單位根檢驗。咱們在這裏不會涉及細節,可是單位根代表系列是不是非平穩的,因此咱們使用這個測試來肯定處理趨勢或季節(差別或迴歸)的適當方法。基於上述數據的ADF測試,咱們經過在一週中的某天迴歸虛擬變量來移除七天的季節,並經過區分數據來消除趨勢。由此產生的固定數據能夠在下圖中看到。class

圖4:刪除季節和趨勢後的固定數據

第2步:創建您的時間序列模型

如今數據是平穩的,時間序列建模的第二步是創建一個基準水平預測。咱們還應該注意到,大多數基準級預測不須要將數據固定的第一步。這僅僅是更高級的模型所須要的,好比咱們將要討論的ARIMA建模。

創建基準預測

有幾種類型的時間序列模型。要創建一個能夠準確預測將來頁面瀏覽量的模型(或者您對預測感興趣的任何內容),有必要肯定適合您數據的模型類型。

最簡單的選擇是假定y的將來值(您對預測感興趣的變量)等於y的最新值。這被認爲是最基本的或「天真的模式」,其中最近的觀察是明天最可能的結果。

第二種類型的模型是平均模型。在這個模型中,數據集中的全部觀察值都被賦予相同的權重。y的將來預測以觀測數據的平均值計算。若是數據是水平的,所產生的預測可能至關準確,但若是數據趨勢化或具備季節性組成部分,則會提供很是差的預測。下面能夠看到使用平均模型的頁面查看數據的預測值。

圖5:平均(平均)模型預測

若是數據具備季節性或趨勢元素,那麼對於基準級模型來講,更好的選擇是實施指數平滑模型(ESM)。ESM在上述天真模型和平均模型之間找到了一個愉快的媒介,其中最近的觀測被賦予了最大的權重,而且以前全部觀測的權重都呈指數級降低到過去。ESM還容許將季節性和/或趨勢份量歸入模型。下表提供了初始權重0.7以0.3的比率呈指數降低的例子。

意見重量(α= 0.7)

Yt(目前的觀察)0.7

YT-10.21

YT-20.063

YT-30.0189

YT-40.00567

表1:過去觀察Y的指數降低效應的例子。

在時間序列預測中能夠實施各類類型的ESM。使用的理想模型將取決於您擁有的數據類型。下表根據數據中的趨勢和季節組合提供了使用何種類型的ESM的快速指南。

指數平滑模型的類型趨勢季節

簡單的ESM

線性ESMX

季節性ESMX

Winters ESMXX

表2:模型選擇表

因爲七天的強勁季節和數據的上升趨勢,咱們選擇了一個冬季增溫ESM做爲新的基準水平模型。所產生的預測作了一個體面的工做,繼續輕微的上升趨勢並捕捉七天的季節。可是,數據中還有更多能夠刪除的模式。

圖6:冬季添加劑ESM預測

ARIMA建模

在肯定了最能說明數據趨勢和季節的模型後,您最終將得到足夠的信息來生成一個體面的預測,如上面的圖2所示。然而,這些模型仍然存在侷限性,由於它們沒有考慮到在過去一段時間內利益變量與自身的相關性。咱們將這種相關性稱爲自相關,它一般在時間序列數據中找到。若是數據與咱們的數據具備自相關性,那麼可能會進行額外的建模,以進一步改進基線預測。

爲了捕獲時間序列模型中自相關的影響,有必要實施自迴歸整合移動平均(或ARIMA)模型。ARIMA模型包含了考慮季節和趨勢的參數(例如使用虛擬變量來表示一週中的天數和差別),還容許包含自迴歸和/或移動平均項來處理數據中嵌入的自相關。經過使用適當的ARIMA模型,咱們能夠進一步提升頁面瀏覽量預測的準確性,如圖3所示。

圖7:季節性ARIMA模型預測

第3步:評估模型的準確性

雖然您能夠看到提供的每一個模型的精度都有所提升,但從視覺上肯定哪一個模型具備最佳精度並不老是可靠的。計算MAPE(平均絕對偏差百分比)是一種快速簡便的方法,能夠比較所提出模型的整體預測精度 - MAPE越低預測精度越好。比較先前討論的每一個模型的MAPE,很容易看出季節性ARIMA模型提供了最佳的預測精度。請注意,還有其餘幾種可用於模型比較的比較統計信息。

模型錯誤驗證

模型MAPE

幼稚9

意思10.2

Winters ESM6.9

季節性ARIMA4.4

表3:模型錯誤率比較

概要

總而言之,構建一個強大的時間序列預測模型的訣竅是儘量多地消除噪音(趨勢,季節和自相關),以便數據中惟一剩下的運動是純粹的隨機性。對於咱們的數據,咱們發現具備迴歸變量的季節ARIMA模型提供了最準確的預測。與上面提到的天真,平均和ESM模型相比,ARIMA模型預測更準確。

相關文章
相關標籤/搜索