欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種時(shí)間序列數(shù)據(jù)的預(yù)測(cè)方法和系統(tǒng)與流程

文檔序號(hào):11432208閱讀:496來源:國知局
一種時(shí)間序列數(shù)據(jù)的預(yù)測(cè)方法和系統(tǒng)與流程

本發(fā)明涉及數(shù)據(jù)處理技術(shù),尤其涉及時(shí)間序列數(shù)據(jù)的預(yù)測(cè)方法和系統(tǒng)。



背景技術(shù):

時(shí)間序列數(shù)據(jù)的預(yù)測(cè)涉及到社會(huì)、國家發(fā)展的方方面面。以經(jīng)濟(jì)數(shù)據(jù)為例進(jìn)行說明。經(jīng)濟(jì)數(shù)據(jù)是一個(gè)國家和地區(qū)經(jīng)濟(jì)情況的體現(xiàn),其中有很大一部分都是各種經(jīng)濟(jì)指標(biāo)、生產(chǎn)資源在不同時(shí)間點(diǎn)上收集的數(shù)據(jù),是典型的時(shí)間序列數(shù)據(jù)。這些數(shù)據(jù)中蘊(yùn)藏了豐富的信息,如經(jīng)濟(jì)運(yùn)行狀態(tài)、未來發(fā)展趨勢(shì)等。因此,對(duì)宏觀經(jīng)濟(jì)數(shù)據(jù)進(jìn)行研究,挖掘其中隱含的規(guī)律,并對(duì)未來趨勢(shì)作科學(xué)預(yù)測(cè),是十分有益的。它不僅能指導(dǎo)一個(gè)地區(qū)或國家對(duì)經(jīng)濟(jì)體制進(jìn)行調(diào)整或改革,對(duì)于企業(yè)進(jìn)行生產(chǎn)規(guī)劃及個(gè)人進(jìn)行投資而言,也有重要的參考價(jià)值。

經(jīng)濟(jì)數(shù)據(jù)經(jīng)常受到各種因素的綜合影響,每一種數(shù)據(jù)都是多種因素疊加的結(jié)果。比如就出口數(shù)據(jù)而言,對(duì)其造成影響的既有本國企業(yè)的競(jìng)爭力等內(nèi)生因素,也有匯率、國際經(jīng)濟(jì)形勢(shì)、關(guān)稅和貿(mào)易政策等外生因素。這些因素有的是周期性的,有的是非周期性的。傳統(tǒng)的做法是將外生因素看作是信號(hào)噪聲而將其去除后再進(jìn)行預(yù)測(cè),這樣對(duì)于相對(duì)平滑的數(shù)據(jù)預(yù)測(cè)比較準(zhǔn)確,但難以預(yù)測(cè)受到外生沖擊的數(shù)據(jù)。

事實(shí)上,即使是外生因素,也是具有一定的可預(yù)測(cè)性的。比如金融危機(jī)、本國或東道國的貿(mào)易政策,雖然看上去都是突然發(fā)生的,但其發(fā)生之前實(shí)際上就有很多征兆,是很多因素的影響不斷累積,最終達(dá)到臨界點(diǎn)而爆發(fā)出來的。因此,只要能夠建立足夠完善的模型,對(duì)這些數(shù)據(jù)隱含的信息進(jìn)行充分地挖掘,便能得到科學(xué)的預(yù)測(cè)。

時(shí)間序列數(shù)據(jù)大多數(shù)為非平穩(wěn)序列,而在經(jīng)濟(jì)領(lǐng)域,由于其受多方面影響,因此,更是復(fù)雜的非平穩(wěn)序列。目前運(yùn)用于宏觀經(jīng)濟(jì)數(shù)據(jù)預(yù)測(cè)的建模方法常見的有基于自回歸積分滑動(dòng)平均模型(autoregressiveintegratedmovingaverage,arima)以及人工神經(jīng)網(wǎng)絡(luò)模型。使用基于arima的建模方法,雖然建模過程簡便,但在對(duì)總體趨勢(shì)的預(yù)測(cè)上并不穩(wěn)定,常常產(chǎn)生滯后的現(xiàn)象。基于傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)(如bp神經(jīng)網(wǎng)絡(luò))的建模預(yù)測(cè)存在著網(wǎng)絡(luò)訓(xùn)練難的問題,而且由于神經(jīng)網(wǎng)絡(luò)模型追求整體誤差小的目標(biāo),使得盡管預(yù)測(cè)趨勢(shì)較理想,但對(duì)波動(dòng)較大的細(xì)節(jié)預(yù)測(cè)精度有待提高??傊?,在對(duì)復(fù)雜的非平穩(wěn)時(shí)間序列數(shù)據(jù)(尤其是對(duì)有外生沖擊的經(jīng)濟(jì)數(shù)據(jù))進(jìn)行預(yù)測(cè)時(shí),常用的傳統(tǒng)模型的預(yù)測(cè)精度難以得到理想效果。

因此,需要一種能夠更加準(zhǔn)確地預(yù)測(cè)時(shí)間序列數(shù)據(jù)的方法和系統(tǒng)。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明旨在解決上面描述的問題。本發(fā)明的目的是提供一種時(shí)間序列數(shù)據(jù)的預(yù)測(cè)方法和系統(tǒng),在建模過程簡潔易操作的前提下,能更加準(zhǔn)確地對(duì)非平穩(wěn)時(shí)間序列數(shù)據(jù)進(jìn)行預(yù)測(cè)。

根據(jù)本發(fā)明的第一方面,提供了一種時(shí)間序列數(shù)據(jù)的預(yù)測(cè)方法,所述方法包括:

步驟1,對(duì)由t-1個(gè)時(shí)刻的數(shù)據(jù)組成的序列進(jìn)行小波分解,得到n個(gè)子序列,其中每個(gè)子序列由相應(yīng)的t-1個(gè)時(shí)刻的數(shù)據(jù)組成,其中,t為大于1的自然數(shù),n為大于等于2的自然數(shù);

