





關鍵詞:汽車發動機;輕量梯度提升機(LightGBM);功能標定;耐久性試驗
0 前言
新型汽車發動機的開發過程一般都包括前期功能標定階段和后期耐久驗證階段。在前期功能標定階段,需要在發動機和整車的表面和內部布置大量的溫度、壓力、流量等傳感器測點,在發動機臺架或整車風洞中進行模擬實際工況的測試,以驗證發動機在實際運行時的各項數據與設計值的偏差。各類傳感器測點布置的數量和測量產生的數據量極為龐大,但這些數據卻很難有效利用并對后期試驗提供參考和預測。
在開發階段的后期,發動機和整車需要做大量長周期耐久性驗證試驗,而在此階段的發動機上,無法布置大量溫度、壓力、流量等測點,導致一旦耐久性驗證試驗出現故障,無法及時獲取各個發動機位置的溫度、壓力、流量等數據,這對于故障的原因分析會產生不利影響。
目前,國內外已有學者采用輕量梯度提升機(LightGBM)算法[1]對航空發動機的相關性能進行預測,也有學者采用此算法對汽車故障進行了預測。LI 等[2]利用LightGBM 算法對航空渦扇發動機的剩余使用壽命進行了估算;周俊曦等[3-4]使用LightGBM 算法對航空發動機的剩余使用壽命進行了預測;顏詩旋等[5]使用一系列改進的LightGBM算法對汽車故障進行了預測,以提高故障查全率。但是,目前幾乎沒有采用LightGBM 算法對車用發動機故障預測分析的研究,為此,本文采用LightGBM 算法對發動機開發初期的數據進行模型的建立和訓練,并使用特征過濾、豐富訓練集等方法對模型算法進行改進與優化,以此來對發動機故障進行預測分析。
1 LightGBM 算法
LightGBM 是由微軟公司發布的一個開源、快速、高效的基于決策樹算法的梯度提升算法框架,支持高效的并行訓練。LightGBM 算法的主要思路是:通過一次性迭代變量,在迭代過程中,逐一增加子模型,并且保證損失函數不斷減小。
梯度提升決策樹(GBDT)是非常經典的算法模型,其同時擁有梯度提升和決策樹的功能特性,具有訓練效果良好、不容易出現過擬合等優點。而LightGBM 是GBDT 的一種,用于解決GBDT 在海量數據處理時所遇到的各種問題,內存占用可降低86%,大幅減少了決策樹的節點分裂次數。
2 數據及處理
2. 1 原始數據
本文采用了某發動機分別在3 個測試地點(A、B、C)測試的3 個不同工況(1、2、3)所采集的共9 份數據樣本(分別為A1、A2、A3、B1、B2、B3、C1、C2、C3)。每份數據中包含61 個傳感器測量點的特征數據和321 個直接從電子控制單元(ECU)中讀取的特征數據,共382 個特征數據。由于不同測量傳感器的采樣頻率不同,因此采集到的不同特征的數據并無法直接對齊使用;而原始數據中不同特征的名稱不規則,且有很多特殊字符,因此算法無法正確識別,需要進行數據預處理。
2. 2 特征數據的處理
對特征數據進行以下預處理,以便用于后續模型的訓練:(1) 對于不同采樣頻率的特征數據,按照最低采樣頻率所對應的時間點進行數據的提取和整合。
(2) 對數據名稱進行批量替換(統一更名為Fi,i 為1~382),同時達到脫敏目的。
(3) 將數據由.dat 專用格式轉換為.csv 格式,以便順利讀取數據。
(4) 擬取F1(發動機某處冷卻水水溫)作為需要模型預測的特征。
2. 3 數據訓練集和測試集的劃分
根據訓練集和測試集分割的難度和類型,對預處理后數據進行6 種數據劃分,具體方法如下:
(1) 選取1 份數據,按照75% 和25% 的比例隨機劃分訓練集和測試集。
(2) 選取1 份數據,設定1 個中間時間點作為分割點,分割點后的數據作為訓練集,分割點前的數據作為測試集。
(3) 選擇同一工況的不同地點的2 份數據,1 份作為訓練集,1 份作為測試集。
(4) 選擇同一地點的不同工況的2 份數據,1 份作為訓練集,1 份作為測試集。
(5) 將同一地點的3 種工況數據合并設為訓練集,隨機選取其他地點的數據作為測試集。
(6) 將同一地點的3 種工況數據合并設為訓練集,隨機選取其他地點的數據作為測試集,但只將所有ECU 數據作為測試集的輸入特征,傳感器測點數據作為測試集的預測特征。
3 模型訓練和驗證
3. 1 模型參數設置
使用Sklearn 開源包中GridSearchCV 工具進行網格調參,得到模型訓練的統一模型參數,模型參數設置見表1。
3. 2 模型的初步建立和驗證
以F1 作為目標研究對象,以數據樣本A1 作為訓練集和測試集,以劃分方法(1)進行數據劃分,得到預測值和真實值的對比曲線如圖1 所示。由圖1可以看出:預測值與真實值幾乎完全重合,但該方法的數據劃分過于簡單,實際應用并不多。
以F1 作為目標研究對象,以數據樣本A1 作為訓練集和測試集,以劃分方法(2)進行數據劃分,得到預測值和真實值的對比曲線如圖2 所示。由圖2可以看出:測試集的預測值與真實值之間有細微差距,但該差距仍可以接受,該數據劃分方法實際應用場景也有限。
以F1 作為目標研究對象,以數據樣本A1 作為訓練集,以數據樣本B1 作為測試集,以劃分方法(3)進行數據劃分,得到預測值和真實值的對比曲線如圖3 所示。由圖3 可以看出:測試集的預測值和真實值差距很大,說明該模型嚴重過擬合。
3. 3 模型的改進和驗證
使用原生版本LightGBM 算法訓練出的初始模型出現了嚴重的過擬合現象,因此無法應用到實際開發過程中。分析訓練特征后發現,輸入端的特征數量過多,充滿了大量與最終預測特征毫無關聯的無效特征。因此,將LightGBM 算法訓練出的初始模型進行歸因分析,篩選出前10 個強相關特征,即特征過濾處理,并使用過濾后的特征訓練集重新訓練模型。
以F1 作為目標研究對象,以數據樣本A1 作為訓練集,以數據樣本B1 作為測試集,以劃分方法(3)再次進行數據劃分,過濾訓練集特征后重新訓練,得到預測值和真實值的對比曲線如圖4 所示。由圖4 可以看出:特征過濾后的預測結果大大改善了預測值的準確性。
以F1 作為目標研究對象,以數據樣本A1 作為訓練集,以數據樣本A2 作為測試集,以劃分方法(4)進行數據劃分,初始訓練如圖5(a)所示,過濾訓練集特征后重新訓練,得到預測值和真實值的對比曲線如圖5(b)所示。由圖5 可以看出:特征過濾后的預測結果大大改善了預測值的準確性。
經過特征過濾處理后,預測效果有較大改善,但仍然無法令人十分滿意,于是進一步增加了訓練集的數量,將只訓練A1 擴展為同時訓練A1+A2+A3,大大增加了訓練的不同工況數量,增加了模型的泛化能力。以F1 作為目標研究對象,以數據樣本A1+A2+A3 作為訓練集,以數據樣本B2 作為測試集,以劃分方法(5)進行數據劃分,特征過濾后的訓練結果如圖6 所示。對比圖6 和圖5(b)可以看出模型預測精度提升明顯。
以F1 作為目標研究對象,以數據樣本A1+A2+A3 作為訓練集,以數據樣本B1 作為測試集,其中只使用ECU 特征作為測試集的輸入特征,以劃分方法(6)進行數據劃分,得到的預測值和真實值對比曲線如圖7 所示。由圖7 可以出:完全基于ECU 數據也可以非常準確地對額外布置的傳感器測點進行預測,并且有很高的精度,這具有非常高的實際使用價值。
4 模型結果分析和實際應用
通過6 種不同形式的訓練集、測試集劃分方法,經過特征過濾和增加訓練集的方法,最終得到了令人滿意的預測結果,該預測結果的精度可以滿足實際應用的條件。
在新型發動機的實際開發過程中,應用LightGBM 算法可以解決很多實際問題,例如:
(1) 測試中傳感器或其他傳輸過程不穩定,導致隨機丟失數據,通過劃分方法(1),可以預測補全丟失的數據。
(2) 測試中某一時間節點后,傳感器損壞或軟件故障導致一整段數據丟失,通過劃分方法(2),可以預測并補全丟失的數據。
(3) 新的測試地點或新的測試設備與之前的有區別,通過劃分方法(3),可以橫向對比新測試地點或測試設備的一致性。
(4) 整個測試過程中,一部分的工況由于設備或其他原因無法完成,通過劃分方法(4)可以預測缺失工況的表現。
(5) 一輪測試后,可以通過劃分方法(5)全部預測本輪測試的結果,并與實際測試的結果進行比對,從而驗證本輪測試的數據、設備、發動機零件等是否有異常情況。
(6) 通過歷史數據的訓練積累,在不需要額外布置溫度、流量、壓力等傳感器測點的情況下,使用現有ECU 數據,通過劃分方法(6)預測出發動機、整車在發生故障時的各個位置的數據,對故障分析和故障原因的溯源有著巨大的幫助。
5 結語
本文使用某款發動機開發過程中的實際測試數據,通過對原始數據的預處理后,建立了基于特征的LightGBM 算法模型,對隨機選取的特征進行了多輪建模和對比,利用歸因分析對原始數據進行了特征過濾處理,并增大了訓練集的規模,最終得到了非常好的預測效果,這對實際的發動機開發過程中的故障分析和故障原因溯源可以起到非常重要的幫助作用。
在后續的研究中,將采集更多的試驗數據,探索更加適合的算法,使模型訓練的預測準確性進一步提高。