姜嬌嬌+郭俊+楊淑瑩
摘 要: 對混沌時間序列進行預(yù)測研究具有重要的價值和實用性,例如,進行股票預(yù)測,降雨量預(yù)測,溫度預(yù)測。混沌時間序列預(yù)測的難點在于其不確定性和多步預(yù)測的困難性。一般利用最小二乘法求解模型參數(shù),從而對混沌時間序列進行局域預(yù)測,但是預(yù)測精度不是很高。為了提高局域線性預(yù)測的精度,提出基于粒子濾波(PF)的混沌時間序列局域多步預(yù)測法,利用粒子濾波進行參數(shù)優(yōu)化得到更準確的優(yōu)化模型進行多步預(yù)測。仿真實驗結(jié)果表明,該方法的單步和多步預(yù)測效果明顯得到了提升。
關(guān)鍵詞: 局域線性預(yù)測; 混沌時間序列; 粒子濾波; 多步預(yù)測; 鄰近點; 預(yù)測誤差
中圖分類號: TN911.1?34; O415.5 文獻標識碼: A 文章編號: 1004?373X(2018)01?0043?04
Abstract: It has important value and practicability (such as stock forecasting, rainfall forecasting and temperature forecasting) to predict the chaotic time series. It is difficult to predict the chaotic time series due to its uncertainty and realization of multi?step prediction. The least square method is used to solve the model parameters and perform local prediction for the chaotic time series, but has low prediction accuracy. In order to improve the accuracy of local linear prediction, a local multi?step prediction method based on particle filtering (PF) is proposed for chaotic time series. The particle filtering is adopted to optimize the parameters to obtain more accurate optimization model for multi?step prediction. Simulation results show that the multi?step and single?step prediction effects of this method are improved significantly.
Keywords: local linear prediction; chaotic time series; particle filtering; multi?step prediction; adjacent point; predition error
0 引 言
混沌是確定的非線性動力系統(tǒng)產(chǎn)生的復(fù)雜行為,將混沌理論與時間序列預(yù)測相結(jié)合的思想從一開始就得到了廣大學者的關(guān)注。經(jīng)過大量研究表明,混沌理論一方面表明之前被判定為不可預(yù)測的復(fù)雜系統(tǒng)同樣具有可預(yù)測性,另一方面也表明對之前可預(yù)測的系統(tǒng)建立的預(yù)測模型具有一定的局限性。
近幾十年來,大量的學者已經(jīng)提出了很多預(yù)測混沌時間序列的模型。預(yù)測模型可分為兩類:第一類為全局預(yù)測模型,例如,基于RBF神經(jīng)網(wǎng)絡(luò)的預(yù)測模型[1],通過對所有歷史值的訓練,求出輸入層→隱含層、隱含層→輸出層之間的連接權(quán)值,從而實現(xiàn)混沌時間序列的預(yù)測。但是,當有新的數(shù)據(jù)加入,需要重新對歷史數(shù)據(jù)進行訓練,計算量比較大,而且預(yù)測效果也不是很好。第二類為局域預(yù)測模型,局域預(yù)測模型計算量較少,且預(yù)測效果比較好。加權(quán)一階局域自回歸模型是目前比較常用的局域預(yù)測方法[2] ,但是預(yù)測效果并不是很好。
為了提高局域預(yù)測的精度,本文提出基于粒子濾波的加權(quán)一階局域自回歸模型方法,通過粒子濾波實現(xiàn)對線性預(yù)測模型參數(shù)的優(yōu)化。首先,利用確定嵌入維數(shù)和延遲時間來重構(gòu)相空間。其次,確定最優(yōu)鄰近點的選取十分重要。選出最佳鄰近點,構(gòu)建局域線性預(yù)測模型。最后利用粒子濾波對預(yù)測結(jié)果進行尋優(yōu),得到最佳的混沌時間序列的預(yù)測模型。將求得的預(yù)測數(shù)據(jù)加入到原始時間序列中,重新選取最佳臨近點建立預(yù)測模型,計算對應(yīng)預(yù)測方程參數(shù),重復(fù)上述步驟,從而實現(xiàn)對混沌時間序列的多步預(yù)測。
1 最優(yōu)鄰近點的選取
相空間重構(gòu)作為混沌預(yù)測的基礎(chǔ),是以Takens定理為保證,Takens定理保證了可以從一維時間序列中重構(gòu)一個與原系統(tǒng)在拓撲意義下等價的相空間[3]。 Takens說明了只要找到一個合適的嵌入維數(shù),即如果延遲坐標的維數(shù)[M≥2d+1]是動力系統(tǒng)的維數(shù),這個嵌入后的相空間就能把吸引子軌跡恢復(fù)出來。這樣重構(gòu)后的相空間將具有與原動力系統(tǒng)相同的幾何性質(zhì),并與原動力系統(tǒng)在拓撲意義下等價。
用時間序列[x(t)]和它的[m-1]時滯位移構(gòu)成一個新的[m]維嵌入相空間,即:
[Y(t)=x(t),x(t+τ), …,xt+(m-1)τT] (1)
式中:[τ]為延遲時間;嵌入維數(shù)[m]滿足[m≥2d+1]。
鄰近點的選取是局域預(yù)測的重要步驟,鄰近點的選擇越合理,擬合出的回歸模型預(yù)測精度越高。現(xiàn)有的鄰近點的選擇大致可分為歐氏距離[4]和相關(guān)系數(shù)法[5],這兩種方法都是只從一個方面來分析,歐氏距離只是以相鄰空間中點之間的距離遠近作為選擇準則,而相關(guān)系數(shù)是以混沌軌道一步演化的相關(guān)性作為衡量標準。本文將兩種方法結(jié)合,先用歐氏距離確定多個鄰近點,再由相關(guān)系數(shù)法篩選出[T]個鄰近點。endprint
設(shè)[X(n)]為混沌吸引子的預(yù)測起始點,[k]為選取鄰近點的個數(shù),[X(Ni-1)]為[X(Ni)]的一步回溯點,[i=1,2,…,k。]
定義1:[X(n)]和[X(Ni)]之間的距離為:
[d(n,Ni)=X(n)-X(Ni)] (2)
由定義1可知,[d(n,Ni)]越小,兩點之間的距離越近。選取[k]個鄰近點,[X(Ni),i=1,2,…,k]。
定義2:[X(n)]和[X(Ni),i=1,2,…,k,]之間的移動距離相似度為:
[δ(n,Ni)=maxdn-dNi-dn-dNimaxdn-dNi-mindn-dNi] (3)
式中:[dn=X(n)-X(n-1);][dNi=X(Ni)-X(Ni-1);][δ(n,Ni)∈[0,1],]且[δ(n,Ni)]越大,代表鄰近點的一步運動距離與[x(n)]的一步運動距離越相近。
定義3:[X(n)]和[X(Ni),i=1,2,…,k]之間的移動方向相似度為:
[θn,Ni=X(n)-X(n-1),X(Ni)-X(Ni-1)X(n)-X(n-1) ×X(Ni)-X(Ni-1)] (4)
定義4:[X(n)]和[X(Ni),i=1,2,…,k]之間的向量相似度為:
[μ(n,Ni)=α δ(n,Ni)+(1-α) θ(n,Ni)] (5)
式中:[α∈0,1]為調(diào)節(jié)[δn,Ni]和[θ(n,Ni)]的比例因子,通??扇?.5;[μ(n,Ni)]越大,相似度越高。
通過定義1求得[k]個距離最近的點,再由定義2~定義4篩選出最優(yōu)的[T]個鄰近點。
2 粒子濾波優(yōu)化求最優(yōu)預(yù)測
選出鄰近點[X(Ni) , i=1,2,…,T,][Ni]表示第[i]個鄰近點在原時間序列中的序號,同時可查詢鄰近點的預(yù)測值[x(Ni+p),][p]表示預(yù)測的步長。通過最小二乘法對鄰近點和它的[p]步預(yù)測值[x(Ni+p),X(Ni),][i=1,2,…,T]進行擬合,即可得到一階加權(quán)線性自回歸模型,用當前點[X(n)]代入,即可得到預(yù)測值[x(n+p)],局域線性自回歸模型為:
[x(n+p)=a0+i=1maixn-(i-1)τ=a0+A(n)X(n)] (6)
式中[A(n)=[a1,a2,…,am]]。
本文采用迭代的方法進行多步預(yù)測,即[p=1]。不斷將預(yù)測得到的數(shù)據(jù)加入到原始時間序列中去,動態(tài)更新模型中的參數(shù),同時利用PF算法[6]不停地修正預(yù)測數(shù)據(jù),以提高預(yù)測的精度。
始終將局域一階自回歸模型作為粒子的狀態(tài)轉(zhuǎn)移方程,將初始參數(shù)辨識結(jié)果,即[n]時刻的模型系數(shù)作為粒子濾波貝葉斯估計的先驗概率[p(φmn)]。再從先驗分布[p(φp,qk)]中采集粒子,對其加以一定的擾動,得到一組粒子集[(φmn)N],其中[N]表示粒子個數(shù)。從而可以得到一組粒子濾波的狀態(tài)轉(zhuǎn)移方程,其后驗概率參考分布可表示為[p(φmn)jX(Ni),j=1,2,…,N;i=1,2,…,T]。
為了評價粒子,將同時擬合[M]個鄰近點系統(tǒng)狀態(tài)估計值:
[x(Ni+1)1x(Ni+1)2?x(Ni+1)N=(φmn)1(φmn)2?(φmn)N [X(Ni)]T ] (7)
式中:[x(Ni+1)j]表示由第[j]個粒子即第[j]組擾動后的參數(shù)擬合得到的第[i]個鄰近點的系統(tǒng)狀態(tài)估計值,其中[i=1,2,…,M]。粒子的權(quán)值由擬合值與真實值之間的距離決定:
[djn=i=1Mx(Ni+1)j-x(Ni+1)M] (8)
式中[djn]為[n]時刻第[j]個粒子的權(quán)值依據(jù)。
為了獲得更接近真實值的粒子,將粒子的權(quán)值利用高斯函數(shù)進行分布:
[ωjn=12πσexp-djn2σ2] (9)
式中:[σ]為常數(shù);[ωjn]表示[n]時刻第[j]個粒子的權(quán)值。
計算出所有粒子的權(quán)值,再將權(quán)值進行標準化處理:
[ωjn=ωjni=1Nωjn] (10)
利用式(10)得到標準化后的權(quán)值[i=1Nωjn=1]。根據(jù)式(7),將[X(n)]代入預(yù)測模型,得到[N]個預(yù)測值[x(n+1)j,][j=1,2,…,N。]利用加權(quán)準則確定最終的預(yù)測值:
[xopt(n+1)=j=1Nx(n+1)ωjn] (11)
根據(jù)式(11)即可獲得一步預(yù)測的值,將一步預(yù)測的值代入到原時間序列中,重復(fù)上述步驟即可進行多步預(yù)測。
3 仿真及結(jié)果分析
為驗證本文算法的優(yōu)越性,在計算仿真實驗中,使用Lorenz模型[7]的[X]分量生成的時間序列進行驗證。
Lorenz混沌流:
[dxdt=-c(x-y)dydt=ax-y-xzdzdt=b(xy-z)] (12)
式中:[c=10, b=83, a=34,]用四階Runge?Kutta算法[8]求解,選定采樣間隔[f=0.01,]初始序列值為[[-1,0,1]]。獲取混沌系統(tǒng)一維時間序列[{x(t),t=1,2,…}]。
獲得8 000個數(shù)據(jù)點,選其中的后600個數(shù)據(jù)點作為仿真數(shù)據(jù)[x(t)],對時間序列[x(n)]進行歸一化處理。通過互信息法求得延遲時間[τ=10]。通過基于預(yù)測誤差最小的原則選取最佳的嵌入維數(shù)[m=3,]預(yù)測模型選用Volterra自適應(yīng)模型[9?10]。鄰近點個數(shù)選為10,粒子個數(shù)為50。
選取原混沌時間序列的600個數(shù)據(jù)作為序列樣本,利用提出的方法進行多步預(yù)測,并與常用方法做比較實驗,預(yù)測結(jié)果如圖1所示。圖中橫坐標為預(yù)測的步數(shù),圖中“+”為原始值,“o”為預(yù)測值。對其后的1 000個數(shù)據(jù)分別進行一步、三步、五步預(yù)測,以預(yù)測均方根誤差作為評價的準則,仿真結(jié)果如表1所示。每種方法的一步預(yù)測結(jié)果及誤差如圖2所示。endprint
對Lorenz模型生成的時間序列,從圖1可見,加權(quán)一階局域預(yù)測法只在280步之內(nèi)有效;基于神經(jīng)網(wǎng)絡(luò)的語句預(yù)測法也只在260步之內(nèi)有效;而本文提出的基于粒子濾波的局域預(yù)測法在400步之內(nèi)有效,從第400步開始誤差增加。所以所提出方法能更好地進行多步預(yù)測,而且多步預(yù)測性能明顯好于一階加權(quán)的局域預(yù)測方法和局域神經(jīng)網(wǎng)絡(luò)預(yù)測方法。從表1可見,基于粒子濾波的局域預(yù)測法前五步預(yù)測的誤差最小,更進一步得出基于粒子濾波的局域線性預(yù)測的方法更加精確。
4 結(jié) 論
本文提出基于粒子濾波局域線性預(yù)測,通過粒子濾波對局域預(yù)測模型參數(shù)進行進一步優(yōu)化,使得預(yù)測模型具有更好的預(yù)測精度。改進的局域預(yù)測模型的一步和多步預(yù)測結(jié)果明顯提高了預(yù)測的步數(shù)和預(yù)測的精度,提高了預(yù)測性能。
參考文獻
[1] CHEN Diyi, HAN Wenting. Prediction of multivariate chaotic time series via radial basis function neural network [J]. Complexity, 2013, 18(4): 55?66.
[2] L? Jinhu, ZHANG Suochun. Application of adding?weight one?rank local?region method in electric power system short?term load forecast [J]. Control theory and applications, 2002, 19(5): 764?770.
[3] TAKENS F. Detecting strange attractors in turbulence [M]// Anon. Dynamical systems and turbulence. Warwick: Springer Berlin Heidelberg, 1981: 366?381.
[4] DONG Xu, WEI Zhenjun. A clustering method of euclid distance with weights [J]. Journal of Information Engineering University, 2005, 6(1): 23?25.
[5] ZHU Zhiyu. Particle filter algorithm and its application [M]. Beijing: Science Press, 2010.
[6] WON S P, MELEK W W, GOLNARAGHI F. A Kalman/particle filter?based position and orientation estimation method using a position sensor/inertial measurement unit hybrid system industrial electronics [J]. IEEE transactions on industrial electronics, 2010, 57(5): 1787?1798.
[7] SHUI P L, SHI S N, LU J, et al. Detection of nonlinear FM signals via forward?backward cost?reference particle filter [J]. Digital signal processing, 2016, 48: 104?115.
[8] YANG T, LAUGESEN R S, MEHTA P G, et al. Multivariable feedback particle filter [C]// Proceedings of 2012 IEEE the 51st IEEE Conference on Decision and Control. [S.l.]: IEEE, 2012: 4063?4070.
[9] ZHU A, BRAZIL T J. Behavioral modeling of RF power amplifiers based on pruned Volterra series [J]. IEEE microwave and wireless components letters, 2004, 14(12): 563?565.
[10] VAIDYANATHAN S. Adaptive synchronization of generalized Lotka?Volterra three?species biological systems [J]. International journal of pharmtech research, 2015, 8(5): 928?937.endprint