步驟2,對(duì)所述n個(gè)子序列分別進(jìn)行平穩(wěn)性檢測(cè),其中有j個(gè)平穩(wěn)子序列和n-j個(gè)非平穩(wěn)子序列,其中j為大于等于1且小于等于n的自然數(shù);

步驟3,利用j個(gè)平穩(wěn)子序列的t-1個(gè)時(shí)刻的數(shù)據(jù)分別建立arma模型,并分別預(yù)測(cè)每個(gè)平穩(wěn)子序列t時(shí)刻的數(shù)據(jù),并將預(yù)測(cè)的各平穩(wěn)子序列的t時(shí)刻的數(shù)據(jù)求和得到所述時(shí)間序列的t時(shí)刻的第一預(yù)測(cè)值;

步驟4,利用n-j個(gè)非平穩(wěn)子序列的t-1個(gè)時(shí)刻的數(shù)據(jù)分別建立lstm模型,并分別預(yù)測(cè)每個(gè)非平穩(wěn)子序列t時(shí)刻的數(shù)據(jù),并將預(yù)測(cè)的各非平穩(wěn)子序列t時(shí)刻的數(shù)據(jù)求和得到所述時(shí)間序列的t時(shí)刻的第二預(yù)測(cè)值;

步驟5,將所述時(shí)間序列的t時(shí)刻的所述第一預(yù)測(cè)值和所述第二預(yù)測(cè)值求和,獲得所述時(shí)間序列的t時(shí)刻的預(yù)測(cè)數(shù)據(jù)。

其中,所述步驟4還包括通過以下計(jì)算公式預(yù)測(cè)每個(gè)非平穩(wěn)子序列t時(shí)刻的數(shù)據(jù):

其中,wh1,b1分別為第一權(quán)值和第一偏置,w12,b2分別為第二權(quán)值和第二偏置,w23,b3分別為第三權(quán)值和第三偏置,s表示向量ht(ht1,ht2,…,hts)中包括的元素的個(gè)數(shù),且s為大于等于1的自然數(shù),

并且,relu函數(shù)的定義為reluf(x)=max(0,x),

并且,向量ht(ht1,ht2,…,hts)中各元素ht1,ht2,…,hts均通過以下公式迭代計(jì)算:

it=sigmoid(whiht-1+wxixt),

ft=sigmoid(whfht-1+wxfxt),

ct=ft⊙ct-1+it⊙tanh(whcht-1+wxcxt),

ot=sigmoid(whoht-1+whxxt+wcoct),

ht=ot⊙tanh(ct),

其中,xt=xt(xt-period,xt-period...,xt-1)為從t時(shí)刻之前的數(shù)據(jù)中選取的連續(xù)數(shù)據(jù)組成的序列,其中,period為序列xt中包含元素的個(gè)數(shù),whi、wxi、whf、wxf、whc、wxc、who、whx、wco分別為不同的權(quán)重,h1為初始狀態(tài)值,為0。

其中,權(quán)重whi、wxi、whf、wxf、whc、wxc、who、whx、wco的初始值為隨機(jī)數(shù)。

其中,所述步驟1包括:利用db小波對(duì)由t-1個(gè)時(shí)刻的數(shù)據(jù)組成的序列進(jìn)行小波分解,且進(jìn)行小波分解的層數(shù)為3層。

其中,所述步驟3包括通過下述計(jì)算公式預(yù)測(cè)每個(gè)平穩(wěn)子序列t時(shí)刻的數(shù)據(jù):

其中,表示每個(gè)平穩(wěn)子序列t時(shí)刻的數(shù)據(jù),p,q分別是所述arma模型的自回歸階數(shù)和滑動(dòng)平均階數(shù),h1,h2,…,hp和θ1,θ2,…,θq是系數(shù);et是誤差項(xiàng)。

根據(jù)本發(fā)明的另一方面,還提供了一種時(shí)間序列數(shù)據(jù)的預(yù)測(cè)系統(tǒng),所述系統(tǒng)包括:

分解模塊,用于對(duì)由t-1個(gè)時(shí)刻的數(shù)據(jù)組成的序列進(jìn)行小波分解,得到n個(gè)子序列,其中每個(gè)子序列由相應(yīng)的t-1個(gè)時(shí)刻的數(shù)據(jù)組成。其中,t為大于1的自然數(shù),n為大于等于2的自然數(shù);

檢測(cè)模塊,用于對(duì)所述n個(gè)子序列分別進(jìn)行平穩(wěn)性檢測(cè),其中有j個(gè)平穩(wěn)子序列和n-j個(gè)非平穩(wěn)子序列,其中j為大于等于1且小于等于n的自然數(shù);

平穩(wěn)序列預(yù)測(cè)模塊,用于利用j個(gè)平穩(wěn)子序列t-1個(gè)時(shí)刻的數(shù)據(jù)分別建立arma模型,并分別預(yù)測(cè)每個(gè)平穩(wěn)子序列t時(shí)刻的數(shù)據(jù),并將預(yù)測(cè)的各平穩(wěn)子序列的t時(shí)刻的數(shù)據(jù)求和得到所述時(shí)間序列的t時(shí)刻的第一預(yù)測(cè)值;

非平穩(wěn)序列預(yù)測(cè)模塊,用于利用n-j個(gè)非平穩(wěn)子序列t-1個(gè)時(shí)刻的數(shù)據(jù)分別建立lstm模型,并分別預(yù)測(cè)每個(gè)非平穩(wěn)子序列t時(shí)刻的數(shù)據(jù),并將預(yù)測(cè)的各非平穩(wěn)子序列t時(shí)刻的數(shù)據(jù)求和得到所述時(shí)間序列的t時(shí)刻的第二預(yù)測(cè)值;

求和模塊,用于將所述時(shí)間序列的t時(shí)刻的所述第一預(yù)測(cè)值和所述第二預(yù)測(cè)值求和,獲得所述時(shí)間序列的t時(shí)刻的預(yù)測(cè)數(shù)據(jù)。

其中,所述非平穩(wěn)序列預(yù)測(cè)模塊還用于通過以下計(jì)算公式預(yù)測(cè)每個(gè)非平穩(wěn)子序列t時(shí)刻的數(shù)據(jù):

