專利名稱:基于支持向量回歸的時(shí)間序列預(yù)測(cè)方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本申請(qǐng)涉及時(shí)間序列預(yù)測(cè)領(lǐng)域,特別是涉及一種基于支持向量回歸的時(shí)間序列預(yù)測(cè)方法及系統(tǒng)。
背景技術(shù):
時(shí)間序列是一個(gè)有序的觀測(cè)數(shù)據(jù)序列,其體現(xiàn)了某個(gè)現(xiàn)象的某一個(gè)統(tǒng)計(jì)指標(biāo)在時(shí)間上的分布情況,如某地區(qū)在10月1號(hào)至15號(hào)的用電負(fù)荷數(shù)據(jù)。時(shí)間序列預(yù)測(cè)方法則是利用已獲得的歷史時(shí)間序列集合,分析集合中的歷史數(shù)據(jù)的內(nèi)在統(tǒng)計(jì)學(xué)特性和發(fā)展規(guī)律, 獲得預(yù)測(cè)數(shù)據(jù)以顯示數(shù)據(jù)的發(fā)展趨勢(shì)。目前常用的時(shí)間序列預(yù)測(cè)方法為基于單個(gè)SVR(Support Vector Regression,支持向量回歸)的時(shí)間預(yù)測(cè)方法,該方法首先從已有的時(shí)間序列數(shù)據(jù)集選取歷史數(shù)據(jù),得出一個(gè)訓(xùn)練數(shù)據(jù)集,其中訓(xùn)練數(shù)據(jù)集包括多個(gè)已有的時(shí)間序列數(shù)據(jù)子集和與各個(gè)時(shí)間序列數(shù)據(jù)子集對(duì)應(yīng)的預(yù)測(cè)值,任一時(shí)間序列數(shù)據(jù)子集和其對(duì)應(yīng)的預(yù)測(cè)值為時(shí)間序列數(shù)據(jù)集中的歷史數(shù)據(jù);其次,確定待構(gòu)建的SVR模型的正則參數(shù)和高斯核參數(shù),依據(jù)所述正則參數(shù)和高斯核參數(shù),對(duì)訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練,構(gòu)建SVR模型,之后選取t-d+Ι時(shí)刻至當(dāng)前t時(shí)刻之間的 d個(gè)歷史數(shù)據(jù)作為SVR模型的輸入數(shù)據(jù),預(yù)測(cè)t+Ι時(shí)刻的數(shù)據(jù),其中d為時(shí)延;最后,將預(yù)測(cè)出的t+Ι時(shí)刻的數(shù)據(jù)加入到d個(gè)歷史數(shù)據(jù)中,且同時(shí)將d個(gè)歷史數(shù)據(jù)中最先獲得的數(shù)據(jù)刪除,重復(fù)上述步驟直至獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值,其中,最先獲得的數(shù)據(jù)為獲得時(shí)間最早的數(shù)據(jù)。即在預(yù)測(cè)t+2時(shí)刻的數(shù)據(jù)時(shí)將包含有t+Ι時(shí)刻的d個(gè)歷史數(shù)據(jù)作為SVR模型的輸入數(shù)據(jù)進(jìn)行預(yù)測(cè)。也就是說在預(yù)測(cè)t+i時(shí)刻的數(shù)據(jù)時(shí),將包含有t+i-Ι時(shí)刻的d個(gè)歷史數(shù)據(jù)作為SVR模型的輸入數(shù)據(jù)進(jìn)行預(yù)測(cè),這種預(yù)測(cè)方式稱為基于單個(gè)SVR模型的一步時(shí)間預(yù)測(cè)方法。然而,基于單個(gè)SVR模型的一步時(shí)間預(yù)測(cè)方法在一步預(yù)測(cè)過程中都會(huì)存在一個(gè)預(yù)測(cè)誤差,該預(yù)測(cè)誤差在數(shù)據(jù)預(yù)測(cè)的反復(fù)迭代過程中,即多步預(yù)測(cè)過程會(huì)隨著預(yù)測(cè)次數(shù)的增加而累積,預(yù)測(cè)誤差的累積直接降低預(yù)測(cè)得出的數(shù)據(jù)的精確度。
發(fā)明內(nèi)容
有鑒于此,本申請(qǐng)實(shí)施例公開一種基于支持向量回歸的時(shí)間序列預(yù)測(cè)方法及系統(tǒng),以解決現(xiàn)有單個(gè)SVR模型的一步時(shí)間預(yù)測(cè)方法在預(yù)測(cè)過程中,預(yù)測(cè)次數(shù)的增加而累積, 預(yù)測(cè)誤差隨預(yù)測(cè)次數(shù)增加而累積,這種累積直接降低預(yù)測(cè)得出的數(shù)據(jù)的精確度的問題。技術(shù)方案如下基于本申請(qǐng)實(shí)施例的一方面,公開一種基于支持向量回歸的時(shí)間序列預(yù)測(cè)方法, 包括從已有的時(shí)間序列數(shù)據(jù)集中選取歷史數(shù)據(jù),得出多個(gè)訓(xùn)練數(shù)據(jù)集;確定待構(gòu)建的SVR模型的正則參數(shù)和高斯核參數(shù),依據(jù)所述正則參數(shù)和高斯核參數(shù),分別對(duì)每個(gè)訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練,構(gòu)建自身對(duì)應(yīng)的支持向量回歸SVR模型;
選取t-Τ+Ι時(shí)刻至當(dāng)前t時(shí)刻之間的T個(gè)歷史數(shù)據(jù),其中,T為所述SVR模型的個(gè)數(shù);在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值小于等于所述SVR模型的個(gè)數(shù)的情況下,選取與所述第一差值對(duì)應(yīng)的SVR模型,對(duì)所述T個(gè)歷史數(shù)據(jù)直接利用該SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值。優(yōu)選地,還包括在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值大于所述SVR模型的個(gè)數(shù)的情況下,對(duì)所述τ個(gè)歷史數(shù)據(jù)利用多個(gè)SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值。優(yōu)選地,所述對(duì)T個(gè)歷史數(shù)據(jù)利用多個(gè)SVR模型直接獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值包括在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值大于所述SVR模型的個(gè)數(shù)的情況下,利用選取的T 個(gè)歷史數(shù)據(jù)分別對(duì)應(yīng)的SVR模型,得出T個(gè)歷史數(shù)據(jù)自身的預(yù)測(cè)值;將所述得出的T個(gè)歷史數(shù)據(jù)自身的預(yù)測(cè)值更新為選取的t-Τ+Ι時(shí)刻至當(dāng)前t時(shí)刻之間的τ個(gè)歷史數(shù)據(jù),并將所述第一差值與SVR模型的個(gè)數(shù)的第二差值作為被測(cè)時(shí)刻;判斷該被測(cè)時(shí)刻與當(dāng)前時(shí)刻的差值是否大于所述SVR模型的個(gè)數(shù),在所述差值小于等于所述SVR模型的個(gè)數(shù)的情況下,執(zhí)行選取與所述第一差值對(duì)應(yīng)的SVR模型,對(duì)所述 T個(gè)歷史數(shù)據(jù)直接利用該SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值的步驟,在所述差值大于所述 SVR模型的個(gè)數(shù)的情況下,執(zhí)行利用選取的T個(gè)歷史數(shù)據(jù)分別對(duì)應(yīng)的SVR模型,得出T個(gè)歷史數(shù)據(jù)自身的預(yù)測(cè)值的步驟。優(yōu)選地,采用交叉驗(yàn)證方法,確定待構(gòu)建的SVR模型的正則參數(shù)和高斯核參數(shù)。優(yōu)選地,不同訓(xùn)練數(shù)據(jù)集包括的時(shí)間序列數(shù)據(jù)子集個(gè)數(shù)不同?;诒旧暾?qǐng)實(shí)施例的另一方面,公開一種基于支持向量回歸的時(shí)間序列預(yù)測(cè)系統(tǒng),其特征在于,包括數(shù)據(jù)集得出模塊,用于從已有的時(shí)間序列數(shù)據(jù)集中選取歷史數(shù)據(jù),得出多個(gè)訓(xùn)練數(shù)據(jù)集;SVR模型構(gòu)建模塊,用于確定待構(gòu)建的SVR模型的正則參數(shù)和高斯核參數(shù),依據(jù)所述正則參數(shù)和高斯核參數(shù),分別對(duì)每個(gè)訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練,構(gòu)建自身對(duì)應(yīng)的支持向量回歸SVR模型;數(shù)據(jù)選取模塊,用于選取t-Τ+Ι時(shí)刻至當(dāng)前t時(shí)刻之間的T個(gè)歷史數(shù)據(jù),其中,T為所述SVR模型的個(gè)數(shù);第一預(yù)測(cè)模塊,用于在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值小于等于所述SVR模型的個(gè)數(shù)的情況下,選取與所述第一差值對(duì)應(yīng)的SVR模型,對(duì)所述T個(gè)歷史數(shù)據(jù)直接利用該 SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值。優(yōu)選地,還包括第二預(yù)測(cè)模塊,用于在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值大于所述SVR模型的個(gè)數(shù)的情況下,對(duì)所述T個(gè)歷史數(shù)據(jù)利用多個(gè)SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值。優(yōu)選地,所述第二預(yù)測(cè)模塊包括預(yù)測(cè)值得出單元,用于在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值大于所述SVR模型的個(gè)數(shù)的情況下,利用選取的T個(gè)歷史數(shù)據(jù)分別對(duì)應(yīng)的SVR模型,得出T個(gè)歷史數(shù)據(jù)自身的預(yù)測(cè)值;更新單元,用于將所述得出的T個(gè)歷史數(shù)據(jù)自身的預(yù)測(cè)值更新為選取的t-Τ+Ι時(shí)刻至當(dāng)前t時(shí)刻之間的T個(gè)歷史數(shù)據(jù),并將所述第一差值與SVR模型的個(gè)數(shù)的第二差值作為被測(cè)時(shí)刻;判斷單元,用于判斷該被測(cè)時(shí)刻與當(dāng)前時(shí)刻的差值是否大于所述SVR模型的個(gè)數(shù);觸發(fā)器,用于在所述差值小于等于所述SVR模型的個(gè)數(shù)的情況下,觸發(fā)所述第一預(yù)測(cè)模塊,在所述差值大于所述SVR模型的個(gè)數(shù)的情況下,觸發(fā)所述第二預(yù)測(cè)模塊。優(yōu)選地,所述SVR模型構(gòu)建模塊具體采用交叉驗(yàn)證方法,確定待構(gòu)建的SVR模型的正則參數(shù)和高斯核參數(shù)。優(yōu)選地,數(shù)據(jù)集得出模塊得出的不同訓(xùn)練數(shù)據(jù)集包括的時(shí)間序列數(shù)據(jù)子集個(gè)數(shù)不同。應(yīng)用上述技術(shù)方案,在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值小于等于SVR模型的個(gè)數(shù)的情況下,選取與差值對(duì)應(yīng)的SVR模型,對(duì)選取的t-Τ+Ι時(shí)刻至當(dāng)前t時(shí)刻之間的T個(gè)歷史數(shù)據(jù),直接利用該SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值。本申請(qǐng)的一步預(yù)測(cè)獲得預(yù)測(cè)值的方式相對(duì)于現(xiàn)有技術(shù)多步預(yù)測(cè)獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值的方式,預(yù)測(cè)誤差的累積減少,進(jìn)而獲得預(yù)測(cè)值的精確度提高。
為了更清楚地說明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下, 還可以根據(jù)這些附圖獲得其他的附圖。圖1為本申請(qǐng)實(shí)施例公開的基于支持向量回歸的時(shí)間序列預(yù)測(cè)方法的一種流程圖;圖2為本申請(qǐng)實(shí)施例公開的基于支持向量回歸的時(shí)間序列預(yù)測(cè)方法的另一種流程圖;圖3為本申請(qǐng)實(shí)施例公開的基于支持向量回歸的時(shí)間序列預(yù)測(cè)系統(tǒng)的一種結(jié)構(gòu)示意圖;圖4為本申請(qǐng)實(shí)施例公開的基于支持向量回歸的時(shí)間序列預(yù)測(cè)系統(tǒng)的另一種結(jié)構(gòu)示意圖;圖5為本申請(qǐng)實(shí)施例公開的基于支持向量回歸的時(shí)間序列預(yù)測(cè)系統(tǒng)中第二預(yù)測(cè)模塊的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本申請(qǐng)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)的說明。一個(gè)實(shí)施例請(qǐng)參閱圖1,示出了本申請(qǐng)一種在線業(yè)務(wù)請(qǐng)求識(shí)別方法實(shí)施例1的流程圖,可以包括以下步驟SlOl 從已有的時(shí)間序列數(shù)據(jù)集中選取歷史數(shù)據(jù),得出多個(gè)訓(xùn)練數(shù)據(jù)集。
其中,每個(gè)訓(xùn)練數(shù)據(jù)集包括多個(gè)已有的時(shí)間序列數(shù)據(jù)子集和與各個(gè)時(shí)間序列數(shù)據(jù)子集對(duì)應(yīng)的預(yù)測(cè)值,任一時(shí)間序列數(shù)據(jù)子集和其對(duì)應(yīng)的預(yù)測(cè)值為所述時(shí)間序列數(shù)據(jù)集中的歷史數(shù)據(jù)。假設(shè)時(shí)間序列數(shù)據(jù)集中歷史數(shù)據(jù)為x(k),k = 0,l,…,t_l,t為當(dāng)前時(shí)刻,得出的訓(xùn)練數(shù)據(jù)集的個(gè)數(shù)為T個(gè),第j個(gè)訓(xùn)練數(shù)據(jù)集可以用h表示,其中& ={ k,yk}Z+]_2,第 j個(gè)訓(xùn)練數(shù)據(jù)集h包括t-d-j+l個(gè)時(shí)間序列數(shù)據(jù)子集uk,uk = [x(k-d+l)…x(k-l)x(k)] T e Rd,每個(gè)時(shí)間序列數(shù)據(jù)子集uk對(duì)應(yīng)有一個(gè)預(yù)測(cè)值yk,yk = x(k+j) e R,R表示實(shí)數(shù)集,任一時(shí)間序列數(shù)據(jù)子集和其對(duì)應(yīng)的預(yù)測(cè)值為所述時(shí)間序列數(shù)據(jù)集中的歷史數(shù)據(jù),d為時(shí)延,表示每個(gè)時(shí)間序列數(shù)據(jù)子集Uk的樣本空間維數(shù),d = T。上述多個(gè)訓(xùn)練數(shù)據(jù)集中,由于不同訓(xùn)練數(shù)據(jù)集的j取值不同,所以不同訓(xùn)練數(shù)據(jù)集包括的時(shí)間序列數(shù)據(jù)子集個(gè)數(shù)不同。S102 確定待構(gòu)建的SVR模型的正則參數(shù)和高斯核參數(shù),依據(jù)所述正則參數(shù)和高斯核參數(shù),分別對(duì)每個(gè)訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練,構(gòu)建自身對(duì)應(yīng)的支持向量回歸SVR模型。確定待構(gòu)建的SVR模型的正則參數(shù)和高斯核參數(shù)可以采用現(xiàn)有方法,如交叉驗(yàn)證方法確定正則參數(shù)和高斯核參數(shù)。對(duì)于任一訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練構(gòu)建與其對(duì)應(yīng)的SVR模型的過程與現(xiàn)有基于單個(gè) SVR模型的一步時(shí)間預(yù)測(cè)方法中SVR模型的構(gòu)建過程相同,以第j個(gè)訓(xùn)練數(shù)據(jù)集h來說,即可以利用其內(nèi)的時(shí)間序列數(shù)據(jù)子集Uk和每個(gè)時(shí)間序列數(shù)據(jù)子集Uk對(duì)應(yīng)的yk進(jìn)行訓(xùn)練,獲得第j個(gè)訓(xùn)練數(shù)據(jù)集^對(duì)應(yīng)的第j個(gè)SVR模型,具體訓(xùn)練過程不再加以闡述。S103 選取t-Τ+Ι時(shí)刻至當(dāng)前t時(shí)刻之間的T個(gè)歷史數(shù)據(jù)。其中,選取的T個(gè)歷史數(shù)據(jù)分別為x(t_T+l),…,x(t-l),x(t),其組成一個(gè)時(shí)間序列數(shù)據(jù)子集 Ut,ut = [χ (t-T+1)…X (t-1) X (t) ]τ。S104 判斷被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值是否大于SVR模型的個(gè)數(shù),在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值小于等于所述SVR模型的個(gè)數(shù)的情況下,執(zhí)行步驟S105 ;在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值大于所述SVR模型的個(gè)數(shù)的情況下,執(zhí)行步驟S106。假設(shè)預(yù)測(cè)步長(zhǎng)為τ,則被測(cè)時(shí)刻為t+ τ,被測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值則為預(yù)測(cè)步長(zhǎng)τ。訓(xùn)練數(shù)據(jù)集的個(gè)數(shù)為T個(gè),則SVR模型的個(gè)數(shù)也為T個(gè)。因此,在判斷第一差值是否大于SVR模型的個(gè)數(shù)時(shí),即可以通過判斷τ與T的大小來判斷。S105:選取與第一差值對(duì)應(yīng)的SVR模型,對(duì)T個(gè)歷史數(shù)據(jù)直接利用該SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值。其中選取與第一差值對(duì)應(yīng)的SVR模型為選取第τ個(gè)SVR模型。再對(duì)T個(gè)歷史數(shù)據(jù)直接利用第τ個(gè)SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值。S106 對(duì)T個(gè)歷史數(shù)據(jù)利用多個(gè)SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值。步驟S106是在第一差值大于所述SVR模型的個(gè)數(shù)的情況下,利用多個(gè)SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值,在此過程中需要對(duì)T個(gè)歷史數(shù)據(jù)以及被測(cè)時(shí)刻進(jìn)行更新,在重新判斷被測(cè)時(shí)刻和當(dāng)前時(shí)刻的差值是否大于SVR模型的個(gè)數(shù),并在不同情況下執(zhí)行不同過程,具體請(qǐng)參閱圖2。圖2為本申請(qǐng)實(shí)施例公開的基于支持向量回歸的時(shí)間序列預(yù)測(cè)方法的另一種流程圖,其在圖1基礎(chǔ)上,詳細(xì)介紹了步驟S106。步驟S106可以包括如下步驟
S1061 利用選取的T個(gè)歷史數(shù)據(jù)分別對(duì)應(yīng)的SVR模型,得出T個(gè)歷史數(shù)據(jù)自身的
預(yù)測(cè)值。其中,T個(gè)歷史數(shù)據(jù)分別對(duì)應(yīng)的SVR模型為歷史數(shù)據(jù)x(t_T+l)對(duì)應(yīng)由訓(xùn)練數(shù)據(jù)集SJII練得出的第1個(gè)SVR模型,歷史數(shù)據(jù)x(t_T+2)對(duì)應(yīng)由訓(xùn)練數(shù)據(jù)集&訓(xùn)練得出的第
2個(gè)SVR模型,......,以此類推,歷史數(shù)據(jù)x(t)對(duì)應(yīng)由訓(xùn)練數(shù)據(jù)集&訓(xùn)練得出的第T個(gè)
SVR模型。每個(gè)歷史數(shù)據(jù)分別使用自身對(duì)應(yīng)的SVR模型進(jìn)行預(yù)測(cè),得出預(yù)測(cè)值。需要說明的是本步驟歷史數(shù)據(jù)在進(jìn)行預(yù)測(cè)時(shí),預(yù)測(cè)步長(zhǎng)互不相同,歷史數(shù)據(jù)
x(t-T+l)的預(yù)測(cè)步長(zhǎng)為1,歷史數(shù)據(jù)x(t-T+2)的預(yù)測(cè)步長(zhǎng)為2,......,以此類推,歷史數(shù)據(jù)
x(t)的預(yù)測(cè)步長(zhǎng)為Τ。T個(gè)歷史數(shù)據(jù)得出的預(yù)測(cè)值可以分別為4 + 1)3( + 2),···3( + Γ)。S1062:將所述得出的T個(gè)歷史數(shù)據(jù)自身的預(yù)測(cè)值更新為選取的t-T+1時(shí)刻至當(dāng)前 t時(shí)刻之間的T個(gè)歷史數(shù)據(jù),并將所述第一差值與SVR模型的個(gè)數(shù)的第二差值作為被測(cè)時(shí)刻。上述提及,第一差值為預(yù)測(cè)步長(zhǎng)τ,則被測(cè)時(shí)刻為τ-Τ。S1063:判斷該被測(cè)時(shí)刻與當(dāng)前時(shí)刻的差值是否大于所述SVR模型的個(gè)數(shù),在所述差值小于等于所述SVR模型的個(gè)數(shù)的情況下,執(zhí)行步驟S105 ;在所述差值大于所述SVR模型的個(gè)數(shù)的情況下,返回執(zhí)行步驟S1061。應(yīng)用上述技術(shù)方案,在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值小于等于SVR模型的個(gè)數(shù)的情況下,選取與差值對(duì)應(yīng)的SVR模型,對(duì)選取的t-Τ+Ι時(shí)刻至當(dāng)前t時(shí)刻之間的T個(gè)歷史數(shù)據(jù),直接利用該SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值。本申請(qǐng)的一步預(yù)測(cè)獲得預(yù)測(cè)值的方式相對(duì)于現(xiàn)有技術(shù)多步預(yù)測(cè)獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值的方式,預(yù)測(cè)誤差的累積減少,進(jìn)而獲得預(yù)測(cè)值的精確度提高。更進(jìn)一步地,在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值大于SVR模型的個(gè)數(shù)的情況下,T個(gè)歷史數(shù)據(jù)分別使用自身對(duì)應(yīng)的SVR模型進(jìn)行預(yù)測(cè),得出T個(gè)預(yù)測(cè)值。同時(shí)將T個(gè)歷史數(shù)據(jù)更新為T個(gè)預(yù)測(cè)值,將第一差值與SVR模型的個(gè)數(shù)的第二差值作為被測(cè)時(shí)刻,在重新判斷被測(cè)時(shí)刻與當(dāng)前時(shí)刻的差值是否大于所述SVR模型的個(gè)數(shù),直至差值小于等于SVR模型的個(gè)數(shù)。雖然,上述步驟導(dǎo)致了預(yù)測(cè)誤差的累積,但是該預(yù)測(cè)誤差累積小于現(xiàn)有單個(gè)SVR 模型的一步時(shí)間預(yù)測(cè)方法中預(yù)測(cè)誤差的累積,同樣可以提高預(yù)測(cè)值的精確度。下面通過實(shí)驗(yàn)對(duì)比結(jié)果驗(yàn)證本申請(qǐng)實(shí)施例提供的基于支持向量回歸的時(shí)間序列預(yù)測(cè)方法的有效性。仿真數(shù)據(jù)產(chǎn)生自Mackey-Glass時(shí)序系統(tǒng),Mackey-Glass時(shí)序系統(tǒng)是一個(gè)時(shí)延的
dx… 0.2x(t-S)
非線性微分系統(tǒng),其形式為1 = -0.1坊)+1 + ‘ —彳。。其中,δ = 17。產(chǎn)生1000個(gè)歷史數(shù)
據(jù),令時(shí)延d = 6,則T = 6。從k = 5開始獲取歷史數(shù)據(jù),第一個(gè)時(shí)間序列數(shù)據(jù)子集為U5 = [x (0) "·χ (4) χ (5) ]τ,依此類推,6個(gè)SVR模型對(duì)應(yīng)的訓(xùn)練數(shù)據(jù)集h的大小為994,993,992, 991,990和989。分別取前600個(gè)歷史數(shù)據(jù)構(gòu)成訓(xùn)練訓(xùn)練集。。實(shí)驗(yàn)分別進(jìn)行五步預(yù)測(cè)、十步預(yù)測(cè)和一百步預(yù)測(cè),S卩τ = 5,τ = 10和τ = 100。 實(shí)驗(yàn)采用兩種方式構(gòu)建SVR模型,一種是每個(gè)時(shí)間序列數(shù)據(jù)子集Uk對(duì)應(yīng)的預(yù)測(cè)值yk中未加入噪聲,一種是預(yù)測(cè)值yk中加白噪聲,信噪比為3 1。SVR模型的參數(shù)設(shè)置為正則參數(shù)C = 10,高斯核參數(shù)為0. 25。本實(shí)驗(yàn)對(duì)6個(gè)SVR模型分別進(jìn)行訓(xùn)練,然后對(duì)不同預(yù)測(cè)步長(zhǎng)計(jì)算得出預(yù)測(cè)值。在本實(shí)施例中若τ =5,預(yù)測(cè)步長(zhǎng),即第一差值小于SVR模型的個(gè)數(shù),因此,本實(shí)驗(yàn)可以直接采用第5個(gè)SVR模型進(jìn)行預(yù)測(cè)得出預(yù)測(cè)值。而對(duì)于τ =10和τ = 100,本實(shí)驗(yàn)采用多個(gè)SVR模型進(jìn)行預(yù)測(cè)得出預(yù)測(cè)值。本實(shí)驗(yàn)是對(duì)50次預(yù)測(cè)的平均,其校驗(yàn)性能參數(shù)包括均方差和檢驗(yàn)時(shí)間,實(shí)驗(yàn)結(jié)果請(qǐng)參見表1。表1 檢驗(yàn)性能對(duì)比
權(quán)利要求
1.一種基于支持向量回歸的時(shí)間序列預(yù)測(cè)方法,其特征在于,包括從已有的時(shí)間序列數(shù)據(jù)集中選取歷史數(shù)據(jù),得出多個(gè)訓(xùn)練數(shù)據(jù)集;確定待構(gòu)建的SVR模型的正則參數(shù)和高斯核參數(shù),依據(jù)所述正則參數(shù)和高斯核參數(shù), 分別對(duì)每個(gè)訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練,構(gòu)建自身對(duì)應(yīng)的支持向量回歸SVR模型;選取t-Τ+Ι時(shí)刻至當(dāng)前t時(shí)刻之間的T個(gè)歷史數(shù)據(jù),其中,T為所述SVR模型的個(gè)數(shù);在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值小于等于所述SVR模型的個(gè)數(shù)的情況下,選取與所述第一差值對(duì)應(yīng)的SVR模型,對(duì)所述T個(gè)歷史數(shù)據(jù)直接利用該SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值。
2.根據(jù)權(quán)利要求1所述的基于支持向量回歸的時(shí)間序列預(yù)測(cè)方法,其特征在于,還包括在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值大于所述SVR模型的個(gè)數(shù)的情況下,對(duì)所述T個(gè)歷史數(shù)據(jù)利用多個(gè)SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值。
3.根據(jù)權(quán)利要求2所述的基于支持向量回歸的時(shí)間序列預(yù)測(cè)方法,其特征在于,所述對(duì)T個(gè)歷史數(shù)據(jù)利用多個(gè)SVR模型直接獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值包括在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值大于所述SVR模型的個(gè)數(shù)的情況下,利用選取的T個(gè)歷史數(shù)據(jù)分別對(duì)應(yīng)的SVR模型,得出T個(gè)歷史數(shù)據(jù)自身的預(yù)測(cè)值;將所述得出的T個(gè)歷史數(shù)據(jù)自身的預(yù)測(cè)值更新為選取的t-Τ+Ι時(shí)刻至當(dāng)前t時(shí)刻之間的T個(gè)歷史數(shù)據(jù),并將所述第一差值與SVR模型的個(gè)數(shù)的第二差值作為被測(cè)時(shí)刻;判斷該被測(cè)時(shí)刻與當(dāng)前時(shí)刻的差值是否大于所述SVR模型的個(gè)數(shù),在所述差值小于等于所述SVR模型的個(gè)數(shù)的情況下,執(zhí)行選取與所述第一差值對(duì)應(yīng)的SVR模型,對(duì)所述T個(gè)歷史數(shù)據(jù)直接利用該SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值的步驟,在所述差值大于所述SVR模型的個(gè)數(shù)的情況下,執(zhí)行利用選取的T個(gè)歷史數(shù)據(jù)分別對(duì)應(yīng)的SVR模型,得出T個(gè)歷史數(shù)據(jù)自身的預(yù)測(cè)值的步驟。
4.根據(jù)權(quán)利要求1至3任意一項(xiàng)所述的基于支持向量回歸的時(shí)間序列預(yù)測(cè)方法,其特征在于,采用交叉驗(yàn)證方法,確定待構(gòu)建的SVR模型的正則參數(shù)和高斯核參數(shù)。
5.根據(jù)權(quán)利要求1至3任意一項(xiàng)所述的基于支持向量回歸的時(shí)間序列預(yù)測(cè)方法,其特征在于,不同訓(xùn)練數(shù)據(jù)集包括的時(shí)間序列數(shù)據(jù)子集個(gè)數(shù)不同。
6.一種基于支持向量回歸的時(shí)間序列預(yù)測(cè)系統(tǒng),其特征在于,包括數(shù)據(jù)集得出模塊,用于從已有的時(shí)間序列數(shù)據(jù)集中選取歷史數(shù)據(jù),得出多個(gè)訓(xùn)練數(shù)據(jù)集;SVR模型構(gòu)建模塊,用于確定待構(gòu)建的SVR模型的正則參數(shù)和高斯核參數(shù),依據(jù)所述正則參數(shù)和高斯核參數(shù),分別對(duì)每個(gè)訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練,構(gòu)建自身對(duì)應(yīng)的支持向量回歸SVR 模型;數(shù)據(jù)選取模塊,用于選取t-Τ+Ι時(shí)刻至當(dāng)前t時(shí)刻之間的T個(gè)歷史數(shù)據(jù),其中,T為所述SVR模型的個(gè)數(shù);第一預(yù)測(cè)模塊,用于在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值小于等于所述SVR模型的個(gè)數(shù)的情況下,選取與所述第一差值對(duì)應(yīng)的SVR模型,對(duì)所述T個(gè)歷史數(shù)據(jù)直接利用該SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值。
7.根據(jù)權(quán)利要求6所述的基于支持向量回歸的時(shí)間序列預(yù)測(cè)系統(tǒng),其特征在于,還包括第二預(yù)測(cè)模塊,用于在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值大于所述SVR模型的個(gè)數(shù)的情況下,對(duì)所述T個(gè)歷史數(shù)據(jù)利用多個(gè)SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值。
8.根據(jù)權(quán)利要求7所述的基于支持向量回歸的時(shí)間序列預(yù)測(cè)系統(tǒng),其特征在于,所述第二預(yù)測(cè)模塊包括預(yù)測(cè)值得出單元,用于在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值大于所述SVR模型的個(gè)數(shù)的情況下,利用選取的T個(gè)歷史數(shù)據(jù)分別對(duì)應(yīng)的SVR模型,得出T個(gè)歷史數(shù)據(jù)自身的預(yù)測(cè)值;更新單元,用于將所述得出的T個(gè)歷史數(shù)據(jù)自身的預(yù)測(cè)值更新為選取的t-Τ+Ι時(shí)刻至當(dāng)前t時(shí)刻之間的T個(gè)歷史數(shù)據(jù),并將所述第一差值與SVR模型的個(gè)數(shù)的第二差值作為被測(cè)時(shí)刻;判斷單元,用于判斷該被測(cè)時(shí)刻與當(dāng)前時(shí)刻的差值是否大于所述SVR模型的個(gè)數(shù);觸發(fā)器,用于在所述差值小于等于所述SVR模型的個(gè)數(shù)的情況下,觸發(fā)所述第一預(yù)測(cè)模塊,在所述差值大于所述SVR模型的個(gè)數(shù)的情況下,觸發(fā)所述第二預(yù)測(cè)模塊。
9.根據(jù)權(quán)利要求6至8任意一項(xiàng)所述的基于支持向量回歸的時(shí)間序列預(yù)測(cè)系統(tǒng),其特征在于,所述SVR模型構(gòu)建模塊具體采用交叉驗(yàn)證方法,確定待構(gòu)建的SVR模型的正則參數(shù)和高斯核參數(shù)。
10.根據(jù)權(quán)利要求6至8任意一項(xiàng)所述的基于支持向量回歸的時(shí)間序列預(yù)測(cè)系統(tǒng),其特征在于,數(shù)據(jù)集得出模塊得出的不同訓(xùn)練數(shù)據(jù)集包括的時(shí)間序列數(shù)據(jù)子集個(gè)數(shù)不同。
全文摘要
本申請(qǐng)公開了一種基于支持向量回歸的時(shí)間序列預(yù)測(cè)方法及系統(tǒng)。一種基于支持向量回歸的時(shí)間序列預(yù)測(cè)方法,包括從已有的時(shí)間序列數(shù)據(jù)集中選取歷史數(shù)據(jù),得出多個(gè)訓(xùn)練數(shù)據(jù)集;確定待構(gòu)建的SVR模型的正則參數(shù)和高斯核參數(shù),構(gòu)建每個(gè)訓(xùn)練數(shù)據(jù)集對(duì)應(yīng)的支持向量回歸SVR模型;選取t-T+1時(shí)刻至當(dāng)前t時(shí)刻之間的T個(gè)歷史數(shù)據(jù);在被預(yù)測(cè)時(shí)刻與當(dāng)前時(shí)刻的第一差值小于等于SVR模型的個(gè)數(shù)的情況下,選取與所述第一差值對(duì)應(yīng)的SVR模型,對(duì)T個(gè)歷史數(shù)據(jù)直接利用該SVR模型獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值。本申請(qǐng)的一步預(yù)測(cè)獲得預(yù)測(cè)值的方式相對(duì)于現(xiàn)有技術(shù)多步預(yù)測(cè)獲得被預(yù)測(cè)時(shí)刻的預(yù)測(cè)值的方式,預(yù)測(cè)誤差的累積減少,進(jìn)而獲得預(yù)測(cè)值的精確度提高。
文檔編號(hào)G06F17/30GK102360388SQ20111032048
公開日2012年2月22日 申請(qǐng)日期2011年10月20日 優(yōu)先權(quán)日2011年10月20日
發(fā)明者何書萍, 周偉達(dá), 張莉, 李凡長(zhǎng), 楊季文, 王邦軍 申請(qǐng)人:蘇州大學(xué)