李睿峰,吳忠德,戴金玲,王樹友
(海軍航空大學(xué), 山東 煙臺 264001)
時間序列預(yù)測(time series prediction,TSP)是機器學(xué)習(xí)領(lǐng)域一個重要而活躍的研究課題,在許多實際數(shù)據(jù)挖掘應(yīng)用中具有不可缺少的重要性[1]。時間序列數(shù)據(jù)廣泛存在于水文(河流水位)、天氣(降雨量)、金融(股票走勢)和軍事裝備健康管理(早期故障預(yù)示)等各個領(lǐng)域。例如,飛機發(fā)動機系統(tǒng)的狀態(tài)預(yù)測,對排除早期故障、降低維護成本、提高系統(tǒng)穩(wěn)定性和安全性具有重要意義。
常用于解決TSP問題的機器學(xué)習(xí)方法主要有人工神經(jīng)網(wǎng)絡(luò)[2-3]、支持向量機[4-5]以及相關(guān)向量機[6-7]等,這些方法在各自應(yīng)用領(lǐng)域取得了較為理想的預(yù)測結(jié)果。Huang等[8]提出的超限學(xué)習(xí)機(extreme learning machine,ELM)因其快速的計算速度、突出的全局近似能力,已被廣泛應(yīng)用于處理包括TSP在內(nèi)的復(fù)雜非線性問題[9-10]。Huang等[11]利用核方法對ELM進行擴展,提出了核超限學(xué)習(xí)機(kernel extreme learning machine,KELM),文獻(xiàn)[12-15]將改進的KELM擴展到了在線學(xué)習(xí)領(lǐng)域。
總體來看,上述用于解決TSP問題的方法都只采用了單一預(yù)測器模式,但是根據(jù)NFL定理,并不存在一種算法對所有的任務(wù)都適用。Yao[1]分析指出,將集成學(xué)習(xí)方法應(yīng)用于解決TSP問題具有比單個模型更優(yōu)良的性能。這類方法在TSP問題中的應(yīng)用包括神經(jīng)網(wǎng)絡(luò)線性集成框架[16]、ELM改進層集成架構(gòu)[17]等。同時,為了降低集成學(xué)習(xí)的空間復(fù)雜度,集成選擇技術(shù)[18-20]更受研究者青睞。該技術(shù)的核心在于定義基預(yù)測器的性能評價準(zhǔn)則,以挑選出最能“勝任”當(dāng)前預(yù)測任務(wù)的一組預(yù)測器進行組合決策。但是集成選擇技術(shù)在處理TSP問題時存在一些固有缺陷:① 當(dāng)前已被提出的評價準(zhǔn)則具有很大的局限性,為特定TSP問題確定恰當(dāng)?shù)脑u價準(zhǔn)則難度較大;② 雖然動態(tài)集成選擇靈活性較強,但是為每個樣本動態(tài)選擇基預(yù)測器的方式,無形中增加了算法時間復(fù)雜度。
元學(xué)習(xí)領(lǐng)域的疊加歸納策略主要思想是將基本學(xué)習(xí)器分布在多個層次上,采用多層學(xué)習(xí)器來完成學(xué)習(xí)任務(wù)。這一方法在分類領(lǐng)域應(yīng)用廣泛,典型結(jié)構(gòu)為“基分類器-元分類器”形式的分層集成模型。元分類器并不試圖挑選出最優(yōu)的基分類器,而是對基分類器的結(jié)果進行“再學(xué)習(xí)”,以糾正錯誤分類、鞏固正確分類,使元分類器的準(zhǔn)確度優(yōu)于所有基分類器。但是這類方法在TSP領(lǐng)域的應(yīng)用尚未明確,且如果將之用于TSP任務(wù)存在2個問題有待解決:① 算法的時效性,能否實時跟蹤時間序列;② 基預(yù)測器中存在對于當(dāng)前任務(wù)的預(yù)測“能力”較弱者,對全部基預(yù)測器的結(jié)果進行再學(xué)習(xí)無疑會降低最終決策的可靠性。
綜上,本文改進了分層集成模型,以適應(yīng)時間序列預(yù)測任務(wù)的時效性要求;在此基礎(chǔ)上增加了優(yōu)化選擇過程,以控制模型規(guī)模,并消除預(yù)測能力差的基預(yù)測器的不利影響。在此基礎(chǔ)上提出了一種基于元學(xué)習(xí)框架的時間序列預(yù)測方法(time series prediction method based on META-learning,META-TSP)。首先,以KELM為基預(yù)測器,采用相空間重構(gòu)之后的訓(xùn)練數(shù)據(jù)對基預(yù)測器進行訓(xùn)練;然后,將基預(yù)測器對驗證數(shù)據(jù)的預(yù)測結(jié)果作為元數(shù)據(jù)對元學(xué)習(xí)器進行訓(xùn)練,并通過BPSO算法,以均方根誤差為適應(yīng)度函數(shù)對基預(yù)測器進行篩選;最后,將相空間重構(gòu)之后的測試數(shù)據(jù)輸入到訓(xùn)練好的模型中,預(yù)測其輸出。實例分析表明,本文方法在保證時效性前提下能夠有效提高預(yù)測的準(zhǔn)確性和穩(wěn)定性,適用于解決時間序列預(yù)測問題。
給定數(shù)據(jù)流S={(x1,y1),(x2,y2),…},其中xi∈Rd表示輸入向量,d∈N+是xi的維數(shù),yi是與xi對應(yīng)的輸出值,則ELM模型定義為[8]:
(1)
式(1)中:β=[β1,…,βL]T是模型輸出權(quán)重向量;h(xi)=[h1(xi),…,hL(xi)]表示隱層神經(jīng)元對輸入樣本xi的映射向量;ξi表示對應(yīng)于第i個樣本的訓(xùn)練誤差;c是正則化參數(shù),并且c∈R+?;贙KT優(yōu)化條件求解式(1)的優(yōu)化問題,可得輸出權(quán)重為:
β=HT(c-1I+HHT)-1y
(2)
式(2)中:yt=[y1,…,yt]T是輸入樣本對應(yīng)的目標(biāo)值向量;H=[h(x1)T,…,h(xt)T]T是輸入樣本的映射矩陣。應(yīng)用Mercer條件定義核矩陣Ω=HHT,Ω(i,j)=h(xi)·h(xj)T=k(xi,xj),可得ELM的核化形式為:
(3)
式(3)中:kt是當(dāng)前時刻的核估計向量,并且有kt=[k(·,x1),…,k(·,xt)];θt=[θ1,…,θt]T是t時刻的核權(quán)重向量,且θt=(c-1I+Ωt)-1yt。
應(yīng)用KELM解決TSP問題具有以下優(yōu)勢:① 算法層次結(jié)構(gòu)簡潔高效,需要的時間和空間開支少,更能滿足TSP問題的時效要求;② 無需像ELM一樣設(shè)置映射函數(shù)和隱層神經(jīng)元數(shù)量,降低了模型的隨機性,僅通過核函數(shù)設(shè)置即可完成算法優(yōu)化,而核函數(shù)的設(shè)置范圍,相比ELM算法的映射函數(shù)和隱層神經(jīng)元選擇范圍要小得多。
粒子群優(yōu)化(PSO)算法以其簡單的尋優(yōu)模式和較低的計算代價,是目前最常用的進化算法之一,BPSO作為PSO算法的離散二進制版本,已被證明在多目標(biāo)選擇領(lǐng)域具有優(yōu)良的性能[22]。由于本研究涉及到了基預(yù)測器的選擇過程,因此采用BPSO算法,以最小化均方根誤差為目標(biāo),挑選出預(yù)測能力最強的一組基預(yù)測器。
步驟1:初始化。按照種群大小,在搜索空間中隨機初始化粒子位置和速度。計算適應(yīng)度函數(shù)值,初始化粒子的個體最優(yōu)位置和全局最優(yōu)位置。設(shè)置最大進化代數(shù)及其他終止條件。
步驟2:更新粒子速度。粒子速度公式為:
(4)
式(4)中:pBesti={pBesti,1,…,pBesti,M}表示第i個粒子訪問的最優(yōu)位置;gBest={gBest1,…,gBestM}表示考慮到整個粒子群的全局最優(yōu)位置;ω對應(yīng)于慣性權(quán)值,通常設(shè)置為1;c1和c2是加速度系數(shù),rand是在0和1之間隨機產(chǎn)生的數(shù)字;g是進化代數(shù)。
步驟3:更新粒子位置。BPSO算法采用傳遞函數(shù)將粒子速度映射到[0,1]區(qū)間,作為粒子位置變化的概率。傳遞函數(shù)通常采用sigmoid函數(shù)s(x)=1/(1+e-x),粒子位置更新公式為:
(5)
步驟4:更新適應(yīng)度函數(shù)。利用當(dāng)前粒子位置信息計算適應(yīng)度函數(shù)值。
步驟5:更新單個粒子最優(yōu)位置和粒子群全局最優(yōu)位置。如果滿足終止條件,則輸出最優(yōu)解;否則,返回步驟2。
META-TSP方法通過改進分層集成模型來構(gòu)建元學(xué)習(xí)機構(gòu),并采用BPSO算法對基預(yù)測器進行優(yōu)化選擇,具體可細(xì)分為3個階段:基預(yù)測器訓(xùn)練階段、元學(xué)習(xí)器訓(xùn)練階段和測試階段,如圖1所示。該方法將訓(xùn)練數(shù)據(jù)分為2個子集:訓(xùn)練集DTr和驗證集Dval。
圖1 META-TSP機構(gòu)框圖
3.1.1基預(yù)測器訓(xùn)練階段
基預(yù)測器訓(xùn)練階段用來訓(xùn)練產(chǎn)生M個基預(yù)測器,從訓(xùn)練集DTr中隨機抽取樣本子集,通過為KELM設(shè)置不同的核函數(shù)和核參數(shù),每一個樣本子集用來訓(xùn)練生成一個基預(yù)測器。
由試驗數(shù)據(jù)可知,對于同1個試驗溫度測點,5次測量的溫度值會有波動,當(dāng)溫度波動大于0.2 ℃時,傳熱系數(shù)K值的測量值會出現(xiàn)明顯的波動[9].具體數(shù)據(jù)如表6、表7所示.
3.1.2元學(xué)習(xí)器訓(xùn)練階段
首先,使用上一階段訓(xùn)練產(chǎn)生的M個基預(yù)測器對驗證集Dval中的樣本進行預(yù)測,預(yù)測結(jié)果作為元特征,每一個基預(yù)測器都對應(yīng)著一個特征維度,元特征為M維;以驗證集Dval中樣本的實際輸出為元目標(biāo),元特征與元目標(biāo)共同構(gòu)成元數(shù)據(jù)。然后,調(diào)用BPSO算法,以均方根誤差為適應(yīng)度函數(shù),對元特征進行優(yōu)化選擇(實際上是對基預(yù)測器進行篩選)。最后,利用特征約簡后的元數(shù)據(jù)訓(xùn)練一個元學(xué)習(xí)器。該階段的偽代碼如下:
3.1.3測試階段
對于測試樣本xtest,首先使用M個基預(yù)測器對其進行預(yù)測,得到元特征;然后根據(jù)上一階段的特征選擇結(jié)果對元特征進行約簡;最后將約簡后的元特征輸入到上一階段訓(xùn)練好的元學(xué)習(xí)器λ中,得到最終預(yù)測輸出。該階段的偽代碼如下:
下面對META-TSP方法3個階段的復(fù)雜性進行簡要分析。
在基預(yù)測器訓(xùn)練過程中,假設(shè)訓(xùn)練子集的大小為S1,該階段訓(xùn)練產(chǎn)生M個基預(yù)測器,時間復(fù)雜度為O(S1·M)。元學(xué)習(xí)器訓(xùn)練階段,假設(shè)驗證集的大小為S2,使用M個基預(yù)測器對驗證集進行預(yù)測,時間復(fù)雜度為O(S2·M);BPSO優(yōu)化過程中,元學(xué)習(xí)器訓(xùn)練并預(yù)測gmax+1次,由于該過程對元數(shù)據(jù)進行約簡,故時間復(fù)雜度不超過O(S2·(gmax+1))。測試階段,假設(shè)測試集的大小為S3,P′的尺寸為M′,使用P′對測試集進行預(yù)測,時間復(fù)雜度為O(S3·M′);元學(xué)習(xí)器預(yù)測過程的時間復(fù)雜度僅為O(S3)。
一般來說,訓(xùn)練數(shù)據(jù)的規(guī)模(即S1+S2)不會太大,通過控制基預(yù)測器池的大小M和最大進化代數(shù)gmax,即可提升算法的時間效率。因此,該方法可以滿足時間序列實時預(yù)測需求。
4.1.1算法設(shè)置
基預(yù)測池由11個KELM構(gòu)成,用到的核函數(shù)包括線性核、多項式核、高斯核,正則化參數(shù)C設(shè)置為10,線性核不需要設(shè)置其他參數(shù),多項式核的參數(shù)設(shè)置為{[1,2],[1,3],[-1,2],[-1,3]},高斯核的參數(shù)設(shè)置為樣本間最大歐式距離和最小歐式距離間隨機選取的6個離散值(調(diào)用dd_tools工具箱的scale_range 函數(shù)實現(xiàn))。
所有算法均在MATLAB 2018a上運行,實驗電腦配置為:Windows 10操作系統(tǒng),Inter Core i7-7700HQ CPU,2.80 GHz主頻和8G RAM。
4.1.2參數(shù)設(shè)置
簡便起見,實驗同樣采用了KLEM作為META-TSP方法的元級學(xué)習(xí)器,核函數(shù)采用RBF核,并通過網(wǎng)格搜索法確定最優(yōu)參數(shù)。FOKELM、NOS-KELM和FARF-OSKBIELM方法的參數(shù)均與文獻(xiàn)[15]一致:高斯核,核參數(shù)σ=10,時間窗m=50;FOKELM和NOS-KELM的正則化參數(shù)C=2×104,其余參數(shù)見文獻(xiàn)[15]。DES-PALR算法首先需要定義測試樣本的局部區(qū)域,與文獻(xiàn)[20]相同,該區(qū)域使用k-means聚類算法得到,聚類數(shù)設(shè)置為4;DVP-OpOp算法需要設(shè)置驗證集的大小,實驗中取訓(xùn)練集尺寸的10%;DES-CP算法沿用文獻(xiàn)[20]的設(shè)置,采用遺傳算法生成基預(yù)測器子集,子集總數(shù)n取10。
4.1.3評價指標(biāo)
在TSP問題的研究中,通常從計算復(fù)雜性、預(yù)測精度、預(yù)測穩(wěn)定性等3個方面來評價算法的性能。計算復(fù)雜性指標(biāo)包括訓(xùn)練時間和測試時間,預(yù)測精度指標(biāo)通過均方根誤差(root mean square Error,RMSE)來衡量,預(yù)測穩(wěn)定性指標(biāo)可以從最大絕對預(yù)測誤差(maximal absolute prediction error,MAPE)和平均相對誤差率(mean relative error rate,MRPE)角度來度量。計算公式為:
本節(jié)首先驗證算法對Mackey-Glass混沌時間序列預(yù)測的有效性。該序列可以通過以下非線性時滯微分方程得到。
取a=0.2,b=0.1,τ=17,x(0)=1.2,當(dāng)t<0時,x(t)=0,步長Δ=0.1,通過4階Runge-Kutta方法解方程,在此基礎(chǔ)上,加上正弦曲線0.3sin(2πt/3 000),以得到新的時間序列。設(shè)置采樣間隔Ts=10Δ,規(guī)定時間嵌入維數(shù)等于10,由此獲得了與文獻(xiàn)[14-15]完全相同數(shù)據(jù)集,包含1 191組樣本數(shù)據(jù),前991組用于訓(xùn)練,后200組用于測試。
6種對比算法和本文方法的預(yù)測曲線如圖2所示,預(yù)測結(jié)果如表1所示,各項指標(biāo)的最優(yōu)值均加粗表示。
圖2 Mackey-Glass 混沌時間序列預(yù)測曲線
表1 Mackey-Glass預(yù)測結(jié)果
由表1和圖2可以得出以下結(jié)論:
1) 在預(yù)測精度和預(yù)測穩(wěn)定性方面,META-TSP方法均是最優(yōu)的。相比于其他6種算法,META-TSP方法在RMSE指標(biāo)上分別提高了80.98%、91.87%、27.72%、37.01%、38.91%和39.88%,在MAPE指標(biāo)上分別提高了76.06%、87.19%、32.59%、26.32%、27.43%和30.97%,在MRPE指標(biāo)上分別提高了80.46%、92.94%、22.68%、37.79%、40.78%和41.61%。這說明META-TSP方法對時間序列的未來走勢預(yù)測最準(zhǔn)確,并且預(yù)測效果最穩(wěn)定。
2) META-TSP方法的預(yù)測時間高于3種基于KELM改進型的方法,低于3種DES算法。但是META-TSP方法的預(yù)測時間仍然是毫秒級的,能夠滿足實時預(yù)測的需求。值得注意的是,DVP-OpOp算法的預(yù)測時間過長,這是由于該算法在預(yù)測階段會計算全部測試數(shù)據(jù)與訓(xùn)練數(shù)據(jù)預(yù)測結(jié)果的距離,這一過程增加了算法的時間消耗,即使其他各項指標(biāo)都比較優(yōu)良,該算法并不適用于TSP問題。
3) 訓(xùn)練精度方面,DVP-OpOp算法的均方根誤差是最低的,但是DES-PALR、DES-CP和META-TSP方法與之非常接近,而且如前文所述,DVP-OpOp算法的測試時間過長,不適合處理TSP問題。此外,由于META-TSP方法的測試精度是最高的,說明該方法抑制過擬合效果更為明顯。
4) META-TSP方法的訓(xùn)練時間是最短的,說明該方法采用的學(xué)習(xí)機制比較高效,能夠根據(jù)訓(xùn)練數(shù)據(jù)更快地擬合時間序列。雖然使用了多個KELM生成基預(yù)測器池,但是仍比針對單個KELM進行優(yōu)化的方法訓(xùn)練時間短很多。
5) FARF-OSKBIELM方法采用了自適應(yīng)的正則化因子,預(yù)測效果比FOKELM和NOS-KELM方法好,但不及META-TSP方法,說明將元學(xué)習(xí)器引入預(yù)測過程更能充分挖掘時間序列所蘊含的信息。
關(guān)于Mackey-Glass混沌時間序列的絕對預(yù)測誤差(absolute prediction error,APE),F(xiàn)OKELM、NOS-KELM、FARF-OSKBIELM、DES-PALR、DVP-OpOp和DES-CP分別與META-TSP方法的預(yù)測曲線如圖3所示??傮w來看,META-TSP方法比其他幾種方法的預(yù)測誤差都小,對時間序列未來趨勢的預(yù)測能力最優(yōu)。
圖3 預(yù)測誤差曲線
本節(jié)將META-TSP方法應(yīng)用到具體案例中,驗證該方法對飛機飛行狀態(tài)預(yù)測的有效性。以某飛行訓(xùn)練部隊某型教練機的發(fā)動機為例,選取低壓轉(zhuǎn)子轉(zhuǎn)速(轉(zhuǎn)每秒,r/s,記為LSpeed)、高壓轉(zhuǎn)子轉(zhuǎn)速(轉(zhuǎn)每秒,r/s,記為HSpeed)、渦輪后溫度(開爾文,K,記為Temperature)和油門桿角位移(毫米,mm,記為Displacement)為監(jiān)測項目。收集了該機型飛參系統(tǒng)某一架次的原始數(shù)據(jù),數(shù)據(jù)采樣每隔1 s進行一次,每個項目取250個樣本,變化曲線如圖4所示。其中,由于渦輪后溫度的單位是K,在數(shù)量級上是其他項目的4倍,故在圖4中將之轉(zhuǎn)換成攝氏溫度展示。
圖4 某型飛機飛行狀態(tài)參數(shù)變化曲線
設(shè)置嵌入維度為m1=m2=m3=m4=6,可得到244組數(shù)據(jù)樣本。實驗將前194組樣本作為訓(xùn)練數(shù)據(jù),后50組為測試數(shù)據(jù)。KELM改進型方法和DES算法中,選擇Mackey-Glass混沌時間序列預(yù)測實驗中整體性能最好的2種方法——FARF-OSKBIELM和DES-PALR,與本文方法META-TSP進行比較。表2列出了3種方法分別對4個監(jiān)測項目的預(yù)測結(jié)果。其中各監(jiān)測項目上的最優(yōu)指標(biāo)加粗表示。
表2 飛行狀態(tài)參數(shù)預(yù)測結(jié)果
由表2可以看出:① FARF-OSKBIELM的測試時間總是最短的,因為該方法只采用了單個預(yù)測器進行預(yù)測。但是META-TSP的測試時間只比FARF-OSKBIELM高出一個數(shù)量級,且這種毫秒級的時間開銷幾乎可以忽略不計,完全能夠滿足實時預(yù)測需求。此外,META-TSP的訓(xùn)練時間總是最短的,使得該方法能夠更快地訓(xùn)練出預(yù)測器模型。② META-TSP在4個監(jiān)測項目上的測試精度都是最高的,具有最好的整體預(yù)測性能。其中,對于Temperature項目而言,F(xiàn)ARF-OSKBIELM的均方根誤差很大,DES-PALR存在過擬合現(xiàn)象。③ META-TSP在4個監(jiān)測項目上的MAPE和MRPE值都是最低的,說明該方法的預(yù)測結(jié)果更穩(wěn)定。以預(yù)測發(fā)動機未來50個單位時間內(nèi)的低壓轉(zhuǎn)子轉(zhuǎn)速為例,3種方法的預(yù)測曲線圖5所示。
圖5 低壓轉(zhuǎn)子轉(zhuǎn)速預(yù)測曲線
由圖5可知,顯然,與其他2種方法相比,META-TSP對真實狀態(tài)的跟蹤能力最好。
1) META-TSP方法完全能夠滿足實時預(yù)測需求,具有比FARF-OSKBIELM和DES-PALR方法更快的訓(xùn)練速度和極短的測試時間,在4個監(jiān)測項目上的平均訓(xùn)練時間分別縮短了77.48%和33.91%。
2) 在預(yù)測精度方面,該方法的整體性能優(yōu)于FARF-OSKBIELM和DES-PALR等2種對比方法,能夠兼顧4個監(jiān)測項目,平均預(yù)測均方根誤差比其余2種方法分別提升了28.86%和72.26%。此外,該方法能有效抑制過擬合,且預(yù)測結(jié)果更穩(wěn)定。
3)META-TSP方法采用BPSO機制對基預(yù)測器進行優(yōu)化集成,控制了模型規(guī)模,且避免了預(yù)測能力差的基預(yù)測器對預(yù)測結(jié)果產(chǎn)生的不利影響;運用元學(xué)習(xí)器,對基預(yù)測器的結(jié)果進行再學(xué)習(xí),相比于只采用單個預(yù)測器的方法,能對訓(xùn)練數(shù)據(jù)所含信息進行更充分的挖掘。