其中,wh1,b1分別為第一權(quán)值和第一偏置,w12,b2分別為第二權(quán)值和第二偏置,w23,b3分別為第三權(quán)值和第三偏置,s表示向量ht(ht1,ht2,…,hts)中包括的元素的個(gè)數(shù),且s為大于等于1的自然數(shù),

并且,relu函數(shù)的定義為reluf(x)=max(0,x),

并且,向量ht(ht1,ht2,…,hts)中各元素ht1,ht2,…,hts均通過以下公式迭代計(jì)算:

it=sigmoid(whiht-1+wxixt),

ft=sigmoid(whfht-1+wxfxt),

ct=ft⊙ct-1+it⊙tanh(whcht-1+wxcxt),

ot=sigmoid(whoht-1+whxxt+wcoct),

ht=ot⊙tanh(ct),

其中,xt=xt(xt-period,xt-period...,xt-1)為從t時(shí)刻之前的數(shù)據(jù)中選取的連續(xù)數(shù)據(jù)組成的序列,period為序列xt中包含元素的個(gè)數(shù),whi、wxi、whf、wxf、whc、wxc、who、whx、wco分別為不同的權(quán)重,h1為初始狀態(tài)值,為0。

其中,權(quán)重whi、wxi、whf、wxf、whc、wxc、who、whx、wco的初始值為隨機(jī)數(shù)。

其中,所述分解模塊還用于利用db小波對(duì)由t-1個(gè)時(shí)刻的數(shù)據(jù)組成的序列進(jìn)行小波分解,且進(jìn)行小波分解的層數(shù)為3層。

其中,所述平穩(wěn)序列預(yù)測(cè)模塊還用于通過下述計(jì)算公式預(yù)測(cè)每個(gè)平穩(wěn)子序列t時(shí)刻的數(shù)據(jù):

其中,表示每個(gè)平穩(wěn)子序列t時(shí)刻的數(shù)據(jù),p,q分別是所述arma模型的自回歸階數(shù)和滑動(dòng)平均階數(shù),h1,h2,…,hp和θ1,θ2,…,θq是系數(shù);et是誤差項(xiàng)。

本發(fā)明通過將長短時(shí)間記憶(longshort-termmemory,lstm)深度學(xué)習(xí)模型和自回歸滑動(dòng)平均模型(auto-regressivemoving-average,arma)結(jié)合對(duì)時(shí)間序列數(shù)據(jù)進(jìn)行預(yù)測(cè),不需要繁雜的特征提取,且相對(duì)于其他傳統(tǒng)方法如bp神經(jīng)網(wǎng)絡(luò)法具有更準(zhǔn)確預(yù)測(cè)效果。本發(fā)明不僅能達(dá)到較高的預(yù)測(cè)精度,還能夠使建模計(jì)算過程簡單易于操作。

小波分析的優(yōu)點(diǎn)就是能對(duì)時(shí)間序列數(shù)據(jù)進(jìn)行分解,是進(jìn)行后續(xù)數(shù)據(jù)分析的基礎(chǔ)。雖然一般的lstm模型存在訓(xùn)練難的問題,但是它在對(duì)序列的細(xì)節(jié)及趨勢(shì)方面的處理能力明顯強(qiáng)于傳統(tǒng)神經(jīng)網(wǎng)絡(luò),適用于非平穩(wěn)序列。arma不適用于非平穩(wěn)序列,但是對(duì)于平穩(wěn)序列建模預(yù)測(cè)的過程簡單,結(jié)果準(zhǔn)確。本發(fā)明提出的方法是利用小波分析,從而達(dá)到將深度學(xué)習(xí)lstm模型和arma的優(yōu)勢(shì)相結(jié)合的目的。

本發(fā)明的預(yù)測(cè)方法通過小波分解,不僅增強(qiáng)對(duì)時(shí)間序列細(xì)節(jié)的學(xué)習(xí)能力,而且能夠降低對(duì)lstm模型深度的要求,使得我們不需要建立如傳統(tǒng)lstm模型那樣深層次的結(jié)構(gòu)便可達(dá)到如傳統(tǒng)lstm模型那樣的效果。這使我們的訓(xùn)練更加容易,因?yàn)榫W(wǎng)絡(luò)結(jié)構(gòu)越深,越容易出現(xiàn)梯度爆炸或者梯度消失的情況。而在實(shí)驗(yàn)過程中,本發(fā)明的lstm模型,訓(xùn)練成功率幾乎和普通神經(jīng)網(wǎng)絡(luò)一樣(指未出現(xiàn)梯度消失或者梯度爆炸情況)。本發(fā)明的有益效果是不僅對(duì)于非平穩(wěn)序列的預(yù)測(cè)精度上優(yōu)于目前常用的預(yù)測(cè)方法,而且具有較好的泛化能力。

參照附圖來閱讀對(duì)于示例性實(shí)施例的以下描述,本發(fā)明的其他特性特征和優(yōu)點(diǎn)將變得清晰。

附圖說明

并入到說明書中并且構(gòu)成說明書的一部分的附圖示出了本發(fā)明的實(shí)施例,并且與描述一起用于解釋本發(fā)明的原理。在這些附圖中,類似的附圖標(biāo)記用于表示類似的要素。下面描述中的附圖是本發(fā)明的一些實(shí)施例,而不是全部實(shí)施例。對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,可以根據(jù)這些附圖獲得其他的附圖。

圖1示例性地示出了根據(jù)本發(fā)明的時(shí)間序列數(shù)據(jù)預(yù)測(cè)方法流程圖;

圖2示例性地示出了小波分解后得到的各子序列;

圖3示例性地示出了lstm單元示意圖;

圖4示例性地示出了lstm預(yù)測(cè)模型示意圖;

圖5示例性地示出了采用本發(fā)明方法的預(yù)測(cè)數(shù)據(jù)擬合圖;

圖6示例性地示出了采用arima模型的預(yù)測(cè)數(shù)據(jù)擬合圖;

圖7示例性地示出了采用bp模型的預(yù)測(cè)數(shù)據(jù)擬合圖;

