張 毅,馬長(zhǎng)剛,張國(guó)豪
(1.空軍勤務(wù)學(xué)院,江蘇徐州221000;2.93956部隊(duì),甘肅張掖734000;3.94303部隊(duì),山東濰坊261000)
技術(shù)狀態(tài)是反映制導(dǎo)彈藥質(zhì)量狀況的重要指標(biāo),其判斷依據(jù)為制導(dǎo)彈藥技術(shù)狀態(tài)監(jiān)測(cè)數(shù)據(jù)?,F(xiàn)階段,部隊(duì)保障人員主要是通過(guò)定期檢測(cè)的方式獲取到彈藥狀態(tài)信息,根據(jù)檢測(cè)數(shù)據(jù)進(jìn)行閾值判斷來(lái)確定制導(dǎo)彈藥的技術(shù)狀態(tài)。這種定期檢測(cè)的方式勢(shì)必會(huì)出現(xiàn)“過(guò)檢”和“漏檢”現(xiàn)象,既無(wú)法滿足實(shí)時(shí)性要求,又減少?gòu)椝帀勖R虼?,利用歷史特征量參數(shù)預(yù)測(cè)制導(dǎo)彈藥的技術(shù)狀態(tài)顯得尤為重要[1-3]。
目前,關(guān)于預(yù)測(cè)模型,國(guó)內(nèi)外學(xué)者已經(jīng)做了大量工作,取得了一定的成果。比較常用的有:灰色預(yù)測(cè)方法[4-5]通過(guò)鑒別系統(tǒng)因素之間發(fā)展趨勢(shì)的相異程度,將無(wú)序的數(shù)據(jù)轉(zhuǎn)化為規(guī)律數(shù)據(jù)進(jìn)行預(yù)測(cè),能夠預(yù)測(cè)小樣本,但模型參數(shù)固定,精度較差,且只能用于預(yù)測(cè)指數(shù)型增長(zhǎng)的數(shù)據(jù)。新陳代謝預(yù)測(cè)方法[6]在灰色預(yù)測(cè)的基礎(chǔ)上,每次預(yù)測(cè)后對(duì)模型系數(shù)和待辨識(shí)參數(shù)進(jìn)行調(diào)整,提高了模型的自適應(yīng)性,但模型預(yù)測(cè)仍只適用指數(shù)型增長(zhǎng)的數(shù)據(jù)?;貧w預(yù)測(cè)方法[7]根據(jù)預(yù)測(cè)對(duì)象影響因素的變化趨勢(shì)預(yù)測(cè)數(shù)據(jù)狀態(tài),預(yù)測(cè)過(guò)程簡(jiǎn)單,但要求樣本數(shù)據(jù)有較好的分布規(guī)律,且預(yù)測(cè)精度、可信度較低。指數(shù)平滑預(yù)測(cè)方法[8-9]以本期樣本數(shù)據(jù)和預(yù)測(cè)數(shù)據(jù)為基礎(chǔ),引入平滑系數(shù)求得下期預(yù)測(cè)數(shù),模型適應(yīng)性強(qiáng),但模型建立時(shí)間長(zhǎng),精度較低。
為了改進(jìn)上述預(yù)測(cè)方法的不足,結(jié)合制導(dǎo)彈藥技術(shù)狀態(tài)特點(diǎn),將ARMA模型預(yù)測(cè)法應(yīng)用到制導(dǎo)彈藥技術(shù)狀態(tài)預(yù)測(cè)中,提出了基于遺傳算法優(yōu)化的ARMA模型,對(duì)模型階數(shù)進(jìn)行了優(yōu)化,提高了預(yù)測(cè)精度,較好地實(shí)現(xiàn)了制導(dǎo)彈藥技術(shù)狀態(tài)預(yù)測(cè),為制導(dǎo)彈藥故障預(yù)測(cè)和壽命管理打下了基礎(chǔ)。
ARMA(p,q)模型是由Box 和Jenkins 共同創(chuàng)立的一種比較常用的隨機(jī)時(shí)間序列模型[10],主要針對(duì)部分依賴(lài)時(shí)間t 的隨機(jī)變量,盡管組成序列的單獨(dú)時(shí)間序列值模糊、不確定,但是在完整時(shí)間序列上值的變化趨勢(shì)是有規(guī)律可循的,能夠借助數(shù)學(xué)模型進(jìn)行預(yù)測(cè)。
若系統(tǒng)參數(shù)的預(yù)測(cè)值不僅與歷史檢測(cè)數(shù)據(jù)有關(guān),還與擾動(dòng)項(xiàng)有關(guān),則時(shí)間序列滿足ARMA(p,q)模型,即[11-13]:
1)數(shù)據(jù)預(yù)處理。數(shù)據(jù)預(yù)處理的目的是剔除趨勢(shì)項(xiàng)與周期項(xiàng),使數(shù)據(jù)平穩(wěn)化。對(duì)收集到的檢測(cè)數(shù)據(jù)時(shí)間序列進(jìn)行平穩(wěn)性檢驗(yàn),若該序列為非平穩(wěn)序列,一般采用差分的方法使序列達(dá)到平穩(wěn)。
3)參數(shù)估計(jì)。求解出ARMA(p,q)模型階數(shù)p、q的值后,需要對(duì)式(1)中的未知參數(shù)φ1、φ2、…、φp和θ1、θ2、…、θq進(jìn)行估計(jì)。模型參數(shù)估計(jì)方法較多,一般分為最小二乘估計(jì)、矩估計(jì)和極大似然估計(jì)3種。為了方便計(jì)算,筆者采用Matlab中關(guān)于時(shí)間序列分析函數(shù)armax進(jìn)行參數(shù)估計(jì)。
4)模型的檢驗(yàn)。根據(jù)模型中參數(shù)的估計(jì)值,取顯著性水平α 對(duì)其進(jìn)行檢驗(yàn),驗(yàn)證殘差數(shù)列是否為白噪聲序列[15]。本文采用LB 統(tǒng)計(jì)量檢驗(yàn)法來(lái)考察模型的優(yōu)劣。在得到最優(yōu)的模型后,可以根據(jù)特征量參數(shù)歷史檢測(cè)數(shù)據(jù),運(yùn)用ARMA模型進(jìn)行預(yù)測(cè)。
遺傳算法(Genetic Algorithm)是一類(lèi)通過(guò)模擬自然進(jìn)化過(guò)程搜索最優(yōu)解的方法,該方法在解決非線性、多目標(biāo)等復(fù)雜系統(tǒng)的優(yōu)化時(shí)提供了比較通用的結(jié)構(gòu)。采用遺傳算法對(duì)ARMA模型定階過(guò)程進(jìn)行優(yōu)化,具體如下[16-17]。
1)設(shè)置初始種群數(shù)量。設(shè)置原始種群數(shù)量時(shí),要確保原始種群數(shù)量符合問(wèn)題需求。筆者在確定初始種群數(shù)量時(shí),由計(jì)算機(jī)隨機(jī)生成N 個(gè)初始的數(shù)據(jù)組,每個(gè)數(shù)據(jù)組代表一個(gè)個(gè)體,共同組成一個(gè)種群。算法就是以這個(gè)隨機(jī)初始化后的種群開(kāi)始迭代計(jì)算尋優(yōu)。
2)選擇編碼方法。用遺傳算法去優(yōu)化ARMA(p,q)模型中自回歸階數(shù)p 和移動(dòng)平均階數(shù)q,2 個(gè)參數(shù)的取值都比較小,且都為正整數(shù)。因此,本文選擇10 位二進(jìn)制數(shù)進(jìn)行編碼,前5位表示p 的取值,后5位代表q 的取值。
3)適應(yīng)度函數(shù)的確定。適應(yīng)度指的是種群個(gè)體對(duì)所在環(huán)境的適應(yīng)能力,也表示該個(gè)體繁衍下一代的能力。適應(yīng)度函數(shù)確定如下:
式(2)、(3)中:m 為已知檢測(cè)數(shù)據(jù)個(gè)數(shù);x^(i)為i 時(shí)刻檢測(cè)數(shù)據(jù)x(i)的預(yù)測(cè)值;為已知檢測(cè)數(shù)據(jù)均值;V 為平均相對(duì)變動(dòng)值;f(i)為適應(yīng)度函數(shù)。
可以看出,適應(yīng)度函數(shù)值越大,即V 越小,預(yù)測(cè)模型的預(yù)測(cè)效果則更好。
4)確定遺傳選擇算子。在算法中進(jìn)行遺傳選擇的就是遺傳選擇算子,它負(fù)責(zé)根據(jù)每一個(gè)體的適應(yīng)度值對(duì)其進(jìn)行優(yōu)勝劣汰的選擇運(yùn)算。筆者選擇排序法進(jìn)行遺傳選擇運(yùn)算[18]。
假設(shè),種群中個(gè)體數(shù)為M,由前面可知,每個(gè)個(gè)體的適應(yīng)度值為f(i),則其選擇概率定義為:
由式(4)求解出種群中每個(gè)個(gè)體的選擇概率后,基于選擇概率,分配個(gè)體被選中的概率,然后可利用輪盤(pán)賭法,產(chǎn)生一個(gè)隨機(jī)數(shù)作為輪盤(pán)指針完成選擇[19]。
5)設(shè)計(jì)交叉算子。在遺傳算法中,用交叉算子來(lái)實(shí)現(xiàn)2 個(gè)個(gè)體之間部分染色體的相互交換,交叉算子具有較強(qiáng)的全局搜索能力。筆者選擇的編碼方式為二進(jìn)制編碼,所以選擇單點(diǎn)交叉的方式實(shí)現(xiàn)交叉,其原理示意如下:
個(gè)體A:XXX ↑XXXXX →新個(gè)體A′:YYY ↑XXXXX;
個(gè)體B:YYY ↑YYYYY →新個(gè)體B′:XXX ↑YYYYY。其中,↑處表示設(shè)置的交叉點(diǎn)。
6)設(shè)計(jì)變異算子。針對(duì)二進(jìn)制編碼方式,選擇二進(jìn)制變異的方法。它的算法功能就是使個(gè)體編碼序列中的部分基因值(編碼數(shù))取反。原理如下:
7)設(shè)置中止條件。當(dāng)前常用的中止判定條件主要有2 個(gè)大的方向:一個(gè)方向是最優(yōu)化后個(gè)體的適應(yīng)度滿足所要求的條件;另一個(gè)方向是迭代計(jì)算的次數(shù)T 已經(jīng)達(dá)到初始條件設(shè)置時(shí)的預(yù)設(shè)值。
如何應(yīng)用遺傳算法來(lái)優(yōu)化ARMA(p,q)模型中的階數(shù)是預(yù)測(cè)的關(guān)鍵?;诟倪M(jìn)遺傳算法的ARMA(p,q)階數(shù)確定方法具體步驟如下。
1)根據(jù)模型需要優(yōu)化階數(shù)p、q 的取值范圍,確定變量的編碼方式和編碼長(zhǎng)度;設(shè)定種群的數(shù)量N=30;中止條件為滿足預(yù)先設(shè)定的迭代次數(shù)T=50。
2)根據(jù)種群數(shù)量初始值隨機(jī)初始化30個(gè)個(gè)體。
3)由初始條件,對(duì)初始化后的30 個(gè)個(gè)體共30 組二進(jìn)制編碼進(jìn)行解碼,求出初始模型階數(shù)p、q 的值。
4)根據(jù)步驟3)求出的階數(shù),借助已知的彈藥檢測(cè)數(shù)據(jù)進(jìn)行ARMA(p,q)中未知參數(shù)估計(jì),確定出完整的模型,進(jìn)行預(yù)測(cè),并分別求出適應(yīng)度值。
5)根據(jù)步驟4)求解出的適應(yīng)度值,借助3 大算子對(duì)初始種群加以更新獲得下一代新的種群。
6)根據(jù)步驟5)得到的新種群,重新進(jìn)行解碼,返回步驟2)繼續(xù)迭代。
7)迭代次數(shù)達(dá)到預(yù)設(shè)值50 次,確定最優(yōu)階數(shù)p、q 的值,結(jié)束迭代。
ARMA(p,q)模型階數(shù)確定流程圖如圖1所示。
圖1 ARMA模型階數(shù)確定流程圖Fig.1 Determining flowsheet of ARMA model order
以某型制導(dǎo)彈藥特征量參數(shù)歷史檢測(cè)數(shù)據(jù)為樣本進(jìn)行技術(shù)狀態(tài)預(yù)測(cè)。進(jìn)行數(shù)據(jù)預(yù)處理,剔除干擾數(shù)據(jù),得到特征量參數(shù)歷史檢測(cè)樣本數(shù)據(jù)見(jiàn)表1。
運(yùn)用遺傳算法確定ARMA 模型階數(shù)。以表1 中的第1、35組為例,利用Matlab中遺傳算法工具箱Gatool,設(shè)定待優(yōu)化參數(shù)的二進(jìn)制編碼長(zhǎng)度為10位,種群個(gè)體N=30 ,最大迭代次數(shù)T=50 。求得優(yōu)化后ARMA 模型階數(shù)為:p=3、q=3。適應(yīng)度函數(shù)變化情況見(jiàn)圖2。
表1 特征量參數(shù)歷史檢測(cè)樣本數(shù)據(jù)Tab.1 Feature quantity parameter history detection sample data
圖2 適應(yīng)度函數(shù)變化曲線Fig.2 Fitness function curve
由圖2 可知,適應(yīng)度值越大,其優(yōu)化效果更優(yōu),尋優(yōu)后參數(shù)對(duì)整個(gè)模型的適應(yīng)度值也伴隨迭代次數(shù)的增加,趨近于最優(yōu)值2.26附近,優(yōu)化效果比較明顯。
借助Matlab 中關(guān)于時(shí)間序列分析函數(shù)armax(data,[p,q])、predict(m,data,1)等編寫(xiě)Matlab 程序?qū)崿F(xiàn)預(yù)測(cè),根據(jù)表1中的歷史檢測(cè)樣本,對(duì)各個(gè)參數(shù)進(jìn)行預(yù)測(cè),模型預(yù)測(cè)精度通過(guò)預(yù)測(cè)誤差率來(lái)表示。在不同模型階數(shù)情況下,計(jì)算預(yù)測(cè)誤差率的最大值、最小值以及平均誤差率3項(xiàng)指標(biāo)來(lái)對(duì)比分析預(yù)測(cè)模型的預(yù)測(cè)精度和可信度。
以第3組數(shù)據(jù)為例,計(jì)算預(yù)測(cè)誤差率,其結(jié)果列于表2中,預(yù)測(cè)值與歷史檢測(cè)值對(duì)比曲線見(jiàn)圖3。
表2 預(yù)測(cè)誤差率統(tǒng)計(jì)Tab.2 Prediction error rate statistics
圖3 預(yù)測(cè)值與歷史檢測(cè)值對(duì)比曲線Fig.3 Comparison curve between predicted value and historical detection value
由表2和圖3的數(shù)據(jù)顯示,預(yù)測(cè)誤差率很小,最大誤差率僅在1%左右,證明了預(yù)測(cè)模型的精確性以及參數(shù)估計(jì)方法的有效性。
隨著模型階數(shù)的增加,平均誤差率逐漸降低,當(dāng)p=3、q=3 時(shí),誤差最小,歷史檢測(cè)值曲線與預(yù)測(cè)值曲線的吻合度最高。因此,由遺傳算法優(yōu)化后的ARMA 模型為ARMA(3,3)。
為了更好地說(shuō)明采用遺傳算法來(lái)優(yōu)化預(yù)測(cè)模型的優(yōu)越性,基于相同的樣本檢測(cè)數(shù)據(jù),利用預(yù)測(cè)分析軟件EViews,通過(guò)相關(guān)系數(shù)法對(duì)檢測(cè)參數(shù)進(jìn)行預(yù)測(cè)分析[20]。2 種方法的不同之處在于模型階數(shù)的確定,筆者采用遺傳算法優(yōu)化確定模型階數(shù),EViews軟件則通過(guò)計(jì)算自相關(guān)系數(shù)和偏自相關(guān)系數(shù)來(lái)確定ARMA 模型階數(shù)。通過(guò)在EViews中分析其AC和PAC的值,如圖4所示。
圖4 AC、PAC分析圖Fig.4 Analysis diagram of AC and PAC
當(dāng)自相關(guān)系數(shù)p=2,偏相關(guān)系數(shù)q=2 時(shí),相關(guān)系數(shù)明顯落入隨機(jī)區(qū)間,因而確定出的時(shí)間序列模型為ARMA(2,2)。此時(shí),模型參數(shù)估計(jì)如圖5 所示。使用歷史檢測(cè)樣本第3 組數(shù)據(jù)進(jìn)行預(yù)測(cè)分析,預(yù)測(cè)結(jié)果如圖6所示。
圖5 ARMA(2,2)模型參數(shù)估計(jì)Fig.5 ARMA(2,2) model parameter estimation
圖6 參數(shù)預(yù)測(cè)對(duì)比分析圖Fig.6 Analysis diagram of parametric prediction comparison
遺傳算法優(yōu)化后確定的最優(yōu)模型ARMA(3,3)與利用相關(guān)系數(shù)法確定的ARMA(2,2)模型分別對(duì)第3組檢測(cè)樣本進(jìn)行預(yù)測(cè),結(jié)果如表3所示。表3表明,采用遺傳算法對(duì)模型進(jìn)行優(yōu)化,預(yù)測(cè)結(jié)果更為精確。
表3 2種方法各項(xiàng)指標(biāo)比較Tab.3 Comparison of the indicators of the two methods
此外,將優(yōu)化前的ARMA 模型分別對(duì)其余35 組歷史檢測(cè)樣本進(jìn)行預(yù)測(cè)。2種模型對(duì)同樣36組數(shù)據(jù)預(yù)測(cè)平均誤差如圖7所示。
由圖7 看出,2 種模型36 組檢測(cè)數(shù)據(jù)均可實(shí)現(xiàn)預(yù)測(cè)效能,經(jīng)遺傳算法優(yōu)化的ARMA模型總體預(yù)測(cè)效果(預(yù)測(cè)平均誤差均值為0.180 8%)好于經(jīng)典ARMA 模型(預(yù)測(cè)平均誤差均值為0.402 2%)。
圖7 優(yōu)化前后模型36組數(shù)據(jù)預(yù)測(cè)平均誤差對(duì)比Fig.7 Prediction average error compared of 36 groups of data before and after optimization
本文提出了基于遺傳算法優(yōu)化的ARMA 模型制導(dǎo)彈藥技術(shù)狀態(tài)預(yù)測(cè)方法,通過(guò)遺傳算法優(yōu)化了模型階數(shù)p、q;然后,分析了制導(dǎo)彈藥檢測(cè)數(shù)據(jù)變化情況,并通過(guò)實(shí)例與經(jīng)典ARMA 預(yù)測(cè)模型進(jìn)行了對(duì)比。結(jié)果表明,遺傳算法優(yōu)化后的ARMA(3,3)模型的預(yù)測(cè)平均誤差遠(yuǎn)低于經(jīng)典ARMA(2,2)模型。經(jīng)遺傳算法優(yōu)化過(guò)ARMA(p,q)模型預(yù)測(cè)誤差小,效果好,還能在一定程度上為制導(dǎo)彈藥技術(shù)狀態(tài)評(píng)估、故障預(yù)測(cè)和制導(dǎo)彈藥全壽命管理提供參考。