李淮,顧澤波,張曉東,祁黎,陳心欣,趙雪茹
(中國電器科學研究院股份有限公司 工業產品環境適應性國家重點實驗室, 廣州 510663)
汽車作為一種廣泛使用的交通工具,在日常使用過程中,不可避免會受到太陽輻照、溫度以及雨水等氣候環境因素的破壞作用,而發生老化、銹蝕等現象[1]。汽車耐候性就是專門針對汽車產品抵御這種破壞作用而提出的一種質量特性。對于耐候性設計不佳的汽車產品,其零部件往往會過早產生變形、變色、脫膠、開裂、以及銹蝕等耐候性失效問題,輕則影響消費者對對汽車品牌的認可度,重則會對汽車的行駛安全產生影響[2]。
為了提高汽車品質及車企形象,車企在研發汽車的過程中會對整車及部件進行自然暴露試驗及整車強化腐蝕試驗,用于驗證汽車的耐候性設計以及材料的耐候性性能是否達標。對于整車強化腐蝕試驗主要是考察汽車金屬部件的抗腐蝕能力[3-6],依據QC/T 732-2005標準[7]進行,一般試驗進行60~100個循環腐蝕量;而自然暴露試驗主要是考察車身的金屬及涂鍍層的抗腐蝕能力以及非金屬材料的抗老化能力[8-12],一般的試驗周期為1~2年。試驗后根據CSAE 105-2019標準[13]對整車的耐候性進行評價。
汽車高分子部件的老化問題主要是受到環境應力的作用所導致,而汽車部件自身溫度的變化正是影響其老化的一大關鍵要素。雖然利用仿真技術可計算汽車整車的溫度場[14-18],但是仿真計算需要預先準確設定各個部件的物理特性、熱傳導系數等參數,否則計算結果誤差會特別大,在實際運用過程中具有一定的局限性。因此研究其它方法來預測汽車自然暴露時的溫度變化對于汽車企業具有重要的意義。機器學習算法已在光伏[19,20]、風電[21]、高分子材料[22,23]等諸多領域進行了大量的應用,它可以充分的挖掘數據間的內在規律,從而可以構建環境因素與汽車部件表面溫度的關系模型,進行精準的預測。本文利用python軟件構建機器學習模型,通過提取影響汽車部件溫度變化的關鍵特征作為輸入變量,以及把汽車部件表面溫度作為輸出變量,將瓊海冬天和夏天各一個月的試驗數據作為訓練數據進行模型訓練。訓練好的模型可對汽車部件在全年氣象條件下進行較為精準的預測,從而可以縮短試驗時間。該研究對于利用少量的試驗數據,預測汽車部件全年氣象環境條件下表面溫度變化具有一定的指導意義。
根據GB/T 40512-2021標準[24]的要求,將汽車整車靜置于瓊海濕熱自然暴露試驗場1年。在汽車內外部重點關注的部件上安裝各種傳感器,連續實時監測汽車典型零部件表面溫度、大氣濕度、太陽輻照、風速、降雨量等環境參數,數據形式為每5 min記錄一次數據。試驗車輛及傳感器安裝情況如圖1。
圖1 試驗車輛及傳感器安裝點
選取大氣溫濕度、大氣壓強、降雨量、太陽總輻照等14項數據作為比較數列,汽車部件(車頂、前保險杠中部、前擋水槽飾板)表面溫度為參考數列,分別計算比較列與參考列的相關系數。斯皮爾曼相關系數計算方法[25]為:
式中:
d—參考數列和比較數列的等級差數;
n—序列個數。
當斯皮爾曼相關系數大于0.6時,表明兩列數據之間有較強的相關關系。斯皮爾曼相關性結果如圖2所示。
圖2 斯皮爾曼相關性系數
選取相關系數絕對值大于0.6的氣象參數做為特征參數,即大氣溫度、大氣濕度、太陽輻照量、紅外輻照量、紫外輻照量、可見光、直接輻照量、日照時數,共8個特征參數作為機器學習模型的輸入參數;汽車部件(車頂、前保險杠中部、前擋水槽飾板)的表面溫度分別作為模型輸出參數,分別構建3個部件的溫度預測模型。
在將數據帶入機器學習模型之前,需要對輸入參數進行歸一化處理,使得各個特征參數的值在0~1之間。目的是為了防止特征參數的數量級差別較大而造成模型網絡預測誤差增大。數據歸一化主要有兩種形式[26,27],一種是“最大最小法”,即把所有數據轉化成0~1之間的值,函數形式見公式(2);另一種是“平均數方差法”,函數形式見公式(3)。其是移動數據分布,使得數據的平均值為0,標準差為1。
式中:
xmin—數列中的最小數值;
xmax—數列中的最大數值。
式中:
xmean—數列中的均值;
xvar—數列的方差。
本文選取冬天和夏天各一個月(1月和8月)的數據作為訓練數據集,其余月份數據為測試數據。在訓練集的數據中,按照85∶15的比率隨機分成訓練子集和驗證集。本文采用“最大最小法”對數據進行歸一化處理。
本文通過python的Scikit-learn庫和xgboost庫搭建分別搭建BP神經網絡、梯度提升機和支持向量機3種機器學習模型。通過對比不同超參數下驗證集上的性能表現,確定出最優的超參數,并用最優的超參數重新用訓練數據訓練得出預測模型,最后在測試數據集上檢驗模型的預測性能。下面分別構建3種機器學習模型:
1)BP神經網絡模型
BP神經網絡是按照誤差逆向傳播算法訓練的多層前饋神經網絡[28,29]。其中,神經網絡最佳隱含層節點數的選擇參考以下公式[27,30]:
式中:
n—輸入層節點數;
m—輸出層節點數;
a—0~10之間的常數;
L—隱含層節點數。
隱含層節點數選取3~13個,分別對訓練集數據進行神經網絡訓練,結果見表1。從表1可以看出三個部件模型的隱含層神經元個數為13時,神經網絡的訓練性能最優。本文神經網絡模型使用python軟件Scikit-learn庫中的MLPRegressor(多層感知機)構建,其結構為:輸入層節點數為8個,輸出層節點數為1個(車頂表面溫度/前保險杠中部表面溫度/前擋水槽飾板表面溫度),隱含層節點數為13,激活函數使用sigmoid函數,最大迭代步數設為1000步,學習率為0.002,采用“adam”算法進行權重更新。
表1 各部件模型的驗證集平均絕對誤差
2)梯度提升算法模型
梯度提升算法是在函數空間中進行最優函數的搜索。通過Python軟件的xgboost第三方庫可以快速的構建梯度提升算法模型,在模型中設置參數如下:弱分類器設置為150個(n_estimator=150),最大樹深度設置為25(max_depth=25),學習速率設為0.1(learning_rate=0.1),其它參數為默認值。
3)隨機森林模型
通過Python軟件的Scikit-learn庫快速構建隨機森林算法模型,模型由300棵二叉決策樹(CART)組合而成,CART沒有最大深度限制(max_depth=None),最大特征設置為總特征乘以0.85(max_features=0.85),其它參數為默認值。相較于決策樹,隨機森林的抗過擬合能力更強。
本文從2個維度對模型預測性能進行評估:一是平均絕對誤差MAE;二是決定系數R2,函數形式見公式6,該值越接近于1表示數據擬合的效果越好。
式中:
y—實際值;
ymean—實際值的平均值;
yy—預測值。
將測試集數據分別代入3個訓練好的模型中進行預測,預測結果如圖3所示。從圖3可以看出神經網絡、梯度提升機和隨機森林對汽車部件表面溫度的預測均有較好的表現,其中隨機森林的預測效果最優,神經網絡次之。車頂、前保險杠中部和前擋水槽飾板部件的平均絕對誤差分別為2.5、1.4和2.1左右,擬合優度R2分別在0.94、0.92、0.94左右。本文采用隨機森林的預測結果進行比較詳細的分析。
圖3 三種機器學習模型預測結果
隨機森林對汽車車頂溫度預測結果和實際值的對比見圖4,三個部件的預測誤差分布圖見圖5所示。從圖4可以看出,預測值曲線與真實值曲線基本一致,但在正午左右時分溫度變化較為激烈,預測值與真實值有一定的誤差。出現該現象可能一方面是因為天氣時而出太陽時而多云甚至下雨,使得部件溫度變化較為激烈,但在數據上且無法反應出這一情況,導致預測值與真實值存在一定差異;另一方面是所用的機器學習模型屬于淺層學習模型,該算法模型無法學習到一些更細小的差別所致。
圖4 預測結果與實際值對比(部分數據)
從圖5可以看出3個部件的誤差分布基本上呈現正太分布,均以0 °誤差為對稱軸。對于車頂和前擋水槽飾板部件,預測誤差基本在(-10~10)°之間,而前保險杠中部的預測誤差基本在(-5~5)°之間。
圖5 誤差分布
從上述分析可知,機器學習算法模型對汽車部件溫度預測效果良好。
通過本文采用的三種機器學習算法對汽車各個部位表面溫度預測的研究,可得到如下的結論:
1)通過選取8個特征氣象參數(大氣溫度、大氣濕度、太陽輻照量、紅外輻照量、紫外輻照量、可見光、直接輻照量、日照時數),采用機器學習算法構建汽車部件溫度預測模型,可得到較好的預測效果。
2)利用試驗車少量的試驗數據(冬天和夏天各1個月的試驗數據)訓練機器學習模型(神經網絡、梯度提升機、隨機森林等),可預測該車部件在全年氣象條件下的溫度變化情況。
3)汽車廠商在獲取冬天和夏天的試驗數據后,便可通過本文介紹方法預測全年氣象條件下的汽車部件溫度變化,可在一定程度上縮短戶外暴露試驗周期。