圖8示例性地示出了采用lstm模型的預(yù)測(cè)數(shù)據(jù)擬合圖;

圖9示例性地示出了采用各預(yù)測(cè)方法的預(yù)測(cè)效果對(duì)比圖;

圖10示例性地示出了根據(jù)本發(fā)明的時(shí)間序列數(shù)據(jù)預(yù)測(cè)系統(tǒng)的模塊圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。

本發(fā)明的預(yù)測(cè)方法通過小波分解,將arma和lstm的優(yōu)勢(shì)結(jié)合起來,提出一種新的預(yù)測(cè)方法。首先將待處理的宏觀經(jīng)濟(jì)序列進(jìn)行多層小波分解,然后通過對(duì)各層系數(shù)的重構(gòu),獲得對(duì)應(yīng)各層的子序列;對(duì)各個(gè)子序列進(jìn)行平穩(wěn)性檢驗(yàn),對(duì)于非平穩(wěn)的序列,采用深度學(xué)習(xí)的lstm進(jìn)行建模預(yù)測(cè);對(duì)于平穩(wěn)的序列,直接采用arma建模預(yù)測(cè);最后總和各個(gè)子序列的預(yù)測(cè)結(jié)果,得到最終預(yù)測(cè)結(jié)果。

圖1示出了根據(jù)本發(fā)明的預(yù)測(cè)方法的流程圖。該方法通過已知的t-1個(gè)時(shí)刻的數(shù)據(jù)來預(yù)測(cè)t時(shí)刻的數(shù)據(jù)。如圖1所示,該方法包括:

步驟101,對(duì)由t-1個(gè)時(shí)刻的數(shù)據(jù)組成的序列進(jìn)行小波分解,得到n個(gè)子序列,其中每個(gè)子序列由相應(yīng)的t-1個(gè)時(shí)刻的數(shù)據(jù)組成,其中,t為大于1的自然數(shù),n為大于等于2的自然數(shù);

步驟102,對(duì)所述n個(gè)子序列分別進(jìn)行平穩(wěn)性檢測(cè),其中有j個(gè)平穩(wěn)子序列和n-j個(gè)非平穩(wěn)子序列,其中j為大于等于1且小于等于n的自然數(shù);

步驟103,利用j個(gè)平穩(wěn)子序列的t-1個(gè)時(shí)刻的數(shù)據(jù)分別建立arma模型,并分別預(yù)測(cè)每個(gè)平穩(wěn)子序列t時(shí)刻的數(shù)據(jù),并將預(yù)測(cè)的各平穩(wěn)子序列的t時(shí)刻的數(shù)據(jù)求和得到所述時(shí)間序列的t時(shí)刻的第一預(yù)測(cè)值;

步驟104,利用n-j個(gè)非平穩(wěn)子序列的t-1個(gè)時(shí)刻的數(shù)據(jù)分別建立lstm模型,并分別預(yù)測(cè)每個(gè)非平穩(wěn)子序列t時(shí)刻的數(shù)據(jù),并將預(yù)測(cè)的各非平穩(wěn)子序列t時(shí)刻的數(shù)據(jù)求和得到所述時(shí)間序列的t時(shí)刻的第二預(yù)測(cè)值;

步驟105,將所述時(shí)間序列的t時(shí)刻的所述第一預(yù)測(cè)值和所述第二預(yù)測(cè)值求和,獲得所述時(shí)間序列的t時(shí)刻的預(yù)測(cè)數(shù)據(jù)。

步驟101中,利用db小波對(duì)由t-1個(gè)時(shí)刻的數(shù)據(jù)組成的序列進(jìn)行小波分解,且進(jìn)行小波分解的層數(shù)為3層。進(jìn)行小波分解時(shí)涉及到下述兩方面:一是小波函數(shù)的選擇,在基于小波分解的時(shí)間序列預(yù)測(cè)模型中大多選擇daubechies系列的小波,本發(fā)明選擇db4小波,當(dāng)然也可以選擇其他db小波;二是分解層數(shù)的確定,層數(shù)確定并沒有一個(gè)特定的方法,在基于小波分解的時(shí)間序列預(yù)測(cè)上常見的層數(shù)確定方法是通過實(shí)驗(yàn)不同的分解層數(shù),然后選擇最適合該模型的參數(shù)。分解層數(shù)越多,噪聲會(huì)越少,信號(hào)會(huì)比較平滑,但是一些有用的信息也會(huì)丟失,從而造成精度的下降。反之,如果分解層數(shù)不夠,我們的信號(hào)就保存有更多的噪聲,也對(duì)精度有影響??紤]到深度學(xué)習(xí)對(duì)抽象特征具有較強(qiáng)的學(xué)習(xí)能力,本發(fā)明分解層數(shù)為3層。

步驟102中,在對(duì)子序列分別進(jìn)行平穩(wěn)性檢測(cè)時(shí),可以采用擴(kuò)張的dickey-fuller檢測(cè)方法(augmenteddickey-fullertest)。由于該檢測(cè)方法是進(jìn)行平穩(wěn)性檢測(cè)常用的方法,在此不再贅述。經(jīng)過平穩(wěn)性檢測(cè)后的子序列中可以沒有非平穩(wěn)序列。

步驟103包括通過下述計(jì)算公式預(yù)測(cè)每個(gè)平穩(wěn)子序列t時(shí)刻的數(shù)據(jù):

其中,表示每個(gè)平穩(wěn)子序列t時(shí)刻的數(shù)據(jù),p,q分別是arma模型的自回歸階數(shù)和滑動(dòng)平均階數(shù),et是獨(dú)立的誤差項(xiàng),h1,h2,…,hp;θ1,θ2,…,θq是不全為零的待定系數(shù)。這些參數(shù)可通過將過去數(shù)據(jù)帶入上式組成的方程組求解得到。此處參數(shù)的求解為本領(lǐng)域技術(shù)人員熟知的,在此不再贅述。

對(duì)于p和q的定階,采取最佳準(zhǔn)則函數(shù)法。選擇最小赤池信息量準(zhǔn)則(akaikeinformationcriterion,aic)作為定階準(zhǔn)則,aic函數(shù)定義為:

