<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          時間序列預(yù)測方法最全總結(jié)!

          共 4314字,需瀏覽 9分鐘

           ·

          2021-03-11 11:35

          時間序列預(yù)測就是利用過去一段時間的數(shù)據(jù)來預(yù)測未來一段時間內(nèi)的信息,包括連續(xù)型預(yù)測(數(shù)值預(yù)測,范圍估計)與離散型預(yù)測(事件預(yù)測)等,具有非常高的商業(yè)價值。


          需要明確一點的是,與回歸分析預(yù)測模型不同,時間序列模型依賴于數(shù)值在時間上的先后順序,同樣大小的值改變順序后輸入模型產(chǎn)生的結(jié)果是不同的。如之前的文章所介紹,時間序列可以分為平穩(wěn)序列,即存在某種周期,季節(jié)性及趨勢的方差和均值不隨時間而變化的序列,和非平穩(wěn)序列。如何對各種場景的時序數(shù)據(jù)做準(zhǔn)確地預(yù)測,是一個非常值得研究的問題。

          本文為大家總結(jié)時間序列預(yù)測的有關(guān)方法,淺析這些技術(shù)并探索如何可以提高這些方法的預(yù)測效果。

          01

          基本規(guī)則法


          要預(yù)測一個時間序列,我們首先需要發(fā)現(xiàn)其變化的規(guī)律。最基本的方法,就是通過人工經(jīng)驗,挖掘時序數(shù)據(jù)的演化特征,找到時序變化的周期,從而預(yù)估時間序列的未來走勢。具體的觀察一個時間序列,當(dāng)序列存在周期性時,提取時間序列的周期性特征進行預(yù)測。


          圖 | 抽取時序的周期進行擬合



          02

          傳統(tǒng)參數(shù)法


          之前我們介紹了時間序列的統(tǒng)計分析方法,該方法可以將時間序列的演化變?yōu)閿?shù)學(xué)參數(shù),天然的,我們可以通過擬合好的模型,進行時間序列的預(yù)測。

          傳統(tǒng)的參數(shù)預(yù)測方法可以分為兩種,一種擬合標(biāo)準(zhǔn)時間序列的餐順方法,包括移動平均,指數(shù)平均等;另一種是考慮多因素組合的參數(shù)方法,即AR,MA,ARMA等模型。這類方法比較適用于小規(guī)模,單變量的預(yù)測,比如某門店的銷量預(yù)測等??偟膩碚f,基于此類方法的建模步驟是:
          首先需要對觀測值序列進行平穩(wěn)性檢測,如果不平穩(wěn),則對其進行差分運算直到差分后的數(shù)據(jù)平穩(wěn);在數(shù)據(jù)平穩(wěn)后則對其進行白噪聲檢驗,白噪聲是指零均值常方差的隨機平穩(wěn)序列;如果是平穩(wěn)非白噪聲序列就計算ACF(自相關(guān)系數(shù))、PACF(偏自相關(guān)系數(shù)),進行ARMA等模型識別,對已識別好的模型,確定模型參數(shù),最后應(yīng)用預(yù)測并進行誤差分析。

          這類方法一般是統(tǒng)計或者金融出身的人用的比較多,對統(tǒng)計學(xué)或者隨機過程知識的要求比較高。而在數(shù)據(jù)挖掘的場景中比較難適用,因為需要大量的參數(shù)化建模。比如有一個連鎖門店的銷售數(shù)據(jù),要預(yù)測每個門店的未來銷量,用這類方法的話就需要對每個門店都建立模型, 這樣就很難操作了。


          03

          時間序列分解


          時間序列分解法是數(shù)年來一直非常有用的方法,一個時間序列往往是一下幾類變化形式的疊加或耦合:
          長期趨勢(Secular trend, T):長期趨勢指現(xiàn)象在較長時期內(nèi)持續(xù)發(fā)展變化的一種趨向或狀態(tài)。季節(jié)變動(Seasonal Variation, S):季節(jié)波動是由于季節(jié)的變化引起的現(xiàn)象發(fā)展水平的規(guī)則變動循環(huán)波動(Cyclical Variation, C):循環(huán)波動指以若干年為期限,不具嚴(yán)格規(guī)則的周期性連續(xù)變動不規(guī)則波動(Irregular Variation, I): 不規(guī)則波動指由于眾多偶然因素對時間序列造成的影響

          圖 | 原始時間序列



          時間序列分解模型

          /加法模型

          加法模型的形式如下:
          加法模型中的四種成分之間是相互獨立的,某種成分的變動并不影響其他成分的變動。各個成分都用絕對量表示,并且具有相同的量綱。


          /乘法模型

          乘法模型的形式如下:
          乘法模型中四種成分之間保持著相互依存的關(guān)系,一般而言,長期趨勢用絕對量表示,具有和時間序列本身相同的量綱,其他成分則用相對量表示。


          /加乘混合模型

          以上兩種方式的混合



          時間序列的長期趨勢分析

          圖 | 擬合的時序趨勢


          /移動平均法

          在原時間序列內(nèi)依次求連續(xù)若干期的平均數(shù)作為其某一期的趨勢值,如此逐項遞移求得一系列的移動平均數(shù),形成一個平均數(shù)時間序列。


          /時間回歸法

          使用回歸分析中的最小二乘法,以時間t或t的函數(shù)為自變量擬合趨勢方程。常用的趨勢方程如下:

          一階線性方程二次(多次)方程曲線指數(shù)曲線



          時間序列季節(jié)變動分析

          時間序列短期會受季節(jié)等短期因素影響,從而存在一些周期性



          圖 | 擬合的季節(jié)變動


          /乘法模型-季節(jié)指數(shù)

          乘法模型中的季節(jié)成分通過季節(jié)指數(shù)來反映。常用的方法稱為移動平均趨勢剔除法。步驟如下:

          1. 計算一動平均值

          2. 從序列中剔除移動平均值



          時間序列循環(huán)變動分析

          時序長期來看會存在一個循環(huán)往復(fù),通常通過剩余法來計算循環(huán)變動成分C:
          如果有季節(jié)成分,計算季節(jié)指數(shù),得到季節(jié)調(diào)整后的數(shù)據(jù)TCI根據(jù)趨勢方程從季節(jié)調(diào)整后的數(shù)據(jù)中消除長期趨勢,得到序列CI對消去季節(jié)成分和趨勢值的序列CI進行移動平均以消除不規(guī)則波動,得到循環(huán)變動成分C

          圖 | 擬合的長期循環(huán)變動



          時間序列不規(guī)則變動分析

          除了以上三種變動信息,剩下的為不規(guī)律的時序變動信息。如有需要,可以進一步分解出不規(guī)則變動成分:
          對于一個時間序列,剔除長期趨勢,季節(jié)性,循環(huán)變動因素之后,剩下的就是不規(guī)則變動因素

          圖 | 擬合的不規(guī)則變動



                       Prophet


          這里特別提一個Facebook 所服務(wù)化的時間序列預(yù)測工具,Prophet,具體可以參考官網(wǎng)說明。該方法類似于STL時序分解的思路,增加考慮節(jié)假日等信息對時序變化的影響。


          04

          機器學(xué)習(xí)


          近年來時間序列預(yù)測方法,多采用機器學(xué)習(xí)方式。機器學(xué)習(xí)的方法,主要是構(gòu)建樣本數(shù)據(jù)集,采用“時間特征”到“樣本值”的方式,通過有監(jiān)督學(xué)習(xí),學(xué)習(xí)特征與標(biāo)簽之前的關(guān)聯(lián)關(guān)系,從而實現(xiàn)時間序列預(yù)測。常用的場景有:


          /單步預(yù)測

          在時間序列預(yù)測中的標(biāo)準(zhǔn)做法是使用滯后的觀測值,作為輸入變量來預(yù)測當(dāng)前的時間的觀測值。這被稱為單步單變量預(yù)測。


          /多步預(yù)測

          另一種預(yù)測問題類型是使用過去的觀測序列 來預(yù)測未來的觀測序列。這就是多步預(yù)測或序列預(yù)測。


          /多變量預(yù)測

          另一個重要的時間序列稱為多元時間序列,即每個時間有多個觀測值:
          這意味著我們通過不同的測量手段得到了多種觀測值,并且希望預(yù)測其中的一個或幾個值。例如,我們可能有兩組時間序列觀測值,我們希望分析這組多元時間序列來預(yù)測 。

          基于以上場景,許多監(jiān)督學(xué)習(xí)的方法可以應(yīng)用在時間序列的預(yù)測中,比如svm/xgboost/邏輯回歸/回歸樹/...



          05

          深度學(xué)習(xí)


          深度學(xué)習(xí)方法近年來逐漸替代機器學(xué)習(xí)方法,成為人工智能與數(shù)據(jù)分析的主流,對于時間序列的分析,有許多方法可以進行處理,包括:循環(huán)神經(jīng)網(wǎng)絡(luò)-LSTM模型/卷積神經(jīng)網(wǎng)絡(luò)/基于注意力機制的模型(seq2seq)/...


          /循環(huán)神經(jīng)網(wǎng)絡(luò)

          環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)框架及其變種(LSTM/GRU/...)是為處理序列型而生的模型,天生的循環(huán)自回歸的結(jié)構(gòu)是對時間序列的很好的表示。所采用的方式也是監(jiān)督學(xué)習(xí),不過不需要人為的構(gòu)建時序特征,可以通過深度學(xué)習(xí)網(wǎng)絡(luò)擬合時序曲線,捕捉時間先后順序關(guān)系,長期依賴,進行特征學(xué)習(xí)與預(yù)測。



          /卷積神經(jīng)網(wǎng)絡(luò)

          傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)(CNN)一般認為不太適合時序問題的建模,這主要由于其卷積核大小的限制,不能很好的抓取長時的依賴信息。但是最近也有很多的工作顯示,特定的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)也可以達到很好的效果,通常將時間序列轉(zhuǎn)化為圖像,再應(yīng)用基于卷積神經(jīng)網(wǎng)絡(luò)的模型做分析。

          Gramian Angular Field (格拉姆角場GAF)
          將笛卡爾坐標(biāo)系下的一維時間序列,轉(zhuǎn)化為極坐標(biāo)系表示,再使用三角函數(shù)生成GAF矩陣。計算過程:
          數(shù)值縮放:將笛卡爾坐標(biāo)系下的時間序列縮放到[0,1]或[-1,1]區(qū)間極坐標(biāo)轉(zhuǎn)換:使用坐標(biāo)變換公式,將笛卡爾坐標(biāo)系序列轉(zhuǎn)化為極坐標(biāo)系時間序列角度和/差的三角函數(shù)變換:若使用兩角和的cos函數(shù)則得到GASF,若使用兩角差的cos函數(shù)則得到GADF

          Short Time Fourier Transform (短時傅里葉變換STFT)

          在語音信號處理場景使用很廣泛,其目標(biāo)主要將時間序列轉(zhuǎn)為時頻圖像,進而采用卷積網(wǎng)絡(luò)進行特征分析。



          /時間卷積網(wǎng)絡(luò)

          時間卷積網(wǎng)絡(luò)(TCN)是一種特殊的卷積神經(jīng)網(wǎng)絡(luò),針對一維空間做卷積,迭代多層捕捉長期關(guān)系。具體的,對于上一層t時刻的值,只依賴于下一層t時刻及其之前的值。和傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)的不同之處在于,TCN不能看到未來的數(shù)據(jù),它是單向的結(jié)構(gòu),不是雙向的。也就是說只有有了前面的因才有后面的果,是一種嚴(yán)格的時間約束模型,因此又被稱為因果卷積。


          /基于注意力機制的模型

          在RNN中分析時間序列需要我們一步步的順序處理從 t-n 到 t 的所有信息,而當(dāng)它們相距較遠(n非常大)時RNN的效果常常較差,且由于其順序性處理效率也較低?;谧⒁饬C制(Attention)的模型,采用跳步的方式計算每個數(shù)值之間的兩兩關(guān)聯(lián),然后組合這些關(guān)聯(lián)分?jǐn)?shù)得到一個加權(quán)的表示。該表示通過前饋神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí),可以更好的考慮到時序的上下文的信息。


          以上步驟如下動圖所示:


          /結(jié)合CNN+RNN+Attention,作用各不相同互相配合
          主要設(shè)計思想:
          • CNN捕捉短期局部依賴關(guān)系
          • RNN捕捉長期宏觀依賴關(guān)系
          • Attention為重要時間段或變量加權(quán)


          06

          一些需要注意的難點

          • 理解時間序列預(yù)測問題是要用歷史數(shù)據(jù)預(yù)測未來數(shù)據(jù)

          • 時間序列問題的訓(xùn)練集、測試集劃分

          • 特征工程方法及過程

          • 如何轉(zhuǎn)化為監(jiān)督學(xué)習(xí)數(shù)據(jù)集

          • LSTM計算過程理解,包括輸入輸出維度、參數(shù)數(shù)量等

          • seq2seq過程的理解,decoder實現(xiàn)

          • attention注意力機制的原理及實現(xiàn),包括encoder-decoder attention, self attention, multi-head attention等

          • 時間卷積網(wǎng)絡(luò)的含義,dilated-convolution 和 causal-convolution

          • prophet預(yù)測原理,各參數(shù)對模型擬合效果、泛化效果的影響

          • 時間序列基本規(guī)則法中周期因子得計算過程

          • 傳統(tǒng)方法如周期因子、線性回歸、ARMA等的預(yù)測結(jié)果表現(xiàn)為,預(yù)測趨勢大致正確,但對波動預(yù)測不理想,體現(xiàn)在波動的幅度差異、相位偏移。

          • 時間序列分解方法。理解加法模型和乘法模型,判斷分解模型的選取及分解技巧。



          /工具

          • tslearn:開源的時間序列機器學(xué)習(xí)python工具包

          • tsfresh:開源的時間序列特征提取python工具包

          • pyts:開源的時間序列分類Python工具包。提供預(yù)處理工具及若干種時間序列分類算法


          “整理不易,三連
          瀏覽 202
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美九一精品 | 一本视频无码视频 | 苍井空一级婬片A片免费观看 | 在线观看亚洲无码视频 | 成人一级视频 |