田珂,王榮江,郭豐
(中國人民解放軍63861部隊,吉林 白城 137001)
利用初速雷達(dá)測試彈丸炮口初速的靶場試驗中,為了準(zhǔn)確鑒定某型坦克炮的射擊性能,需要兩臺初速雷達(dá)同時參試,每發(fā)彈丸提供2個初速數(shù)據(jù)。當(dāng)遇到雷達(dá)死機(jī)、紅外未啟、火炮故障等異常情況時,就會缺失某些彈丸的初速數(shù)據(jù),所以通過建模預(yù)測出缺失的初速數(shù)據(jù)就很必要。目前預(yù)測初速的方法有很多[1-4],GM(1,1)灰色模型適用于數(shù)據(jù)本身呈指數(shù)變化規(guī)律的情形,所以預(yù)測初速的精度不高[5],組合模型也只是在單項模型的基礎(chǔ)上提升預(yù)測精度[3],仍然難以達(dá)到初速雷達(dá)1‰的誤差標(biāo)準(zhǔn)。因此,為了提升預(yù)測精度,選擇把兩臺初速雷達(dá)的數(shù)據(jù)進(jìn)行深度融合,一臺雷達(dá)的相關(guān)數(shù)據(jù)作為輸入向量,另一臺雷達(dá)的初速數(shù)據(jù)作為輸出向量,建立遺傳算法優(yōu)化LSSVM非線性模型進(jìn)行預(yù)測。最小二乘支持向量機(jī)(LSSVM)適合作為小樣本非線性數(shù)據(jù)序列的預(yù)測模型[5],同時利用遺傳算法對其進(jìn)行參數(shù)優(yōu)化,可以極大提高預(yù)測彈丸初速的精度。引入ARIMA模型、GM(1,1)模型、支持向量回歸機(jī)和BP神經(jīng)網(wǎng)絡(luò)作為對比。實驗結(jié)果表明,遺傳算法優(yōu)化LSSVM模型預(yù)測出的初速數(shù)據(jù)與實測值最為接近,且誤差小于1‰,更適合作為彈丸初速的預(yù)測模型。
在測試坦克炮初速的具體試驗中,兩臺初速雷達(dá)是對稱布置在火炮的兩側(cè),兩臺雷達(dá)相對火炮的布站參數(shù)是基本一致的,具體的布站位置如圖1所示。影響雷達(dá)測試精度的因素通常為雷達(dá)的后正y和左正x。假設(shè)當(dāng)雷達(dá)B的初速數(shù)據(jù)出現(xiàn)缺失時,選擇把雷達(dá)A的左正、后正和初速數(shù)據(jù)作為預(yù)測模型的輸入向量,雷達(dá)B的初速數(shù)據(jù)作為預(yù)測模型的輸出向量,然后再把雷達(dá)B缺失的初速數(shù)據(jù)對應(yīng)的雷達(dá)A的左正、后正和初速數(shù)據(jù)代入到建立好的模型,就可以預(yù)測出雷達(dá)B缺失的初速數(shù)據(jù)。
最小二乘支持向量機(jī)(LSSVM)是在標(biāo)準(zhǔn)支持向量機(jī)(SVM)的目標(biāo)函數(shù)中增加了誤差平方和項,用等式約束條件代替不等式約束條件,求解過程變?yōu)榻庖唤M等式方程[6]。原理是指當(dāng)給定一組樣本數(shù)據(jù){xi,yi},i=1,2,…,n,xi∈Rn表示輸入樣本,yi∈R表示對應(yīng)的輸出樣本,n表示樣本的數(shù)量,通過訓(xùn)練樣本數(shù)據(jù),找出相對“平滑”的函數(shù)逼近樣本集的輸入、輸出關(guān)系,當(dāng)有一組新的輸入時也能給出相對準(zhǔn)確的輸出[7]。最小二乘支持向量機(jī)的擬合問題區(qū)分為線性問題和非線性問題。針對線性問題而言,其回歸函數(shù)為
f(x,α)=ωx+b,
(1)
式中,ω為權(quán)向量。
針對非線性問題,可以用核函數(shù)代替內(nèi)積函數(shù),即k(x,xi)=φ(x)φ(xi),回歸方程就變?yōu)閇8]
(2)
選擇把雷達(dá)A的左正、后正和初速作為輸入,雷達(dá)B的初速作為輸出,利用兩臺雷達(dá)已測歷史數(shù)據(jù)建立最小二乘支持向量機(jī)(LSSVM)模型,然后再把雷達(dá)A的輸入帶入到所建模型中,就可以預(yù)測出雷達(dá)B的初速。要準(zhǔn)確預(yù)測出雷達(dá)B的初速,就必須建立優(yōu)質(zhì)的最小二乘支持向量機(jī)模型,關(guān)鍵就是要確定建立模型的最佳參數(shù)。遺傳算法是一種借鑒生物界自然選擇和自然遺傳機(jī)制的隨機(jī)搜索算法,能夠在搜索過程中自動獲取和積累有關(guān)搜索空間的知識,并自適應(yīng)地控制搜索過程以求得最優(yōu)解[9]。遺傳算法將問題的求解表示為“染色體”,該算法從一群染色體串出發(fā),根據(jù)適者生存的原則,從中選擇出適應(yīng)度高的染色體個體進(jìn)行復(fù)制,通過交叉、變異兩種基因操作產(chǎn)生新一代的、更適應(yīng)環(huán)境的“染色體”種群,隨著遺傳算法一代一代的運行,那些適應(yīng)度高的模型將在后代中呈現(xiàn)指數(shù)級增長,最終得到適應(yīng)度最高的染色體,即優(yōu)化問題的最優(yōu)解[6]。根據(jù)最小二乘支持向量機(jī)的建模原理可知,正則化參數(shù)γ與核函數(shù)的參數(shù)σ是影響最小二乘支持向量機(jī)預(yù)測精度的主要因素,所以選擇利用遺傳算法搜尋出最小二乘支持向量機(jī)的兩個最佳參數(shù)。遺傳算法利用遺傳算子對種群中的個體進(jìn)行操作,通過不斷交換染色體信息,使種群得以進(jìn)化,最終使適應(yīng)值好的個體得以保留,而適應(yīng)值差的個體在進(jìn)化過程中被逐漸淘汰[10]。利用遺傳算法搜索LSSVM的正則化參數(shù)γ與核函數(shù)的參數(shù)σ的步驟如圖2所示。
實驗選擇利用RStudio軟件環(huán)境進(jìn)行數(shù)據(jù)分析、統(tǒng)計建模及數(shù)據(jù)可視化。為了驗證遺傳算法優(yōu)化LSSVM模型預(yù)測彈丸初速的精度高于其余模型,選擇利用初速雷達(dá)測試的某型坦克炮試驗數(shù)據(jù)進(jìn)行驗證,具體的數(shù)據(jù)如表1所示。
表1 初速雷達(dá)測試坦克炮初速實測值DATA1
為了檢驗雷達(dá)A的左正、后正和初速與雷達(dá)B初速之間的關(guān)聯(lián)性,是否有利于提升預(yù)測雷達(dá)B初速的準(zhǔn)確性,把雷達(dá)A的左正、后正和初速作為自變量,把雷達(dá)B的初速作為因變量,計算自變量與因變量之間的相關(guān)系數(shù)如表2所示,繪制相關(guān)系數(shù)矩陣如圖3所示。結(jié)合表2和圖3可以得知,所有的相關(guān)系數(shù)均不為0,說明自變量和因變量之間存在因果關(guān)系,是存在相關(guān)性的[11],所以把雷達(dá)A的左正、后正和初速作為自變量可以提升預(yù)測雷達(dá)B初速的準(zhǔn)確性。
表2 相關(guān)系數(shù)矩陣
選擇將表1中的第1~35行作為訓(xùn)練數(shù)據(jù),將第36~42行作為測試數(shù)據(jù),將第1~3列作為輸入向量、第4列作為輸出向量。利用遺傳算法優(yōu)化最小二乘支持向量機(jī)的參數(shù),主要是優(yōu)化RBF徑向基核函數(shù)的參數(shù)和正則化參數(shù),核函數(shù)的參數(shù)表示在更高維特征空間中數(shù)據(jù)點分布的離散程度,而正則化參數(shù)主要是在最小二乘支持向量機(jī)模型中的回歸函數(shù)兩項中起到平衡調(diào)節(jié)的作用[12]。針對遺傳算法優(yōu)化LSSVM模型而言,把訓(xùn)練數(shù)據(jù)第1~35行中的第1~25行再作為訓(xùn)練數(shù)據(jù),第26~35行再作為測試數(shù)據(jù),并把該測試數(shù)據(jù)的均方誤差最小值作為適應(yīng)度函數(shù),核函數(shù)參數(shù)和正則化參數(shù)的尋優(yōu)范圍設(shè)置為0到1 100,種群規(guī)模設(shè)置為900,迭代次數(shù)設(shè)為200,基因變異的概率設(shè)為0.001,最后搜尋出的最優(yōu)參數(shù),核函數(shù)參數(shù)為9.198 092,正則化參數(shù)為1 098.164 304,把這兩個參數(shù)重新代入到模型中就可以預(yù)測出雷達(dá)B第36~42發(fā)初速數(shù)據(jù)。把ARIMA模型[3]、GM(1,1)模型、支持向量回歸機(jī)和BP神經(jīng)網(wǎng)絡(luò)模型作為對比模型,同樣利用訓(xùn)練數(shù)據(jù)進(jìn)行建模預(yù)測,就可以得到相應(yīng)的預(yù)測值。支持向量回歸機(jī)的核函數(shù)選擇徑向基核函數(shù)。BP神經(jīng)網(wǎng)絡(luò)選擇3層網(wǎng)絡(luò)結(jié)構(gòu),根據(jù)經(jīng)驗公式[13]確定隱含層的神經(jīng)元個數(shù)為6。表1中雷達(dá)B第36~42發(fā)初速實測值與所有模型的預(yù)測值如表3所示。
表3 初速雷達(dá)B(DATA1)第36~42發(fā)實測值與所有模型預(yù)測值 m·s-1
根據(jù)表3的具體數(shù)據(jù)可以準(zhǔn)確地看出,遺傳算法優(yōu)化LSSVM預(yù)測值最接近實測值。經(jīng)過計算得出:ARIMA模型預(yù)測值與實測值的平均相對誤差為0.331%;GM(1,1)模型預(yù)測值與實測值的平均相對誤差為0.370%;支持向量回歸機(jī)預(yù)測值與實測值的平均相對誤差為0.402%;BP神經(jīng)網(wǎng)絡(luò)預(yù)測值與實測值的平均相對誤差為0.344%;遺傳算法優(yōu)化LSSVM預(yù)測值與實測值的平均相對誤差為0.096%。所以遺傳算法優(yōu)化LSSVM預(yù)測彈丸初速的誤差最小,預(yù)測精度最高。此外,遺傳算法優(yōu)化LSSVM的預(yù)測值與實測值的絕對誤差,以及實測值乘以1‰的誤差標(biāo)準(zhǔn)如表4所示。
從表4可以看出,除了第36、40、42發(fā)遺傳算法優(yōu)化LSSVM預(yù)測值與實測值的絕對誤差大于實測值乘以1‰的誤差標(biāo)準(zhǔn)以外,第37、38、39、41發(fā)的絕對誤差均小于誤差標(biāo)準(zhǔn),所以遺傳算法優(yōu)化LSSVM預(yù)測彈丸初速整體的精度是滿足要求的,單項預(yù)測精度也基本滿足要求。
表4 遺傳算法優(yōu)化LSSVM預(yù)測值與實測值的絕對誤差及誤差標(biāo)準(zhǔn)
選擇兩臺初速雷達(dá)測試的另一種坦克炮彈的初速數(shù)據(jù)(共43發(fā))再次進(jìn)行驗證,把第1~35發(fā)初速數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),第36~43發(fā)初速數(shù)據(jù)作為測試數(shù)據(jù),采用同樣的建模預(yù)測方法得到雷達(dá)B第36~43發(fā)初速實測值與所有模型預(yù)測值,如表5所示。
表5 雷達(dá)B(DATA2)第36~43發(fā)實測值與所有模型預(yù)測值 m·s-1
根據(jù)表5可以看出,除了GM(1,1)灰色模型的預(yù)測值與實測值相差較大以外,其余模型預(yù)測值都很接近實測值。經(jīng)過詳細(xì)計算得出:GM(1,1)灰色模型的預(yù)測值與實測值的平均相對誤差為0.438%;支持向量回歸機(jī)預(yù)測值與實測值的平均相對誤差為0.049%;BP神經(jīng)網(wǎng)絡(luò)預(yù)測值與實測值的平均相對誤差為0.071%;遺傳算法優(yōu)化LSSVM預(yù)測值與實測值的平均相對誤差為0.040%,表明遺傳算法優(yōu)化LSSVM預(yù)測的初速數(shù)據(jù)誤差最小,精度最高。此外,遺傳算法優(yōu)化LSSVM預(yù)測值與實測值的絕對誤差均小于實測值乘以1‰的誤差標(biāo)準(zhǔn)。
通過利用ARIMA模型、GM(1,1)模型、支持向量回歸機(jī)、BP神經(jīng)網(wǎng)絡(luò)、遺傳算法優(yōu)化LSSVM對2組初速數(shù)據(jù)的建模預(yù)測結(jié)果可知,遺傳算法優(yōu)化LSSVM模型預(yù)測雷達(dá)B缺失的初速數(shù)據(jù),不論是整體的預(yù)測精度還是單項預(yù)測精度都基本滿足雷達(dá)測試彈丸初速的精度要求,預(yù)測出的數(shù)據(jù)是準(zhǔn)確可信的,可以作為靶場試驗中缺失初速數(shù)據(jù)的補(bǔ)充數(shù)據(jù)。
當(dāng)雷達(dá)B的初速出現(xiàn)缺失時,選擇把雷達(dá)A的數(shù)據(jù)作為輸入、雷達(dá)B的初速作為輸出,利用已測數(shù)據(jù)分別訓(xùn)練ARIMA模型、GM(1,1)模型、支持向量回歸機(jī)、BP神經(jīng)網(wǎng)絡(luò)、遺傳算法優(yōu)化LSSVM,然后把雷達(dá)A的數(shù)據(jù)代入到所建模型,就能預(yù)測出雷達(dá)B缺失的初速。實驗結(jié)果表明,遺傳算法優(yōu)化LSSVM預(yù)測雷達(dá)B初速的精度最高,預(yù)測誤差滿足初速雷達(dá)測試彈丸初速誤差小于1‰的標(biāo)準(zhǔn),可以作為彈丸初速的預(yù)測模型。