其中,是擬合arma(p,q)模型的殘差的方差。

需要說明的是,在選擇aic小的前提下,應(yīng)該使arma階數(shù)盡可能小。在確定好模型以后,需要對(duì)殘差序列進(jìn)行白噪聲檢測(cè)。如果殘差序列不是白噪聲,說明該模型沒有完全將序列的有效信息提取完整,需要重新建模。反之,若殘差序列為白噪聲,說明擬合的模型顯著有效。

綜上所述,即可對(duì)平穩(wěn)的子序列進(jìn)行建模并預(yù)測(cè)。設(shè)有j個(gè)平穩(wěn)子序列,結(jié)合式(1)可求得這j個(gè)序列在t時(shí)刻產(chǎn)生的預(yù)測(cè)值之和sum1為:

下標(biāo)m表示j個(gè)平穩(wěn)子序列中的第m個(gè)。

步驟104還包括通過以下計(jì)算公式預(yù)測(cè)每個(gè)非平穩(wěn)子序列t時(shí)刻的數(shù)據(jù):

其中,wh1,b1分別為第一權(quán)值和第一偏置,w12,b2分別為第二權(quán)值和第二偏置,w23,b3分別為第三權(quán)值和第三偏置,s表示向量ht(ht1,ht2,…,hts)中包括的元素的個(gè)數(shù),且s為大于等于1的自然數(shù)。s即為lstm層中l(wèi)stm單元的個(gè)數(shù),在后面的具體實(shí)施例中該s取值為100,需要說明的是,為了保證模型容易訓(xùn)練,效果好,適用性強(qiáng),通過大量實(shí)驗(yàn)才能得出預(yù)測(cè)效果良好的參數(shù)。

并且,relu函數(shù)的定義為:

reluf(x)=max(0,x)(5)

并且,向量ht(ht1,ht2,…,hts)中各元素ht1,ht2,…,hts均通過以下公式迭代計(jì)算,即ht1需要通過多次迭代得到,ht2需要通過多次迭代得到,以此類推,需要計(jì)算s次這樣的ht。其中xt(xt-period,xt-period...,xt-1)為該時(shí)間序列在t時(shí)刻前的連續(xù)數(shù)據(jù)組成的序列。其中,period為輸入序列的長度,理論上講,定義為明顯的周期數(shù)會(huì)取得較好的效果如7、12、24等,如下實(shí)例period取值為12。

it=sigmoid(whiht-1+wxixt)(6)

ft=sigmoid(whfht-1+wxfxt)(7)

ct=ft⊙ct-1+it⊙tanh(whcht-1+wxcxt)(8)

ot=sigmoid(whoht-1+whxxt+wcoct)(9)

ht=ot⊙tanh(ct)(10)

其中,whi、wxi、whf、wxf、whc、wxc、who、whx、wco分別為不同的權(quán)重,h1為初始狀態(tài)值,為0。h1,h2,…,ht則通過上述公式迭代算出。sigmoid和tanh為常見的激活函數(shù)。

需要說明的是,權(quán)重whi、wxi、whf、wxf、whc、wxc、who、whx、wco的初始值為隨機(jī)數(shù),即在由h1計(jì)算h2時(shí),由隨機(jī)生成的上述權(quán)重值代入上述公式中進(jìn)行計(jì)算。在由h2計(jì)算h3時(shí),則由經(jīng)過訓(xùn)練產(chǎn)生的權(quán)重whi、wxi、whf、wcf、whc、wxc、who、whx、wco的值,進(jìn)行計(jì)算,以此類推。

根據(jù)具體情況,上述各權(quán)重矩陣的形狀由它們所連接的神經(jīng)網(wǎng)絡(luò)層之間的神經(jīng)元、lstm單元個(gè)數(shù)決定。其中,lstm單元個(gè)數(shù)和普通神經(jīng)元個(gè)數(shù)需要通過大量的實(shí)驗(yàn)一步一步試出來最佳值。本發(fā)明經(jīng)過大量實(shí)驗(yàn),得到的各參數(shù)值,使lstm模型訓(xùn)練容易,適用性好。

另外,當(dāng)涉及到的數(shù)據(jù)的數(shù)值比較大時(shí),為了更好地進(jìn)行訓(xùn)練,需要將數(shù)據(jù)進(jìn)行歸一化,公式如下:

歸一化的過程是常用的處理數(shù)據(jù)的方法,在此不再贅述。

需要說明的是,上述中的各參數(shù)的取值包括一些極其特殊的取值,如t=2,但是實(shí)際中為了預(yù)測(cè)的準(zhǔn)確性,不可能只用一個(gè)已知值進(jìn)行預(yù)測(cè)。即,在實(shí)際預(yù)測(cè)時(shí)會(huì)根據(jù)具體情況選擇合適的參數(shù)值。

采用本發(fā)明的方法可以達(dá)到如下的有益效果:

(1)相比較過去傳統(tǒng)的預(yù)測(cè)方法,本方法的擬合精度和預(yù)測(cè)精度都較高。

(2)省去特征選取的過程,不僅精簡了建模過程,而且對(duì)該領(lǐng)域?qū)I(yè)性的要求降低。

下面給出根據(jù)本發(fā)明方法對(duì)時(shí)間序列數(shù)據(jù)進(jìn)行預(yù)測(cè)的具體實(shí)施例。在該實(shí)施例中,選取從國家統(tǒng)計(jì)局官網(wǎng)獲取的1997年1月至2016年12月國家每月出口總值作為實(shí)驗(yàn)數(shù)據(jù)。該數(shù)據(jù)共有240個(gè)時(shí)間點(diǎn),我們利用前228個(gè)數(shù)據(jù)進(jìn)行建模,預(yù)測(cè)未來12個(gè)數(shù)據(jù)。

第一步,對(duì)出口總值數(shù)據(jù)進(jìn)行小波分解。使用db4小波,對(duì)原始序列進(jìn)行3層小波分解,得到3個(gè)高頻子序列d1、d2、d3及低頻序列a3。圖2示出了分解后的各個(gè)子序列。

