韓聰玲,劉克格,劉彥鵬
(國(guó)機(jī)集團(tuán)北京飛機(jī)強(qiáng)度研究所有限公司,北京 100083)
在飛機(jī)使用和研制過程中,通常需要進(jìn)行載荷譜實(shí)測(cè)。載荷譜實(shí)測(cè)在當(dāng)前工業(yè)應(yīng)用中具有重要意義,載荷譜實(shí)測(cè)結(jié)論可以應(yīng)用在以下方面:(1)壽命估算;(2)全尺寸試驗(yàn);(3)可靠性設(shè)計(jì);(4)耐久性評(píng)定;(5)計(jì)算機(jī)輔助設(shè)計(jì)。
根據(jù)飛機(jī)的空間力受載分析,通過應(yīng)變橋路設(shè)計(jì)、載荷標(biāo)定,建立關(guān)于實(shí)測(cè)載荷輸入同應(yīng)變(碼值)輸出的數(shù)據(jù)關(guān)系方程,并對(duì)方程求解,結(jié)合飛機(jī)實(shí)測(cè)飛行數(shù)據(jù),可以獲得飛行狀態(tài)中相關(guān)部件實(shí)際運(yùn)作中的載荷-時(shí)間歷程,即實(shí)測(cè)載荷譜。
工程實(shí)踐中,實(shí)測(cè)載荷與應(yīng)變(碼值)通常滿足一定的線性函數(shù)關(guān)系,所以,利用標(biāo)定試驗(yàn)數(shù)據(jù),建立線性關(guān)系方程,即標(biāo)定試驗(yàn)方程,最終解得回歸系數(shù),得到載荷-應(yīng)變(碼值)的函數(shù)關(guān)系,是本階段試驗(yàn)的主要目的。這種基于多元線性回歸的預(yù)測(cè)方法,在進(jìn)行有效參數(shù)分析時(shí),某種程度在分析過程中依賴技術(shù)人員的經(jīng)驗(yàn),通常在一定范圍內(nèi)誤差可以控制在5%以內(nèi),結(jié)果較為滿意。但對(duì)于載荷與應(yīng)變(碼值)之間有復(fù)雜的相關(guān)性時(shí),會(huì)對(duì)最終載荷標(biāo)定精度造成影響。文獻(xiàn)[1]提出了一種“多元回歸選元方法”,其基本思路是把回歸變異系數(shù)作為選用依據(jù),進(jìn)行誤差控制,選出最優(yōu)自變量參與回歸計(jì)算,從而得到最優(yōu)解。基于該方法,目前已使用多型號(hào)的飛機(jī)載荷譜實(shí)測(cè)試驗(yàn)數(shù)據(jù)進(jìn)行了成功的驗(yàn)證,驗(yàn)證的數(shù)據(jù)誤差可控制在5%以內(nèi),結(jié)果較為滿意。
在參數(shù)較多、載荷分量較小時(shí),誤差會(huì)偏大。同時(shí),考慮到實(shí)際的結(jié)構(gòu)部件和原材料等問題的影響,輸入載荷與輸出應(yīng)變(碼值)在某一特定數(shù)據(jù)值范圍內(nèi)會(huì)呈現(xiàn)出一定的非線性關(guān)系,因此本文對(duì)計(jì)算載荷與輸出應(yīng)變關(guān)系的方法進(jìn)行新的嘗試和探索,使用基于機(jī)器學(xué)習(xí)的大數(shù)據(jù)非線性回歸分析模型建立載荷與應(yīng)變(碼值)的關(guān)系。
基于應(yīng)變電測(cè)法的載荷譜實(shí)測(cè)試驗(yàn),在標(biāo)定試驗(yàn)過程中,根據(jù)飛機(jī)的受力情況,設(shè)計(jì)應(yīng)變橋路。在應(yīng)變、橋路設(shè)計(jì)的基礎(chǔ)上,通過標(biāo)定試驗(yàn)記錄的試驗(yàn)數(shù)據(jù),建立載荷應(yīng)變函數(shù)方程,再通過此方程計(jì)算出飛機(jī)設(shè)備部件在實(shí)際運(yùn)行時(shí)的載荷隨時(shí)間的變化函數(shù),稱作載荷-時(shí)間歷程。
對(duì)于標(biāo)定試驗(yàn)而言,利用電阻應(yīng)變片測(cè)量出飛機(jī)結(jié)構(gòu)部件表面的應(yīng)變(碼值),再根據(jù)應(yīng)變和應(yīng)力的函數(shù)關(guān)系計(jì)算出結(jié)構(gòu)表面的受力情況。應(yīng)變片的電阻值會(huì)隨結(jié)構(gòu)表面的形變情況發(fā)生變化,電阻變化值可以進(jìn)行物理量的換算,通過計(jì)算可以得到所測(cè)的物理量。原理是載荷=系數(shù)×應(yīng)變,利用可控的已知載荷和應(yīng)變數(shù)值求出未知系數(shù)。
以某飛機(jī)為例,設(shè)備結(jié)構(gòu)所承受的外載一般分為空間6個(gè)分力,以某個(gè)部位為例,y向載荷分量剪力Q,忽略x向的載荷分量(相對(duì)較小),即把M、Q、T作為輸入,相應(yīng)的測(cè)試應(yīng)變碼值ε1、ε2、ε3作為輸出。利用試驗(yàn)數(shù)據(jù),基于逐步回歸的數(shù)學(xué)建模,標(biāo)定數(shù)據(jù)處理的數(shù)學(xué)模型為:
求出系數(shù)矩陣βij后,再用有偏估計(jì)或區(qū)間預(yù)測(cè)M、Q、T。在實(shí)際工作中,因?yàn)樽罱K需要預(yù)測(cè)的是M、Q、T,所以模型變形為如下形式:
求解αij系數(shù)矩陣就是標(biāo)定試驗(yàn)階段的主要任務(wù),最終通過最小二乘法計(jì)算得出。
大多數(shù)情況下,在標(biāo)定試驗(yàn)數(shù)據(jù)中,某個(gè)信號(hào)量與載荷值的線性關(guān)系很明顯。以某試驗(yàn)的某個(gè)截面試驗(yàn)數(shù)據(jù)為例,進(jìn)行散點(diǎn)圖繪制(如圖1-圖3所示),縱軸向代表M,theta_m_1、theta_m_2、theta_m_3橫向從上到下依次代表應(yīng)變?chǔ)?、ε2、ε3。
圖1 數(shù)據(jù)關(guān)系的數(shù)據(jù)散點(diǎn)圖
圖2 數(shù)據(jù)關(guān)系的數(shù)據(jù)散點(diǎn)圖
圖3 數(shù)據(jù)關(guān)系的數(shù)據(jù)散點(diǎn)圖
從圖2、圖3所示的ε2、ε3與M關(guān)系圖可以看出,這兩個(gè)分量的散點(diǎn)圖較為分散。在試驗(yàn)過程中,會(huì)出現(xiàn)局部散點(diǎn)分布回歸效果不理想的情況。如果單純地使用線性回歸計(jì)算標(biāo)定試驗(yàn)方程,誤差可能會(huì)偏大,有時(shí)會(huì)出現(xiàn)高于5%的誤差。本文使用非線性回歸模型進(jìn)行計(jì)算,以提高回歸精度。
回歸分析是統(tǒng)計(jì)學(xué)中在觀察和分析大量試驗(yàn)數(shù)據(jù)的規(guī)律后,得出自變量與因變量關(guān)系的過程。目前,在進(jìn)行大數(shù)據(jù)回歸預(yù)測(cè)時(shí),常用的模型包括隨機(jī)森林模型、極端隨機(jī)樹模型、GBDT模型、XGBoost模型等。
隨機(jī)森林是機(jī)器學(xué)習(xí)的經(jīng)典算法,最早由Breiman提出,是基于決策樹的算法,可以有效處理多個(gè)因素相互作用的非線性回歸問題[3-6]。其具有運(yùn)算速度快的優(yōu)點(diǎn),因此是處理大數(shù)據(jù)回歸時(shí)最常用的算法。在處理多變量共線的問題時(shí),不需要進(jìn)行變量篩選。在解決回歸問題時(shí),隨機(jī)森林模型(簡(jiǎn)稱RFR)在計(jì)算一組輸入輸出的非線性回歸關(guān)系時(shí)的計(jì)算過程如下:
(1)基于Bootstrap方法有放回地隨機(jī)選擇子樣本,組建訓(xùn)練集,基于Bootstrap算法重復(fù)取樣,形成一定數(shù)量的訓(xùn)練集,形成獨(dú)立的回歸決策樹。
(2)在回歸樹M個(gè)特征中隨機(jī)取得m個(gè)子特征,逐個(gè)計(jì)算子樣本特征后,從計(jì)算結(jié)果中得到滿足均方誤差最小的條件,形成2個(gè)節(jié)點(diǎn)。
(3)重復(fù)調(diào)用步驟(2),直至滿足模型預(yù)設(shè)停止條件,決策樹計(jì)算結(jié)果完成。
(4)生長(zhǎng)回歸決策樹:
(1)
極端隨機(jī)樹(ET或Extra-Tree)是基于決策樹的集成算法,和隨機(jī)森林方法類似,也是基于多棵決策樹構(gòu)成的,但是又有區(qū)別。極端隨機(jī)樹是將每棵樹都使用全部訓(xùn)練樣本,從而提高了對(duì)全部樣本的利用程度,在一定范圍提升了精度[7]。極端隨機(jī)樹模型通過提高各個(gè)決策樹之間的結(jié)構(gòu)差異,從而構(gòu)建更大的隨機(jī)性,將決策樹泛化誤差加權(quán)值為:
(2)
決策數(shù)據(jù)的差異加權(quán)平均:
(3)
集成后的泛化誤差表示為:
(4)
通過增加決策樹的多樣性以及單個(gè)決策樹的精度,進(jìn)一步提高模型最終集成的預(yù)測(cè)精度。
GBDT(Gradient Boosting Decision Tree)是一種基于多次迭代決策樹算法,其核心思想是基于多棵決策樹的計(jì)算,實(shí)現(xiàn)累加取得最終結(jié)果,該算法所有樹的結(jié)論累加作為最終結(jié)果。這種方法不但可以靈活處理各種類型的連續(xù)值數(shù)據(jù),還可以很好地處理離散數(shù)據(jù)[8-11],可以在較短的訓(xùn)練和調(diào)參時(shí)間范圍內(nèi),取得精度較高的結(jié)果。
GBDT的優(yōu)點(diǎn)主要有:(1)靈活度高,不僅可以處理連續(xù)性數(shù)據(jù),處理離散型數(shù)據(jù)時(shí)效果也很好。(2)可以使用較少的調(diào)參時(shí)間,達(dá)到較高的樣品預(yù)測(cè)精度。GBDT的缺點(diǎn)主要表現(xiàn)在弱學(xué)習(xí)器方面,如果存在依賴關(guān)系,進(jìn)行并行訓(xùn)練比較困難。
下述為GBDT計(jì)算過程。
輸入數(shù)據(jù)集:
T={(x1,y1),(x2,y2),…,(xn,yn)}
(5)
損失函數(shù)表示為:
L(y,f(x))
(6)
首先,初始化:
(7)
(1)對(duì)于樣本,計(jì)算損失函數(shù)的負(fù)梯度,計(jì)算殘差:
(8)
(2)擬合下一輪學(xué)習(xí)器,滿足損失函數(shù)最小:
(9)
(10)
(3)更新f(x)。
(4)計(jì)算回歸樹:
(11)
式中,m=1,2,3…M,M表示迭代次數(shù)。
XGBoost和GBDT很相似,目的是提高算法速度和效率。因此,XGBoost計(jì)算梯度時(shí),使用了二階偏導(dǎo),使得梯度下降得更快更準(zhǔn),在預(yù)防過擬合方面表現(xiàn)很好,損失函數(shù)的計(jì)算精度高,適合計(jì)算系數(shù)矩陣[9-11]。
XGBoost模型如下:
(12)
XGBoost的目標(biāo)函數(shù)為:
(13)
目標(biāo)函數(shù)包括誤差項(xiàng)和正則化項(xiàng),其中,正則化項(xiàng)可以表示成如下形式:
(14)
式中,T為葉子節(jié)點(diǎn)總數(shù),ω為當(dāng)前節(jié)點(diǎn)的特征數(shù)值。目標(biāo)函數(shù)先進(jìn)行二階泰勒展開,再求偏導(dǎo),可得目標(biāo)的最優(yōu)解:
(15)
(16)
基于標(biāo)定試驗(yàn)數(shù)據(jù),去掉系統(tǒng)錯(cuò)誤產(chǎn)生的數(shù)據(jù),按照試驗(yàn)順序選擇一定比例的數(shù)據(jù)作為訓(xùn)練集,其余數(shù)據(jù)作為驗(yàn)證集,根據(jù)機(jī)器學(xué)習(xí)的理論,嘗試構(gòu)建4種非線性回歸預(yù)測(cè)模型。選取隨機(jī)森林、極端隨機(jī)樹、XGBoost、GBDT回歸預(yù)測(cè)模型進(jìn)行訓(xùn)練驗(yàn)證,并計(jì)算誤差情況分析回歸效果。如果誤差在合理范圍內(nèi),則流程結(jié)束,否則需要根據(jù)經(jīng)驗(yàn)調(diào)整模型參數(shù),直至結(jié)果滿意。
現(xiàn)以一個(gè)結(jié)構(gòu)部件的數(shù)據(jù)為例,選取試驗(yàn)中M、Q、T與ε1、ε2、ε3的3組試驗(yàn)測(cè)量數(shù)據(jù)作為模型研究對(duì)象,每組試驗(yàn)數(shù)據(jù)220條,部分樣本數(shù)據(jù)如表1所示。利用Python庫的numpy pandas庫進(jìn)行數(shù)據(jù)處理和計(jì)算,利用sklearn分別建立隨機(jī)森林、極端隨機(jī)樹、XGBoost、GBDT預(yù)測(cè)模型,將測(cè)試數(shù)據(jù)結(jié)構(gòu)隨機(jī)劃分為兩個(gè)部分,70%用于訓(xùn)練,30%用于驗(yàn)證集合。
表1 部分樣本數(shù)據(jù)
模型調(diào)參是訓(xùn)練模型中不可缺少的,分別使用隨機(jī)森林、極端隨機(jī)樹、GBDT、XGBoost等4種預(yù)測(cè)模型,模型的參數(shù)設(shè)置會(huì)直接影響模型的計(jì)算效率和精度。隨機(jī)森林、極端隨機(jī)樹、XGBoost、GBDT預(yù)測(cè)模型都是基于決策樹的算法模型,本文以決策樹的數(shù)量n_estimators、最小樣本數(shù)min_samples_split、最大深度max_depth、隨機(jī)選擇的最大特征max_features作為調(diào)參對(duì)象,進(jìn)行反復(fù)計(jì)算比較。隨機(jī)森林、極端隨機(jī)樹、GBDT、XGBoost模型參數(shù)如表2-表5所示。
表2 隨機(jī)森林模型參數(shù)
表3 極端隨機(jī)樹模型參數(shù)
表4 GBDT模型參數(shù)
表5 XGBoost模型參數(shù)
根據(jù)上述模型和數(shù)據(jù),使用Python編寫程序進(jìn)行計(jì)算,計(jì)算流程如圖4所示。
圖4 非線性處理流程
(1)預(yù)處理,將標(biāo)定試驗(yàn)數(shù)據(jù)匯總到一個(gè)文件中,對(duì)各參數(shù)的取值范圍、趨勢(shì)進(jìn)行人工識(shí)別。
(2)選取隨機(jī)森林、極端隨機(jī)樹、XGBoost、GBDT回歸預(yù)測(cè)模型進(jìn)行訓(xùn)練,驗(yàn)證誤差情況。
(3)計(jì)算誤差,誤差在合理范圍內(nèi)流程結(jié)束,否則修正模型參數(shù)繼續(xù)計(jì)算。
(4)輸出結(jié)果。
按照以上流程進(jìn)行訓(xùn)練,部分樣本的訓(xùn)練集計(jì)算結(jié)果如表6所示。
表6 部分訓(xùn)練集結(jié)果
為了對(duì)非線性模型回歸效果優(yōu)劣做出判斷,本文使用以下指標(biāo)進(jìn)行回歸分析評(píng)判:模型訓(xùn)練時(shí)間;平均相對(duì)誤差(Mean Absolute Percentage),記作MAPE,通常轉(zhuǎn)為百分?jǐn)?shù)進(jìn)行比較;另一指標(biāo)是確定系數(shù),記作R-square。
(17)
(18)
對(duì)樣本70%的數(shù)據(jù)分別進(jìn)行4種模型的訓(xùn)練,同時(shí)統(tǒng)計(jì)模型的平均相對(duì)誤差、確定系數(shù)、訓(xùn)練耗時(shí),結(jié)果如表7所示。從計(jì)算結(jié)果可以看出,GBDT模型是最優(yōu)的。
表7 模型指標(biāo)計(jì)算
利用樣本數(shù)據(jù)的30%的66個(gè)樣本作為驗(yàn)證集,針對(duì)驗(yàn)證集的數(shù)據(jù)預(yù)測(cè)結(jié)果,計(jì)算相對(duì)誤差百分比,部分?jǐn)?shù)據(jù)計(jì)算結(jié)果如表8所示,表中的后5列分別是人工線性方法和4種非線性回歸模型誤差值比較。從表中結(jié)果可以看出,大部分的驗(yàn)證結(jié)果中非線性計(jì)算模型的精度高于人工線性模型的計(jì)算精度。同時(shí),在4種非線性模型計(jì)算中,GBDT模型結(jié)果表現(xiàn)最好。
表8 部分驗(yàn)證集結(jié)果
對(duì)4種非線性模型的總體樣本平均誤差(包括測(cè)試集和驗(yàn)證集所有樣本)、確定系數(shù)和計(jì)算耗時(shí)進(jìn)行了比較。對(duì)相同測(cè)量部件的220個(gè)樣本,用線性和非線性兩類模型進(jìn)行回歸分析,對(duì)比多種模型下各樣本點(diǎn)的殘差,以此判斷模型的優(yōu)劣。綜合各指標(biāo)結(jié)果,驗(yàn)證了GBDT模型的優(yōu)勢(shì)。
圖5、圖6給出了人工方法和GBDT非線性預(yù)測(cè)值與真實(shí)值差異。從圖中線條的走勢(shì)可以看出,非線性預(yù)測(cè)結(jié)果好于人工線性方法的預(yù)測(cè)。從誤差計(jì)算結(jié)果可以看出,非線性模型的總殘差小于人工線性模型,且極端隨機(jī)樹和GBDT效果較優(yōu)秀,說明非線性回歸模型能較好地模擬樣本數(shù)據(jù)。
圖5 人工方法預(yù)測(cè)數(shù)據(jù)
圖6 GBDT預(yù)測(cè)數(shù)據(jù)
本文以某特定飛機(jī)結(jié)構(gòu)部件的標(biāo)定試驗(yàn)數(shù)據(jù)為研究對(duì)象,采用機(jī)器學(xué)習(xí)中基于決策樹的4種算法(隨機(jī)森林、極端隨機(jī)樹、GBDT、XGBoost)分別建立了回歸預(yù)測(cè)模型,用可視化圖表和相關(guān)指標(biāo)進(jìn)行了模型評(píng)價(jià),得出以下結(jié)論:
(1)相比基于線性的模型算法,非線性模型能夠識(shí)別相關(guān)特征變量之間的耦合關(guān)系,對(duì)于樣本預(yù)測(cè)具有較高的準(zhǔn)確度。對(duì)于本文中的數(shù)據(jù)樣本,訓(xùn)練集誤差可以控制到3%左右。
(2)在隨機(jī)森林、極端隨機(jī)樹、GBDT、XGBoost這4種算法模型中,GBDT模型的精度是最優(yōu)的,計(jì)算效率也較高。