顏黃斌,陳 永,崔麗華,陳 祺
(昆明云內動力股份有限公司,云南 昆明 650000)
柴油發動機受NOx排放過高的限制,主要應用于非道路的農業機械、船舶以及重型貨車等,在輕型車上使用較少。準確預測柴油發動機的NOx瞬時排放有助于解決NOx排放過高的問題。
目前機器學習算法廣泛應用于實際生產和日常生活中,同時機器學習算法具有較高和較為準確的預測精度。文華等使用BP神經網絡算法,對柴油機NOx瞬態排放進行了預測,其模型的相關系數R為0.95[1]。Liu等使用支持向量機的集成方法,建立了柴油機瞬態NOx排放預測模型,具有較高的準確率[2],RMSE為51.12×10-6,R2為0.98。Alcan等采用基于S型的非線性自回歸外生輸入模型預測了柴油機穩態和瞬態下的NOx排放,其瞬態預測結果驗證精度在70%左右[3]。
目前,研究人員主要使用較為傳統的機器學習算法,其精度和應用價值還需要進一步提高,因此本文選用一種基于梯度提升的集成樹算法XGBoost預測柴油發動機瞬時NOx排放,增加預測結果的穩定性和精度。
本實驗使用便攜式排放測試系統(PEMS)測試一輛國IV的柴油公交車的瞬時排放和車輛、發動機參數,公交車的參數如表1所示。為增加采集樣本的可靠性,選擇的公交車行駛路線包括市區、郊區,紅綠燈交叉路口,同時為避免交通流量的影響,采集時間包括道路高峰時間段和非高峰時間段。

表1 實驗車輛參數
由于PEMS系統和采集發動機參數、車輛參數的OBD系統不是同步運行,需要對采集的數據進行對正處理。由于NOx排放的大小與轉速和負荷息息相關,因此對正采用波峰波谷對正,利用負荷和轉速出現峰值的時刻與NOx排放出現峰值的時刻相同,觀察峰值之間的時間差,然后將NOx排放數據前移或者后移相應的時間差。
在實驗過程中可能由于實驗設備的損壞和傳感器的失靈,造成實驗數據的異常,需要對異常值進行剔除。剔除方法根據數據方差分布,將遠遠大于數據方差的數據直接剔除或者利用前后數據的平均值填充異常的數據。

Obj(φ)=L(y,f(x))+∑mΩ(fm)
(1)
XGBoost基于加法方式的迭代函數可寫為公式(2)。
(2)
原目標函數使用二階泰勒展開得到公式(3)。
(3)

去除所有常數項,將目標函數改寫成關于葉結點分數的一元二次函數,得到公式(4)。
(4)

(5)
帶入式(5)可得最終目標函數,可寫為公式(6)。
(6)
為驗證模型的實際效果,本文選取了隨機森林(RF)[6]、貝葉斯網絡(bayes)[7]、BP神經網絡三種模型進行實驗對比。
采用決定系數(R2)、平均絕對誤差(MAE)和標準均方根誤差(NRMSE)去評價模型性能,計算公式如下:
(7)
(8)
(9)

實驗數據經過對正和異常值處理后,將發動機轉速、負荷、車速和瞬時燃油消耗作為模型的輸入參數,瞬時NOx排放數據作為輸出參數,建立XGBoost模型。使用網格搜索的方法尋找XGBoost模型的最佳參數,搜索參數包括學習率、樹的最大深度、最大葉節點數量、最小葉子節點樣本權重和、正則化比例,其余參數選擇模型默認參數。其中數據的90%作為訓練集,10%的數據作為驗證集,圖1顯示了XGBoost模型、RF、bayes以及BP神經網絡預測結果與真實值的對比。

圖1 模型預測結果對比
通過圖1,可以發現XGBoost模型比另外三種模型預測精度更高,在各個波峰和波谷都能較好的實現預測,對柴油發動機NOx排放趨勢能較好的捕獲和預測。而RF、bayes和BP神經網絡模型都存在較大的偏差,尤其是bayes模型在各個極值點處都出現預測過大或者過小的現象,并且出現連續偏高或者偏低的預測結果。通過圖1對比表明XGBoost模型在機器學習模型中具有更好的預測精度。
表2列出了各個模型的決定系數、平均絕對誤差和標準均方根誤差結果,觀察結果可以發現XGBoost模型預測精度比另外三個模型具有更高的精度。其中XGBoost模型的R2比RF、bayes、BP分別提高了10.98%,16.48%,8.79%。XGBoost模型的MAE比RF、bayes、BP分別提高了30.00%,56.21%,23.96%。XGBoost模型的NRMSE比RF、bayes、BP分別提高了21.42%,28.57%,12.21%。以上結果表明XGBoost模型具有更好的穩定性和預測精度。

表2 各個模型性能參數對比
實驗結果表明XGBoost模型在預測柴油發動機NOx排放時,準確性和穩定性上相對傳統的機器學習模型的確更有優勢。XGBoost模型的R2比RF、bayes、BP神經網絡分別提高了10.98%,16.48%,8.79%,表明XGBoost模型對柴油發動機NOx瞬時排放預測具有更好的預測精度。