第二步,對(duì)分解后得到的子序列d1、d2、d3及a3進(jìn)行平穩(wěn)性檢測(cè),檢測(cè)采用擴(kuò)張的dickey-fuller檢測(cè)方法。檢測(cè)結(jié)果為a3為非平穩(wěn)序列,d1、d2、d3均為平穩(wěn)序列。

第三步,利用前228個(gè)時(shí)刻的數(shù)據(jù)建立arma模型,并通過該模型計(jì)算得到229-240時(shí)刻的預(yù)測(cè)值。其中d1序列模型為arma(7,10),d2序列模型為arma(25,25),d3序列模型為arma(23,21)。其中的7、10,25、25,23、21分別是各序列模型的p、q值。對(duì)于d1所建立的模型,預(yù)測(cè)229時(shí)刻的值,由于d1的模型為arma(7,10),因此需要輸入前七個(gè)數(shù)(2101900,-1997200,-4263600,4598500,-3193600,-1240400,1626900)得到預(yù)測(cè)值-16160000。接下來預(yù)測(cè)230時(shí)刻的值,需要將上步預(yù)測(cè)值更新到輸入,即輸入(-1997200,-4263600,4598500,-3193600,-1240400,1626900,-16160000),得到預(yù)測(cè)值-6016000。如此進(jìn)行滾動(dòng)預(yù)測(cè),預(yù)測(cè)12步。同理,d2,d3預(yù)測(cè)方法同d1。

第四步,對(duì)于非平穩(wěn)模型,使用lstm模型進(jìn)行預(yù)測(cè)。假設(shè)預(yù)測(cè)未來下一個(gè)數(shù)值,由于本模型設(shè)置的period為12,即輸入前12個(gè)數(shù)據(jù)(199080000,198490000,198050000,197820000,195810000,194350000,192530000,190430000,188040000,185060000,181490000),得到預(yù)測(cè)值181460993。同第三步d1的預(yù)測(cè)方法,得到12步預(yù)測(cè)。

第五步,將a3,d1,d2,d3各自的預(yù)測(cè)值進(jìn)行求和即得到最終預(yù)測(cè)值。如預(yù)測(cè)229時(shí)刻的值:a3=181460993,d1=-16160000,d2=7950700,d3=3409300。最后預(yù)測(cè)值=a3+d1+d2+d3=176660994。如果進(jìn)行十二步預(yù)測(cè)則僅需各個(gè)模型的12步預(yù)測(cè)相加即可。

需要說明的是,該實(shí)施例中是以經(jīng)濟(jì)數(shù)據(jù)為例進(jìn)行示例的。本發(fā)明的預(yù)測(cè)方法可以用于預(yù)測(cè)各種時(shí)間序列數(shù)據(jù),例如天氣數(shù)據(jù)等。

圖3示出了預(yù)測(cè)所用的lstm單元示意圖。圖4示出了lstm預(yù)測(cè)模型示意圖。如圖3所示,lstm單元與傳統(tǒng)rnn的區(qū)別之處就是多了三種門(input、forget、output)和一個(gè)記憶單元(memorycell)。其中,a表示outputgate,b表示forgetgate,c表示inputgate,d表示memorycell。

如圖4所示,lstm網(wǎng)絡(luò)模型包括4層,如下所述。其中,b表示lstm層,a表示該lstm層中的lstm單元,c表示隱藏層1,e表示隱藏層2,f表示輸出層,d表示普通神經(jīng)元。

(1)lstm層:有100個(gè)lstm單元,當(dāng)然這個(gè)數(shù)量也可以根據(jù)實(shí)際情況進(jìn)行調(diào)整;

(2)隱藏層1:有60個(gè)神經(jīng)元,用來降維以及對(duì)抽象的特征進(jìn)行映射,當(dāng)然這個(gè)數(shù)量也可以根據(jù)實(shí)際情況進(jìn)行調(diào)整;

(3)隱藏層2:作用同隱藏層1,有30個(gè)神經(jīng)元,當(dāng)然這個(gè)數(shù)量也可以根據(jù)實(shí)際情況進(jìn)行調(diào)整;

(4)輸出層:1個(gè)神經(jīng)元,即為預(yù)測(cè)值。

上述的lstm模型結(jié)構(gòu)包括1層輸出層,1層lstm層,2層隱藏層。其中2層隱藏層用于特征學(xué)習(xí)以及降維,1層輸出層用于輸出對(duì)應(yīng)于輸入序列的預(yù)測(cè)結(jié)果。本模型的lstm結(jié)構(gòu)比傳統(tǒng)的lstm模型結(jié)構(gòu)精簡,因此訓(xùn)練難度比傳統(tǒng)lstm低,且具有良好的泛化能力。

需要說明的是,上述各層的參數(shù)都是經(jīng)過大量實(shí)驗(yàn)而得到的,相較于其他參數(shù),具有訓(xùn)練難度更低、泛化能力更強(qiáng)的特點(diǎn)。

在訓(xùn)練過程中,為了防止過擬合現(xiàn)象,我們將隨機(jī)地選擇20個(gè)子序列作為一個(gè)批次,每個(gè)批次訓(xùn)練完后,根據(jù)預(yù)測(cè)值與目標(biāo)值之間的平方誤差,對(duì)網(wǎng)絡(luò)中的參數(shù)(包括權(quán)值、各個(gè)lstm單元的狀態(tài)等)進(jìn)行更新。如此訓(xùn)練epoch=1000次以后,利用驗(yàn)證集驗(yàn)證該模型的可行性。如果該模型不能通過驗(yàn)證,則重新訓(xùn)練,如果通過驗(yàn)證,則可用于預(yù)測(cè)。本模型每次只能預(yù)測(cè)一步,假如要生成多步預(yù)測(cè),則需將上一步得到的預(yù)測(cè)值更新到輸入向量,實(shí)現(xiàn)滾動(dòng)預(yù)測(cè)。

