時(shí)間序列基本概念、任務(wù)、預(yù)測(cè)方法
本文開(kāi)啟時(shí)間序列系列的相關(guān)介紹,從零梳理時(shí)序概念、相關(guān)技術(shù)、和實(shí)戰(zhàn)案例。
本篇介紹時(shí)間序列的定義、任務(wù)、構(gòu)成以及預(yù)測(cè)方法,主要是基本概念的介紹和理解。
時(shí)間序列定義
時(shí)間序列,通俗的字面含義為一系列歷史時(shí)間的序列集合。比如2013年到2022年我國(guó)全國(guó)總?cè)丝跀?shù)依次記錄下來(lái),就構(gòu)成了一個(gè)序列長(zhǎng)度為10的時(shí)間序列。
專(zhuān)業(yè)領(lǐng)域里,時(shí)間序列定義為一個(gè)隨機(jī)過(guò)程,是按時(shí)間順序排列的一組隨機(jī)變量的序列集,記為。并用 或者 表示該隨機(jī)序列的N有序觀測(cè)值。
這里有兩個(gè)概念,隨機(jī)變量和觀測(cè)值。
隨機(jī)變量:用大寫(xiě)字母表示,我們認(rèn)為每個(gè)時(shí)間點(diǎn)的變量都符合一定的分布特性,變量值從分布中隨機(jī)得到。
觀測(cè)值:用小寫(xiě)字母表示,是隨機(jī)變量的實(shí)現(xiàn),也就是我們現(xiàn)實(shí)世界看到的數(shù)值。

結(jié)合上圖理解隨機(jī)變量和觀測(cè)值的關(guān)系。
我們認(rèn)為每個(gè)時(shí)間點(diǎn)發(fā)生的數(shù)據(jù)都來(lái)自于一個(gè)分布的,即時(shí)序點(diǎn)是個(gè)隨機(jī)的變量,如上圖中所示,在未發(fā)生之前每個(gè)時(shí)序點(diǎn)有可能是紅色,也有可能是藍(lán)色。而一旦發(fā)生了就會(huì)成為一個(gè)事實(shí),會(huì)變成歷史,所以就只能存在一個(gè)唯一的數(shù)據(jù)。
這里的紅色點(diǎn)就是觀測(cè)點(diǎn),是我們現(xiàn)實(shí)世界某個(gè)時(shí)刻我們?nèi)庋劭吹降臄?shù)據(jù),而藍(lán)色點(diǎn)則是隨機(jī)變量里可能會(huì)出現(xiàn)的其他數(shù)據(jù)。藍(lán)色和紅色點(diǎn)一起組合了發(fā)生時(shí)刻的一個(gè)變量分布。拿股價(jià)舉例,收盤(pán)之前的價(jià)格我們認(rèn)為會(huì)在一個(gè)合理的分布區(qū)間之內(nèi)浮動(dòng),但不到收盤(pán)結(jié)束誰(shuí)都不知道具體是多少,可能是紅色或者藍(lán)色,一旦到了收盤(pán)就必然會(huì)有一個(gè)唯一的價(jià)格。
時(shí)間序列任務(wù)
學(xué)習(xí)時(shí)間序列都能做什么?為什么要做時(shí)序分析?
時(shí)間序列的常見(jiàn)作用可以分類(lèi)以下幾種,其中預(yù)測(cè)和異常檢測(cè)是比較常用的應(yīng)用場(chǎng)景。
預(yù)測(cè):是最廣泛的應(yīng)用,基于歷史時(shí)序數(shù)據(jù)預(yù)測(cè)未來(lái)時(shí)序數(shù)據(jù),比如常見(jiàn)的股票價(jià)格、食品價(jià)格。
時(shí)序預(yù)測(cè)與回歸預(yù)測(cè)類(lèi)似,但又不同。相似的是都通過(guò),不同的是回歸預(yù)測(cè)是,用其他數(shù)據(jù)預(yù)測(cè),而時(shí)序預(yù)測(cè)是,用預(yù)測(cè)。

異常檢測(cè):用于查找時(shí)序數(shù)據(jù)中的異常數(shù)據(jù)點(diǎn)(稱(chēng)為異常值)或子序列的任務(wù)。

聚類(lèi):是將相似的時(shí)間序列聚合一起。

分類(lèi):將時(shí)間序列與預(yù)定義的類(lèi)別對(duì)應(yīng)。

變點(diǎn)檢測(cè):需要尋找時(shí)間序列的統(tǒng)計(jì)屬性(如均值、方差)突然變化的時(shí)間點(diǎn)。

主題發(fā)現(xiàn):尋找反復(fù)出現(xiàn)的時(shí)間序列子序列。

分割:通過(guò)減少時(shí)間序列的維度,同時(shí)保留其基本特征來(lái)創(chuàng)建時(shí)間序列的準(zhǔn)確近似的任務(wù)

時(shí)間序列構(gòu)成
時(shí)間序列通常由以下三個(gè)組成部分構(gòu)成。
趨勢(shì):指時(shí)間序列在較長(zhǎng)一段時(shí)間內(nèi)呈現(xiàn)出來(lái)的持續(xù)向上或者持續(xù)向下的變動(dòng)
季節(jié)性:指時(shí)間序列在一年內(nèi)重復(fù)出現(xiàn)的周期性波動(dòng),如氣候條件、生產(chǎn)條件、節(jié)假日等
殘差:也稱(chēng)為不規(guī)則波動(dòng),指除去趨勢(shì)、季節(jié)性、周期性外的隨機(jī)波動(dòng)。不規(guī)則波動(dòng)通常總是夾雜在時(shí)間序列中,致使時(shí)間序列產(chǎn)生一種波浪形或震蕩式的變動(dòng)。只含有隨機(jī)波動(dòng)的序列也稱(chēng)為平穩(wěn)序列

