邵海見,鄧 星
(1.江蘇科技大學(xué) 計(jì)算機(jī)學(xué)院,鎮(zhèn)江 212003) (2.東南大學(xué) 自動(dòng)化學(xué)院,南京 210096) (3.東南大學(xué) 復(fù)雜工程系統(tǒng)測量與控制教育部重點(diǎn)實(shí)驗(yàn)室,南京 210096)
混沌時(shí)間序列預(yù)測是時(shí)間序列預(yù)測的重要研究課題之一,其廣泛存在于信號處理、控制科學(xué)與模式識別等方向,比如天氣預(yù)報(bào)[1]和電力系統(tǒng)負(fù)荷預(yù)測[2]等.混沌時(shí)間可以用于描述自然界的自然現(xiàn)象和人類社會的群體行為等,精確的混沌時(shí)間序列的建模對于非線性時(shí)間序列的預(yù)測是非常重要的[3].由于混沌時(shí)間序列是一類非線性動(dòng)力系統(tǒng)產(chǎn)生的復(fù)雜隨機(jī)現(xiàn)象,而且通常容易受到初始值的影響[4],其預(yù)測問題相對于其他時(shí)間序列更為復(fù)雜.混沌時(shí)間序列預(yù)測一般稱作動(dòng)力系統(tǒng)中的“反問題”,也稱作利用混沌相空間中軌道的演化過程構(gòu)造非線性映射,考察混沌序列的現(xiàn)象[5].Mackey-Glass與Lorenz時(shí)間序列[4]是兩類經(jīng)典的混沌時(shí)間序列,由于其頻譜狀態(tài)豐富并且能反映不同狀態(tài)下的信號激勵(lì)特性,所以常用于預(yù)測模型構(gòu)造的測量序列.
目前混沌時(shí)間序列的預(yù)測方法主要分為模型預(yù)測法與混合預(yù)測法兩類.自回歸模型、自回歸滑動(dòng)模型、自回歸求和滑動(dòng)平均模型等模型的優(yōu)點(diǎn)是處理速度快,能夠應(yīng)用于在線處理.但是以上模型是線性模型,無法準(zhǔn)確描述本質(zhì)上就是非線性的混沌時(shí)間序列.相比較而言,非線性模型的應(yīng)用前景更好,并且已經(jīng)得到廣泛應(yīng)用,比如神經(jīng)網(wǎng)絡(luò)[6-7]、灰度模型[8]、支持向量回歸機(jī)[9]、進(jìn)化算法[10]等.雖然這些非線性方法在理論上可以無限逼近原始時(shí)間序列,但是這些方法沒有從根本上獲取混沌系統(tǒng)的時(shí)序特性.以自適應(yīng)濾波器和支持向量回歸機(jī)為例,前者的非線性耦合項(xiàng)在實(shí)際應(yīng)用中的實(shí)現(xiàn)非常困難,而且其嚴(yán)重依賴于所設(shè)計(jì)的模型參數(shù).后者的模型參數(shù),比如懲罰參數(shù)和核函數(shù)參數(shù)的選擇沒有統(tǒng)一標(biāo)準(zhǔn),而這些參數(shù)又嚴(yán)重影響系統(tǒng)性能,對于相空間中混沌時(shí)間序列的軌道演化過程難以把握,針對頻譜豐富的混沌時(shí)間序列更難以反映序列在不同狀態(tài)下的激勵(lì)特性,難以應(yīng)用于模型構(gòu)造序列的測量.混合模型方法主要基于模型和算法弱點(diǎn)提出,比如小波分解[11]和誤差補(bǔ)償策略[12]等,雖然混合模型方法在某些混沌時(shí)間序列預(yù)測上能夠解決單一模型的預(yù)測精度低等問題,但是這類方法由于沒有考察混沌系統(tǒng)的時(shí)序特性,其預(yù)測結(jié)果最終取決于單個(gè)模型的表現(xiàn),導(dǎo)致其穩(wěn)定性不高.文中基于RBF神經(jīng)網(wǎng)絡(luò)的模型結(jié)構(gòu)選擇策略,充分反映混沌系統(tǒng)的時(shí)序特性,建立高精度的預(yù)測模型.
文中分別介紹了基于RBF神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)選擇中的模型階次計(jì)算、變量選擇、參數(shù)優(yōu)化與結(jié)構(gòu)優(yōu)化,介紹了測量預(yù)測模型精度的指標(biāo)與相應(yīng)的實(shí)驗(yàn)評估.為充分反映混沌時(shí)間序列的時(shí)序特性,文中的模型結(jié)構(gòu)選擇主要從模型階次計(jì)算、變量選擇、參數(shù)優(yōu)化與結(jié)構(gòu)優(yōu)化4個(gè)方面進(jìn)行分析.
模型階次與輸出變量的關(guān)系非常緊密,由于模型階次或者最大時(shí)滯能充分反映系統(tǒng)的動(dòng)態(tài)持續(xù)性關(guān)系,所以對于模型階次的估計(jì)非常重要.MG時(shí)間序列在系統(tǒng)常數(shù)時(shí)滯≥17時(shí)呈現(xiàn)混沌狀態(tài),模型結(jié)構(gòu)選擇方法需要充分反映其豐富的頻譜狀態(tài)以及在不同狀態(tài)下的信號激勵(lì)特性,才能得到高精度的預(yù)測模型.以前饋神經(jīng)網(wǎng)絡(luò)的模型結(jié)構(gòu)選擇為例,在傳統(tǒng)的模型結(jié)構(gòu)選擇方法中直接輸入變量進(jìn)行預(yù)測,比如對于MG混沌時(shí)間序列的預(yù)測,由于沒有考慮模型階次,那么在模型預(yù)測中,輸入輸出呈現(xiàn)點(diǎn)對點(diǎn)的單輸入單輸出線性關(guān)系,輸出變量與歷史數(shù)據(jù)間的關(guān)系無法在前饋神經(jīng)網(wǎng)絡(luò)中得以體現(xiàn),所以傳統(tǒng)方法的模型預(yù)測精度較低.通過模型階次的估計(jì),系統(tǒng)的動(dòng)態(tài)持續(xù)特性在RBF前饋神經(jīng)網(wǎng)絡(luò)中得以體現(xiàn),呈現(xiàn)多點(diǎn)對單點(diǎn)的多輸入單輸出非線性關(guān)系,有利于得到高精度的混沌時(shí)間序列預(yù)測模型.
一般來說,一個(gè)系統(tǒng)的動(dòng)態(tài)持續(xù)性越大,則模型階次越高,且相應(yīng)的模型輸入變量的維數(shù)也越高.常用的模型階次估計(jì)方法,比如相關(guān)函數(shù)、殘差方法、F檢驗(yàn)、準(zhǔn)則函數(shù)法等都可以用于測量任意兩個(gè)序列之間的相關(guān)性,并且能按照數(shù)據(jù)的推移與變化進(jìn)行模型階次估計(jì).時(shí)間序列自相關(guān)函數(shù)反映自身序列中,當(dāng)前變量與鄰近變量之間的相關(guān)性大小,而偏相關(guān)函數(shù)可以刻畫兩個(gè)序列之間的相關(guān)性[13].準(zhǔn)則函數(shù)法也稱作最佳準(zhǔn)則函數(shù)法,根據(jù)殘差值,利用模型對原始數(shù)據(jù)的擬合接近程度來估計(jì)模型階次.由于不同模型的參數(shù)個(gè)數(shù)并不相同,因此準(zhǔn)則函數(shù)方法可以確定函數(shù)取值后的模型階次,進(jìn)而確定模型是否合適.以最終預(yù)測誤差準(zhǔn)則(finial prediction error,F(xiàn)PE)為例,根據(jù)設(shè)定的模型輸出誤差來判斷模型階次是否合適,合理的模型階次能使模型的FPE最?。詐階自回歸模型為例,時(shí)間序列{xt}的一步預(yù)測誤差的二階矩定義為:
(1)
神經(jīng)網(wǎng)絡(luò)的輸入變量可能個(gè)數(shù)不充分,信息不一致,待指定或者超指定.當(dāng)神經(jīng)網(wǎng)絡(luò)的輸入中包含冗余或者不相關(guān)的輸入變量時(shí),神經(jīng)網(wǎng)絡(luò)的訓(xùn)練與學(xué)習(xí)過程將會變得困難.這些冗余或者不相關(guān)的變量增加了神經(jīng)網(wǎng)絡(luò)在誤差函數(shù)局部的最優(yōu)解個(gè)數(shù),而且可能使樣本空間投影到模型參數(shù)空間時(shí)造成更多參數(shù)的合并,進(jìn)而導(dǎo)致了局部最優(yōu)誤差值的增加.文中的模型變量選擇思想是從上述集合中選擇出由模型階次估計(jì)得到的k個(gè)輸入變量來優(yōu)化待建立模型.前饋神經(jīng)網(wǎng)絡(luò)的輸入輸出時(shí)間結(jié)構(gòu)表示為:
(2)
式(2)為t時(shí)刻以后k個(gè)點(diǎn)的預(yù)測,也做k步預(yù)測.py為通過合理估計(jì)得到的模型階次,其通常表示為模型的最大時(shí)滯.由于神經(jīng)網(wǎng)絡(luò)按照預(yù)測誤差的引導(dǎo)以梯度下降的方式進(jìn)行,這容易導(dǎo)致算法收斂到局部最優(yōu)點(diǎn),造成前饋神經(jīng)網(wǎng)絡(luò)的推廣能力下降.網(wǎng)絡(luò)訓(xùn)練速度由于受這些冗余參數(shù)和誤差之間關(guān)系的影響,甚至受噪聲等因素的影響而變慢.加之訓(xùn)練過程可能消耗無用的信息來調(diào)整網(wǎng)絡(luò)權(quán)值或噪聲值等,掩蓋了輸入與輸出值之間的重要關(guān)系,也可能造成模型推廣能力降低.因此,許多迭代算法要求制定一個(gè)臨近全局最優(yōu)誤差來約束網(wǎng)絡(luò)的學(xué)習(xí)行為.MG混沌時(shí)間序列是一維時(shí)間序列,按照不同模型階次的估計(jì)準(zhǔn)則便可以選擇出最佳的模型變量進(jìn)行組合,在前饋神經(jīng)網(wǎng)絡(luò)中呈現(xiàn)多點(diǎn)對單點(diǎn)的多輸入單輸出非線性關(guān)系,這些模型變量有利于得到高精度的混沌時(shí)間序列預(yù)測模型.
RBF神經(jīng)網(wǎng)絡(luò)是多維空間中數(shù)值插值方法的理論基礎(chǔ),是文獻(xiàn)[14]中提出的一種前饋神經(jīng)網(wǎng)絡(luò).基本的徑向基函數(shù)(radius basis function,RBF)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)包括輸入層、隱層和輸出層3層.其中輸入層由感知單元組成,并與外界環(huán)境連接;隱層主要建立輸入層與該層之間的非線性變換,通常情況下,其維數(shù)較高;輸出層一般為線性層,用于響應(yīng)對輸入層的激活模式.設(shè)輸入向量為R維x,輸出向量為Q維y,設(shè)輸入樣本長度為L,則RBF神經(jīng)網(wǎng)絡(luò)隱層中相應(yīng)的節(jié)點(diǎn)輸出為
qi=R(‖dist‖)=R(‖x-ci‖)
(3)
文中對模型參數(shù)的優(yōu)化主要針對RBF網(wǎng)絡(luò)基函數(shù)的擴(kuò)展常數(shù)進(jìn)行.?dāng)U展常數(shù)或?qū)挾葘τ谏窠?jīng)網(wǎng)絡(luò)性能的影響很大.一般來說用于函數(shù)逼近的RBF網(wǎng)絡(luò)擴(kuò)展常數(shù)越大,其函數(shù)擬合就越平滑.但過大的擴(kuò)展常數(shù)意味著需要更多的神經(jīng)元加入,才能適應(yīng)函數(shù)的快速變化.如果擴(kuò)展常數(shù)較小,則函數(shù)擬合的速度較慢,這有可能會導(dǎo)致RBF網(wǎng)絡(luò)的泛化能力差.?dāng)U展常數(shù)的選取往往依賴于測試樣本.由于樣本均方根誤差(root mean square error,RMSE)的平均值是一種獲取最佳擴(kuò)展常數(shù)的理想方法.所以文中對多子集的情況,分別測試每個(gè)子集的RMSE,并進(jìn)行交叉驗(yàn)證與測試.
(4)
SPREADselection~SPREADoptimal≈
argmin{fperformance(RMSE,SPREAD)}
(5)
RBF神經(jīng)網(wǎng)絡(luò)中神經(jīng)元的個(gè)數(shù)是逐個(gè)添加的,直至均方誤差的總和落入預(yù)先設(shè)定的目標(biāo)誤差,或者達(dá)到最大迭代步數(shù)后,停止添加神經(jīng)元并輸出網(wǎng)絡(luò)的預(yù)測結(jié)果.在真實(shí)訓(xùn)練中,極易出現(xiàn)過擬合現(xiàn)象,主要因?yàn)?
(1) 由于實(shí)際數(shù)據(jù)的數(shù)據(jù)預(yù)處理不能完全確定是否去除噪聲,所以不可避免導(dǎo)致訓(xùn)練樣本總是存在噪聲,此時(shí)過高的學(xué)習(xí)精度會迫使神經(jīng)網(wǎng)絡(luò)擬合樣本中的噪聲,產(chǎn)生所謂的過擬合,文中主要考慮極為容易出現(xiàn)的過擬合現(xiàn)象.
(2) 由于受初始權(quán)值的影響,神經(jīng)網(wǎng)絡(luò)是否總能達(dá)到給定的學(xué)習(xí)精度也具有一定的隨機(jī)性.以單隱層神經(jīng)網(wǎng)絡(luò)的泛化過程為例,其可分為3個(gè)階段:在第1階段,泛化誤差單調(diào)下降;第2階段的泛化動(dòng)態(tài)較為復(fù)雜,但在這一階段,泛化誤差將達(dá)到最小點(diǎn);在第3階段,泛化誤差又將單調(diào)上升.那么最佳的泛化能力出現(xiàn)在訓(xùn)練誤差的全局最小點(diǎn)出現(xiàn)之前,最佳泛化點(diǎn)出現(xiàn)的時(shí)間范圍便可以確定,使得在該時(shí)間點(diǎn)泛化誤差達(dá)到最?。?/p>
為了避免上述情況,文中提出的策略是:平均測試誤差不再下降作為停止學(xué)習(xí)的條件,即ETE(t+1)≤ETE(t)滿足時(shí)便停止網(wǎng)絡(luò)的學(xué)習(xí).
(6)
式中:ETE(t)為t時(shí)刻的平均測試誤差;Test-Error(t)為t時(shí)刻神經(jīng)網(wǎng)絡(luò)對所有測試樣本的測試誤差.一般來說,RBF神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)復(fù)雜性較其他類系網(wǎng)絡(luò)的結(jié)構(gòu)復(fù)雜度要高.為了避免過于復(fù)雜的結(jié)構(gòu)設(shè)計(jì),很多作者提出了關(guān)于結(jié)構(gòu)精簡的理論.文中選擇增加訓(xùn)練樣本,抑或減小神經(jīng)網(wǎng)絡(luò)規(guī)模,這也與學(xué)習(xí)理論的結(jié)構(gòu)風(fēng)險(xiǎn)最小原則一致.
一般來講,神經(jīng)網(wǎng)絡(luò)的魯棒性依賴于其網(wǎng)絡(luò)參數(shù)值以及其在樣本附近誤差曲面的具體形態(tài).網(wǎng)絡(luò)參數(shù)在樣本極值點(diǎn)附近且相應(yīng)的誤差曲面分布比較平坦時(shí),網(wǎng)絡(luò)的魯棒性較好,否則認(rèn)為其魯棒性較差.為此網(wǎng)絡(luò)輸出的魯棒性能夠從根本上解決實(shí)際問題,使得網(wǎng)絡(luò)的推廣能力與應(yīng)用前景更好.文中采用3種評價(jià)指標(biāo)進(jìn)行模型性能的評價(jià),分別為均方根誤差RMSE、平均絕對誤差(mean absolute error,MAE)和相對平均絕對誤差(relative mean absolute error,RMAE).
(6)
式中:RMSE為預(yù)測樣本與實(shí)際樣本相差的離散或者偏差程度;MAE為預(yù)測樣本與真實(shí)樣本的絕對偏差程度;而RMAE為預(yù)測樣本與真實(shí)樣本的絕對偏差與真實(shí)樣本的比例,其通常可以用于測量模型的預(yù)測精度.
混沌時(shí)間序列廣泛存在于自然界與當(dāng)前的人類社會中,是自然界和人類社會運(yùn)動(dòng)形態(tài)的根本表現(xiàn)形式之一.混沌系統(tǒng)對初始數(shù)值非常敏感,有著極強(qiáng)的依賴性.文中采用經(jīng)典的混沌系統(tǒng)(Mackey-Glass,MG)系統(tǒng)和Lorenz系統(tǒng)來生成混沌時(shí)間序列.MG方程定義如下:
(7)
式中,常數(shù)a和b分別設(shè)置為0.2和0.1,常數(shù)時(shí)滯和初始條件分別為17和1.2,其中常數(shù)時(shí)滯越大,系統(tǒng)的混沌程度越高.采用4階龍格庫塔數(shù)值解法生成2 000個(gè)樣本點(diǎn),圖示如下:
圖1 MG混沌時(shí)間序列Fig.1 MG chaotic time series
Lorenz系統(tǒng)是最早的氣象學(xué)模型,基于納維-斯托克斯方程、熱傳導(dǎo)方程和連續(xù)性方程給出基本Lorenz的簡化三維動(dòng)力系統(tǒng),進(jìn)行其非線性映射的構(gòu)建與預(yù)測.Lorenz混沌系統(tǒng)基本形式如下:
(8)
圖2 Lorenz混沌時(shí)間序列Fig.2 Lorenz chaotic time series
文中采用AIC,BIC,FPE,MDL,CAT以及PHI準(zhǔn)則等進(jìn)行測試,用于尋找MG時(shí)間序列中與當(dāng)前變量相關(guān)性等較強(qiáng)的變量,為了找到確切的模型階次,結(jié)果測試如表1、2.
表1 模型階次的估計(jì)結(jié)果(MG)Table 1 Model order estimation results (MG)
表2 模型階次的估計(jì)結(jié)果(Lorenz)Table 2 Model order estimation results (Lorenz)
不失一般性,這里僅選取Lorenz系統(tǒng)的x1(t)作為實(shí)驗(yàn)樣本.這兩類混沌時(shí)間序列都可視為單輸入單輸出的,為了找到對當(dāng)前預(yù)測數(shù)值影響較大的變量,基于前面的模型階次分析, MG和Lorenz時(shí)間序列的模型階次分別為3和6時(shí),序列在各種準(zhǔn)則函數(shù)下具有明顯的截尾性.此時(shí)根據(jù)模型變量選擇的分析,兩種預(yù)測模型在前饋神經(jīng)網(wǎng)絡(luò)中定義為y(t+k)=F(y(t-i)),i=0,…,3,x(t+k)=F(x(t-j)),i=0,…,6.不失一般性,對于模型的參數(shù)優(yōu)化,由于混沌系統(tǒng)包含的各種短時(shí)序列頻率不同,所以訓(xùn)練樣本與測試樣本之間的邏輯關(guān)系是合理的,然后抽取60%的樣本進(jìn)行擴(kuò)展常數(shù)的測試與選取,采用選取樣本的均方根誤差的平均值(average mean square error,AMSE)進(jìn)行比較,實(shí)驗(yàn)結(jié)果表明:對于MG時(shí)間序列,擴(kuò)展常數(shù)結(jié)果分別為1.501和1.010,而對應(yīng)的AMSE分別為0.081 2和0.083 5.對于Lorenz時(shí)間序列,擴(kuò)展常數(shù)結(jié)果分別為1.211和1.012,而對應(yīng)的AMSE分別為0.093和0.080 2.如前所述,用于函數(shù)逼近的RBF網(wǎng)絡(luò)的擴(kuò)展常數(shù)越大,其函數(shù)擬合就越平滑.較小的擴(kuò)展常數(shù)則需要較多的神經(jīng)元才能適應(yīng)函數(shù)的緩慢變化,RBF神經(jīng)網(wǎng)絡(luò)的擴(kuò)展常數(shù)皆為1.010.
為了對比模型結(jié)構(gòu)選擇的實(shí)驗(yàn)結(jié)果,添加無任何結(jié)構(gòu)設(shè)計(jì)的傳統(tǒng)神經(jīng)網(wǎng)絡(luò)方法的預(yù)測結(jié)果.采用60%的混沌時(shí)間序列的訓(xùn)練集合,各自20%的驗(yàn)證與測試集合進(jìn)行設(shè)計(jì),分別顯示提前1~5步的預(yù)測結(jié)果,如表3、4.
表3 預(yù)測結(jié)果(MG)Table 3 Forecasting results (MG)
MSS指模型結(jié)構(gòu)選擇(model structure selection)方法,TRA(traditional approach)代表傳統(tǒng)的無任何結(jié)構(gòu)設(shè)計(jì)的方法.
表4 預(yù)測結(jié)果(Lorenz)Table 4 Forecasting results (Lorenz)
RBF網(wǎng)絡(luò)的最大迭代次數(shù)設(shè)置為500次,擴(kuò)展常數(shù)為1.010,MSS與TRA方法的訓(xùn)練收斂目標(biāo)設(shè)置同為0.01.ET為計(jì)算耗時(shí).MSS-1到MSS-5步的MG時(shí)間序列部分預(yù)測結(jié)果如圖3.
由于短期內(nèi)的預(yù)測結(jié)果精度接近,對預(yù)測高峰值與低谷值兩處進(jìn)行了放大顯示.實(shí)驗(yàn)結(jié)論表明:由于混沌系統(tǒng)對于初始值的敏感性,對其時(shí)間序列的長期預(yù)測是不可能的[15-16].而且誤差會隨著預(yù)測步數(shù)的增加而增大.從結(jié)果精度上講,MSS整體優(yōu)于TRA,在時(shí)間耗用上,當(dāng)預(yù)測步數(shù)較低時(shí),TRA收斂速度較快,但是隨著預(yù)測步數(shù)增加,MSS的收斂速度明顯優(yōu)于TRA,這說明無結(jié)構(gòu)設(shè)計(jì)的網(wǎng)絡(luò)不僅耗時(shí)而且精度低.由于根據(jù)MSS的設(shè)計(jì)策略選擇了合適合理的模型結(jié)構(gòu),使得算法的效率提高,而且優(yōu)化了輸入變量的組合形式,增加了先驗(yàn)知識,使得預(yù)測效率與精度均得以提升,最終提高了神經(jīng)網(wǎng)絡(luò)的推廣能力.
文中基于MG與Lorenz混沌時(shí)間序列,提出了一種新穎的RBF網(wǎng)絡(luò)模型結(jié)構(gòu)選擇方法,該方法充分反映了混沌時(shí)間序列的時(shí)序特性,并通過模型優(yōu)化策略提高了模型的推廣能力.實(shí)驗(yàn)結(jié)果表明MSS相較于TRA使得模型的推廣能力顯著提高,設(shè)計(jì)的策略能夠有效提高模型輸出的魯棒性、計(jì)算效率以及預(yù)測精度,這說明文中的模型結(jié)構(gòu)設(shè)計(jì)策略能有效提高混沌時(shí)間序列的相空間重構(gòu)精度,具有良好的應(yīng)用前景.