利用上述構(gòu)建的網(wǎng)絡(luò)對(duì)1997年7月至2014年12月的數(shù)據(jù)進(jìn)行訓(xùn)練。并使用2015年1月至2015年12月的預(yù)測(cè)作為驗(yàn)證集,驗(yàn)證該模型的可行性。為了保證準(zhǔn)確性,進(jìn)行十次該實(shí)驗(yàn),并取平均值作為lstm模型的預(yù)測(cè)結(jié)果。

圖5至圖8分別示出了采用本發(fā)明的預(yù)測(cè)方法、arima模型、bp模型、lstm模型得到的預(yù)測(cè)數(shù)據(jù)與真實(shí)數(shù)據(jù)的擬合圖。其中,縱坐標(biāo)表示出口總值,其單位是千美元,橫坐標(biāo)表示時(shí)間,其單位是月份。并且其中,各圖中的實(shí)線表示真實(shí)數(shù)據(jù),各圖中的虛線分別表示采用本發(fā)明的預(yù)測(cè)方法、arima模型、bp模型、lstm模型對(duì)數(shù)據(jù)進(jìn)行的擬合。

此處,選擇出口總值數(shù)據(jù)作為時(shí)間序列數(shù)據(jù)。由擬合圖可以看出,出口總值數(shù)據(jù)整體呈上升趨勢(shì),且序列中又存在著明顯的季節(jié)性,屬于不平穩(wěn)序列。長期的趨勢(shì)信息包括國內(nèi)和國際的經(jīng)濟(jì)形勢(shì)等,短期的波動(dòng)因素包括季節(jié)性的假日經(jīng)濟(jì)(春節(jié))等影響。對(duì)于這種信息豐富而又波動(dòng)復(fù)雜的宏觀經(jīng)濟(jì)數(shù)據(jù),如果使用arima進(jìn)行建模(如圖6),盡管它能夠準(zhǔn)確刻畫短期內(nèi)的細(xì)節(jié)波動(dòng),但是在長期趨勢(shì)上存在明顯的滯后。如果使用bp神經(jīng)網(wǎng)絡(luò)建模(如圖7),雖然在趨勢(shì)方面擬合較好,但是對(duì)于細(xì)節(jié)的捕捉較差,當(dāng)出現(xiàn)波動(dòng)較大時(shí),無法準(zhǔn)確擬合。如果單獨(dú)使用lstm建模(如圖8),雖然對(duì)趨勢(shì)擬合優(yōu)于arima模型,且對(duì)于波動(dòng)幅度大的數(shù)據(jù)的擬合優(yōu)于bp神經(jīng)網(wǎng)絡(luò),但仍有提升空間。而本發(fā)明的預(yù)測(cè)方法由于結(jié)合了lstm和arma的優(yōu)勢(shì),能夠兼顧趨勢(shì)預(yù)測(cè)與細(xì)節(jié)波動(dòng)。

圖9是各種預(yù)測(cè)方法的預(yù)測(cè)結(jié)果對(duì)比圖。其中,縱坐標(biāo)表示出口總值,其單位是千美元,橫坐標(biāo)表示時(shí)間,其單位是月份。并且其中,線條a表示真實(shí)數(shù)據(jù),線條b表示采用本發(fā)明的預(yù)測(cè)方法得到的數(shù)據(jù),線條c表示采用arima模型得到的數(shù)據(jù),線條d表示采用lstm模型得到的數(shù)據(jù),線條e表示采用bp模型得到的數(shù)據(jù)。線條e表明,bp模型對(duì)于訓(xùn)練集外的樣本泛化能力明顯不足,它只能預(yù)測(cè)一個(gè)大概范圍,不能對(duì)細(xì)節(jié)波動(dòng)作出準(zhǔn)確的預(yù)測(cè)。且由圖9可以看出,本發(fā)明方法優(yōu)于傳統(tǒng)預(yù)測(cè)方法和單獨(dú)使用lstm模型的預(yù)測(cè)方法。特別是在2016年10月這個(gè)時(shí)間點(diǎn),本發(fā)明預(yù)測(cè)方法的預(yù)測(cè)效果明顯優(yōu)于單獨(dú)使用lstm模型的方法。采用本發(fā)明預(yù)測(cè)方法得到的數(shù)據(jù)與實(shí)際生活中,因春節(jié)所致的2月份出口明顯下滑的事實(shí)非常吻合。可見,本發(fā)明的預(yù)測(cè)方法能夠充分學(xué)習(xí)復(fù)雜的宏觀經(jīng)濟(jì)數(shù)據(jù)中蘊(yùn)含的信息,并做出科學(xué)的預(yù)測(cè),具有較高的參考價(jià)值。

下面使用mape(平均絕對(duì)百分比誤差)、mae(平均絕對(duì)誤差)、mse(均方誤差)、sse(平方和誤差)以及上文提到的mspe這5個(gè)指標(biāo)對(duì)本發(fā)明預(yù)測(cè)方法與其他預(yù)測(cè)方法進(jìn)行誤差比較,表1、表2示出了各預(yù)測(cè)方法的擬合誤差對(duì)比和預(yù)測(cè)誤差對(duì)比。其中,表1示出了各預(yù)測(cè)方法的擬合誤差,表2示出了各預(yù)測(cè)方法進(jìn)行12期預(yù)測(cè)的預(yù)測(cè)誤差。誤差指標(biāo)計(jì)算公式如下:

其中,yt為真實(shí)值,為預(yù)測(cè)值。

表1

表2

通過上述測(cè)試可以看出,本發(fā)明通過相對(duì)于其他傳統(tǒng)方法如bp神經(jīng)網(wǎng)絡(luò)法具有更準(zhǔn)確預(yù)測(cè)效果。本發(fā)明不僅能達(dá)到較高的預(yù)測(cè)精度,還能夠使建模計(jì)算過程簡單易于操作。本發(fā)明的預(yù)測(cè)方法通過小波分解,不僅增強(qiáng)對(duì)時(shí)間序列細(xì)節(jié)的學(xué)習(xí)能力,而且能將arma和lstm的優(yōu)勢(shì)結(jié)合。其有益效果是不僅預(yù)測(cè)精度上優(yōu)于目前已有的預(yù)測(cè)方法,還能準(zhǔn)確地預(yù)測(cè)外生因素的沖擊。