以上圖二為趨勢(shì),圖三為季節(jié)性,圖四為殘差。
既然時(shí)間序列可以拆解為這三部分,它們會(huì)不會(huì)組合起來(lái)使用呢?
是可以的,通常可以用兩種簡(jiǎn)單模型來(lái)表示:
加法模型:
乘法模型:
代表趨勢(shì),表示季節(jié),表示殘差即無(wú)法解釋的變化。
當(dāng)趨勢(shì)和季節(jié)性變化獨(dú)立作用時(shí),加法模型是合適的。
當(dāng)季節(jié)性效應(yīng)的大小取決于趨勢(shì)的大小,乘法模型是合適的。

時(shí)間序列預(yù)測(cè)方法
1. 傳統(tǒng)時(shí)序建模
比如典型的傳統(tǒng)時(shí)序建模如ARMA、ARIMA模型。
ARIMA模型是ARMA模型的升級(jí)版。ARMA模型只能針對(duì)平穩(wěn)數(shù)據(jù)進(jìn)行建模,而ARIMA模型需要先對(duì)數(shù)據(jù)進(jìn)行差分,差分平穩(wěn)后在進(jìn)行建模。這兩個(gè)模型能處理的問(wèn)題還是比較簡(jiǎn)單,究其原因主要是以下兩點(diǎn):
ARMA/ARIMA模型歸根到底還是簡(jiǎn)單的線性模型,能表征的問(wèn)題復(fù)雜程度有限ARMA全名是自回歸滑動(dòng)平均模型,它只能支持對(duì)單變量歷史數(shù)據(jù)的回歸,處理不了多變量的情況
2. 機(jī)器學(xué)習(xí)模型方法
這類(lèi)方法把時(shí)序問(wèn)題轉(zhuǎn)換為監(jiān)督學(xué)習(xí),通過(guò)特征工程和機(jī)器學(xué)習(xí)方法去預(yù)測(cè),支持復(fù)雜的數(shù)據(jù)建模,支持多變量協(xié)同回歸,支持非線性問(wèn)題,以lightgbm、xgboost為代表。
機(jī)器學(xué)習(xí)方法較為復(fù)雜的是特征工程部分,需要一定的專(zhuān)業(yè)知識(shí)或者豐富的想象力。特征工程能力的高低往往決定了機(jī)器學(xué)習(xí)的上限,而機(jī)器學(xué)習(xí)方法只是盡可能的逼近這個(gè)上限。特征建立好之后,就可以直接套用樹(shù)模型算法lightgbm/xgboost。
機(jī)器學(xué)習(xí)方法主要有以下特點(diǎn):
計(jì)算速度快,模型精度高; 缺失值不需要處理,比較方便; 支持category變量; 支持特征交叉
3. 深度學(xué)習(xí)模型方法
深度學(xué)習(xí)方法以LSTM/GRU、seq2seq、wavenet、1D-CNN、transformer為主。
其中,LSTM/GRU模型,是專(zhuān)門(mén)為解決時(shí)間序列問(wèn)題而設(shè)計(jì)的。CNN模型是本來(lái)解決圖像問(wèn)題的,但是經(jīng)過(guò)演變和發(fā)展,也可以用來(lái)解決時(shí)間序列問(wèn)題
深度學(xué)習(xí)類(lèi)模型主要有以下特點(diǎn):
不能包括缺失值,必須要填充缺失值,否則會(huì)報(bào)錯(cuò) 支持特征交叉,如二階交叉,高階交叉等 需要embedding層處理category變量,可以直接學(xué)習(xí)到離散特征的語(yǔ)義變量,并表征其相對(duì)關(guān)系 Prophet數(shù)據(jù)量小的時(shí)候,模型效果不如樹(shù)方法;但是數(shù)據(jù)量巨大的時(shí)候,神經(jīng)網(wǎng)絡(luò)會(huì)有更好的表現(xiàn) 神經(jīng)網(wǎng)絡(luò)模型支持在線訓(xùn)練
本篇是時(shí)序系列的開(kāi)胃菜,后續(xù)會(huì)逐漸展開(kāi)深入傳統(tǒng)時(shí)序核心概念、應(yīng)用案例,以及機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方法、Python中使用時(shí)序的各種方法。
參考鏈接:
[1].https://mp.weixin.qq.com/s/sc9OJ-GVmtLB1CGL1Sr8VQ [2].https://mp.weixin.qq.com/s/jqQMlJlt_OCvz0sJOVANUA [3].https://mp.weixin.qq.com/s/-FhSxHWGH8WUwLE2YkWNEg> [4].https://www.researchgate.net [5].https://zhuanlan.zhihu.com/p/471014006 [6].https://medium.com/@nathanvenos/time-series-analysis-in-python-ab582dd803cd [7].https://www.mathworks.com/help/deeplearning/ug/time-series-anomaly-detection-using-deep-learning.html [8].https://vitalflux.com/different-types-of-time-series-forecasting-models/
往期精彩回顧
適合初學(xué)者入門(mén)人工智能的路線及資料下載 (圖文+視頻)機(jī)器學(xué)習(xí)入門(mén)系列下載 機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印 《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專(zhuān)輯 機(jī)器學(xué)習(xí)交流qq群955171419,加入微信群請(qǐng)掃碼