本發(fā)明還公開了一種時(shí)間序列數(shù)據(jù)的預(yù)測(cè)系統(tǒng),如圖10所示,所述系統(tǒng)包括:

分解模塊,用于對(duì)由t-1個(gè)時(shí)刻的數(shù)據(jù)組成的序列進(jìn)行小波分解,得到n個(gè)子序列,其中每個(gè)子序列由相應(yīng)的t-1個(gè)時(shí)刻的數(shù)據(jù)組成。其中,t為大于1的自然數(shù),n為大于等于2的自然數(shù);

檢測(cè)模塊,用于對(duì)所述n個(gè)子序列分別進(jìn)行平穩(wěn)性檢測(cè),其中有j個(gè)平穩(wěn)子序列和n-j個(gè)非平穩(wěn)子序列,其中j為大于等于1且小于等于n的自然數(shù);

平穩(wěn)序列預(yù)測(cè)模塊,用于利用j個(gè)平穩(wěn)子序列t-1個(gè)時(shí)刻的數(shù)據(jù)分別建立arma模型,并分別預(yù)測(cè)每個(gè)平穩(wěn)子序列t時(shí)刻的數(shù)據(jù),并將預(yù)測(cè)的各平穩(wěn)子序列的t時(shí)刻的數(shù)據(jù)求和得到所述時(shí)間序列的t時(shí)刻的第一預(yù)測(cè)值;

非平穩(wěn)序列預(yù)測(cè)模塊,用于利用n-j個(gè)非平穩(wěn)子序列t-1個(gè)時(shí)刻的數(shù)據(jù)分別建立lstm模型,并分別預(yù)測(cè)每個(gè)非平穩(wěn)子序列t時(shí)刻的數(shù)據(jù),并將預(yù)測(cè)的各非平穩(wěn)子序列t時(shí)刻的數(shù)據(jù)求和得到所述時(shí)間序列的t時(shí)刻的第二預(yù)測(cè)值;

求和模塊,用于將所述時(shí)間序列的t時(shí)刻的所述第一預(yù)測(cè)值和所述第二預(yù)測(cè)值求和,獲得所述時(shí)間序列的t時(shí)刻的預(yù)測(cè)數(shù)據(jù)。

其中,所述非平穩(wěn)序列預(yù)測(cè)模塊還用于通過以下計(jì)算公式預(yù)測(cè)每個(gè)非平穩(wěn)子序列t時(shí)刻的數(shù)據(jù):

其中,wh1,b1分別為第一權(quán)值和第一偏置,w12,b2分別為第二權(quán)值和第二偏置,w23,b3分別為第三權(quán)值和第三偏置,s表示向量ht(ht1,ht2,…,hts)中包括的元素的個(gè)數(shù),且s為大于等于1的自然數(shù),

并且,relu函數(shù)的定義為reluf(x)=max(0,x),

并且,向量ht(ht1,ht2,…,hts)中各元素ht1,ht2,…,hts均通過以下公式迭代計(jì)算:

it=sigmoid(whiht-1+wxixt),

ft=sigmoid(whfht-1+wxfxt),

ct=ft⊙ct-1+it⊙tanh(whcht-1+wxcxt),

ot=sigmoid(whoht-1+whxxt+wcoct),

ht=ot⊙tanh(ct),

其中,xt=xt(xt-period,xt-period...,xt-1)為從t時(shí)刻之前的數(shù)據(jù)中選取的連續(xù)數(shù)據(jù)組成的連續(xù)序列,其中,period為序列xt中包含元素的個(gè)數(shù),whi、wxi、whf、wxf、whc、wxc、who、whx、wco分別為不同的權(quán)重,h1為初始狀態(tài)值,為0。

其中,權(quán)重whi、wxi、whf、wxf、whc、wxc、who、whx、wco的初始值為隨機(jī)數(shù)。

其中,所述分解模塊還用于利用db小波對(duì)由t-1個(gè)時(shí)刻的數(shù)據(jù)組成的序列進(jìn)行小波分解,且進(jìn)行小波分解的層數(shù)為3層。

其中,所述平穩(wěn)序列預(yù)測(cè)模塊還用于通過下述計(jì)算公式預(yù)測(cè)每個(gè)平穩(wěn)子序列t時(shí)刻的數(shù)據(jù):

其中,表示每個(gè)平穩(wěn)子序列t時(shí)刻的數(shù)據(jù),p,q分別是所述arma模型的自回歸階數(shù)和滑動(dòng)平均階數(shù),h1,h2,…,hp和θ1,θ2,…,θq是系數(shù);et是誤差項(xiàng)。

本發(fā)明通過將長短時(shí)間記憶(longshort-termmemory,lstm)深度學(xué)習(xí)模型和自回歸滑動(dòng)平均模型(auto-regressivemoving-average,arma)結(jié)合對(duì)時(shí)間序列數(shù)據(jù)進(jìn)行預(yù)測(cè),不需要繁雜的特征提取,且相對(duì)于其他傳統(tǒng)方法如bp神經(jīng)網(wǎng)絡(luò)法具有更準(zhǔn)確預(yù)測(cè)效果。本發(fā)明不僅能達(dá)到較高的預(yù)測(cè)精度,還能夠使建模計(jì)算過程簡單易于操作。

上面描述的內(nèi)容可以單獨(dú)地或者以各種方式組合起來實(shí)施,而這些變型方式都在本發(fā)明的保護(hù)范圍之內(nèi)。

最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制。盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
杭州市| 威信县| 洮南市| 海安县| 多伦县| 长乐市| 桦南县| 台中市| 鹤山市| 揭西县| 广河县| 惠来县| 商洛市| 东至县| 繁昌县| 宁明县| 清原| 临西县| 哈尔滨市| 商丘市| 安福县| 沛县| 洛南县| 保德县| 屯昌县| 白城市| 宿州市| 台湾省| 乐清市| 长岛县| 都安| 兴义市| 新龙县| 兰州市| 紫金县| 饶河县| 双牌县| 吴堡县| 林甸县| 绥德县| 丁青县|