錢楓,馬騁,祝能,王明達(dá),王繼廣,許小偉
(1.武漢科技大學(xué)汽車與交通工程學(xué)院,湖北 武漢 430081;2.中國環(huán)境科學(xué)研究院,北京 100012;3.中國汽車技術(shù)研究中心,天津 300300)
截止2021年,我國各類機(jī)動車保有量已達(dá)3.95億輛,同比增長6.18%。而全國機(jī)動車排放的CO、HC、NOx、PM四種污染物總量為1 557.7萬 t。其中,柴油車NOx排放量已經(jīng)占到總量的80%,是空氣污染的一個重要源頭[1]。為了有效控制重型車排放對環(huán)境的危害,世界范圍內(nèi)制定了以歐盟、美國和日本為代表的三個排放標(biāo)準(zhǔn)體系。然而,這些標(biāo)準(zhǔn)體系受限于實際道路的影響,無法準(zhǔn)確反映重型車在真實場景下的污染物排放水平[2]。
李昌慶等[3]利用PEMS采集大型客車尾氣排放,利用BP網(wǎng)絡(luò)對CO2、CO和NOx排放進(jìn)行了預(yù)測,在算法選擇上較為單一。Dai等[4]利用貝葉斯優(yōu)化的LSTM對柴油機(jī)排放進(jìn)行研究,與SVM和BP相比,基于貝葉斯優(yōu)化的LSTM在不同工況下具有更好的預(yù)測精度。Wang等[5]采用融合算法和隨機(jī)抽樣組合神經(jīng)網(wǎng)絡(luò)進(jìn)行研究,并與隨機(jī)森林模型等對比,結(jié)果表明組合神經(jīng)網(wǎng)絡(luò)具有更高的擬合精度和預(yù)測精度,提供了一種新的預(yù)測分析思路。聞增佳等[6]為減少人為因素對RDE測試的影響,提出了GA-ACO優(yōu)化的BP網(wǎng)絡(luò),并取得較好的NOx排放預(yù)測結(jié)果,但在具體參數(shù)調(diào)整思路上僅采用了簡單的串行優(yōu)化。Xu等[7]提出了一種ST-MFGCN融合網(wǎng)絡(luò),能夠通過多種融合策略適應(yīng)排放數(shù)據(jù)的變化波動,從宏觀角度實現(xiàn)對劃定區(qū)域范圍內(nèi)的車輛排放預(yù)測。Oduro等[8]使用CART和BMARS構(gòu)建混合模型,但缺乏與其他神經(jīng)網(wǎng)絡(luò)預(yù)測模型的對比。Howlader等[9]采用集成 LSTM-RNN-GRU 實現(xiàn)了對輕型車輛 CO、NOx和 HC 排放的準(zhǔn)確預(yù)測。
綜上,PEMS、RDE等排放測試過程需要投入大量人力物力,同時,人為因素也會對排放預(yù)測研究過程有較大影響,而復(fù)雜的預(yù)測分析算法會大大增加計算負(fù)擔(dān)。為了降低重型車排放測試過程中的經(jīng)濟(jì)投入、時間損失以及人為因素的影響,本研究在充分利用OBD采集的數(shù)據(jù)基礎(chǔ)上,使用BP算法建立了一種重型車NOx排放速率預(yù)測模型;為了提高預(yù)測精度,引入遺傳粒子群組合算法并對其改進(jìn),并利用PCA分析提取數(shù)據(jù)特征;另外,同步建立了其他9種NOx排放預(yù)測模型進(jìn)行對比。
OBD可以實時收集車輛排放、運(yùn)行狀態(tài)等信息并上傳至遠(yuǎn)程管理監(jiān)控平臺[10],也可以從遠(yuǎn)程管理平臺導(dǎo)出歷史數(shù)據(jù)進(jìn)行分析。構(gòu)建預(yù)測性能優(yōu)良的模型需要大量高質(zhì)量樣本數(shù)據(jù)支持,并須對數(shù)據(jù)進(jìn)行適當(dāng)預(yù)處理,如數(shù)據(jù)篩選清洗、歸一化等[11]。經(jīng)過數(shù)據(jù)預(yù)處理,共獲得了6 661 960條數(shù)據(jù),并新增NOx排放率(mgas)和瞬時VSP比功率兩項數(shù)據(jù)。
(1)
式中:ugas是排氣成分密度與排氣密度之比,設(shè)定為0.001 587[12];cgas,i是排氣成分的瞬時濃度;n是測量次數(shù);f是采樣頻率,本研究中取1 Hz;qmaw,i是瞬時進(jìn)氣質(zhì)量流量;qmf,i是瞬時燃料質(zhì)量流量。
VSP=v[1.1a+9.81arc tan(sing)+
0.132]+0.000 302v3。
(2)
式中:v為車速;a為加速度;g為坡度,由于所選車輛海拔變化不明顯,故將坡度設(shè)為0。
為了讓模型有更好的預(yù)測效果,防止預(yù)測模型出現(xiàn)過擬合[13],將原始數(shù)據(jù)的70%作為訓(xùn)練集、15%作為驗證集、15%作為測試集進(jìn)行劃分;由于參數(shù)量綱存在差異,需要對原始數(shù)據(jù)進(jìn)行歸一化處理[14]。
(3)
部分參數(shù),如油耗等,已被證實會對重型車NOx排放產(chǎn)生影響[15],其他參數(shù)是否會對NOx排放產(chǎn)生影響還需進(jìn)一步分析。利用Pearson和Spearman系數(shù)可以分析其他參數(shù)對NOx排放的影響,系數(shù)為0.7以上表示變量之間存在較強(qiáng)的相關(guān)性[16]。
(4)
(5)
在模型輸入?yún)?shù)選擇時,多個參數(shù)之間存在相關(guān)性和耦合性,這會導(dǎo)致分析計算復(fù)雜,使結(jié)果產(chǎn)生較大偏差。利用PCA數(shù)據(jù)特征提取的基本方法,在PCA過程中,每個特征都是基于原始參數(shù)的線性組合[16]。
誤差反向傳播神經(jīng)網(wǎng)絡(luò)泛化能力強(qiáng)、非線性映射能力好,具有廣泛的應(yīng)用前景。選用BP網(wǎng)絡(luò)構(gòu)建重型車NOx排放預(yù)測模型,模型結(jié)構(gòu)見圖1。
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
其中:F=(f1,f2,…fn)T(n=1,2,…n)為輸入層;H=(h1,h2,…h(huán)n)T(n=1,2,…n)為隱藏層;y為輸出層;wij和wjk為BP網(wǎng)絡(luò)權(quán)重;隱藏層神經(jīng)元個數(shù)可以由經(jīng)驗公式來確定[14]。
(6)
式中:H1是隱藏層中神經(jīng)元的最終數(shù)量;a是輸入層的數(shù)量;b是輸出層的數(shù)量;c通常取1~10之間的值。本研究中輸入為 11,輸出為 1,c取[2,12]之間的值,這里設(shè)定為9。因此,BP網(wǎng)絡(luò)的結(jié)構(gòu)為11-14-1。BP網(wǎng)絡(luò)也存在很多問題,在權(quán)重更新方面,很容易陷入局部最優(yōu);若求解目標(biāo)復(fù)雜,易導(dǎo)致算法收斂緩慢。基于此,考慮利用遺傳粒子群優(yōu)化模型參數(shù)[17]。
粒子群算法(PSO)源自鳥群覓食行為,通過共享群體信息實現(xiàn)個體最優(yōu)解。PSO的每個粒子的位置是當(dāng)前最優(yōu)解Pbest,而種群的當(dāng)前最優(yōu)解Gbest也可以作為粒子的位置。在迭代過程中,粒子可以更新Pbest和Gbest,同時更新粒子的速度和位置[18]。算法求解如下。
1) 初始化m個d維度粒子所構(gòu)成的群體,也就是Xi=(xi1,xi2,…xin)T。
2) 將Xi代入到給定的目標(biāo)函數(shù)中,計算適應(yīng)度數(shù)值。
3) 記錄粒子個體的Pbest,持續(xù)迭代。
4) 在迭代過程中,記錄粒子個體的Pbest和Gbest。
5) 更新粒子的速度和位置。
(7)
式中:T為某一時刻;ω為粒子群算法的慣性權(quán)重,一般設(shè)置為固定參數(shù)0.5,通過優(yōu)化該參數(shù),可以增強(qiáng)或削弱算法的全局搜索能力和局部尋優(yōu)能力;Xid和Vid分別為第i個粒子的位置以及速度[19];Pid,Pgd為第i個粒子搜索的最優(yōu)解和群體解;C1和C2為PSO的學(xué)習(xí)因子,一般設(shè)置為2;R1和R2則是介于0~1的均布隨機(jī)數(shù)。
遺傳算法(GA)源自于生物進(jìn)化中的優(yōu)勝劣汰觀念,模擬了自然界的進(jìn)化過程[20],算法流程包括參數(shù)編碼選擇、定義適應(yīng)度函數(shù)、選擇、交叉和變異操作。
粒子群和遺傳算法在很多細(xì)節(jié)上有相似之處,它們都利用種群優(yōu)勢尋找最優(yōu)解,可以并行實現(xiàn),算法性能穩(wěn)定,但也存在問題。GA變異初期可以明顯增強(qiáng)局部搜索能力,增加種群的多樣性,但穩(wěn)定后,GA變異操作會打破種群穩(wěn)定的平衡,使種群迭代過程被迫停止[21]。而粒子群算法在尋找最優(yōu)解的過程中存在大量低速聚集粒子,消耗大量計算資源,延緩后期收斂速度,導(dǎo)致PSO搜索陷入局部最優(yōu)解[22]。為了充分發(fā)揮PSO和GA算法各自的優(yōu)勢,對PSO進(jìn)行改進(jìn),并引入交叉和變異操作。
2.3.1 慣性權(quán)重ω
在粒子群算法中,ω是慣性權(quán)重。通過在初始階段設(shè)定較大的數(shù)值,可以讓粒子快速接近優(yōu)勢區(qū)域,從而增強(qiáng)算法的全局搜索能力。隨著優(yōu)勢區(qū)域的逐漸縮小,再設(shè)定較小的ω數(shù)值,可以增強(qiáng)算法對局部區(qū)域的尋優(yōu)搜索。通過動態(tài)調(diào)整慣性權(quán)重,可以兼顧全局尋優(yōu)和局部搜索的能力:
(8)
式中:ωmax和ωmin為設(shè)定的最大、最小慣性權(quán)重,一般取值分別為0.9和0.4;nite和nite,max為當(dāng)前迭代次數(shù)以及最大迭代次數(shù)。本研究選擇采用了拋物線遞減策略,在算法初期快速收斂,逼近到最優(yōu)解集空間。
2.3.2 學(xué)習(xí)因子C1和C2
PSO學(xué)習(xí)因子C1和C2會對算法的探索性和收斂性產(chǎn)生影響。若學(xué)習(xí)因子過大,易導(dǎo)致算法陷入局部最優(yōu)而無法跳出;若學(xué)習(xí)因子太小,則易導(dǎo)致粒子出現(xiàn)“早熟”現(xiàn)象[23],無法達(dá)到最優(yōu)解。為了實現(xiàn)算法平衡性和較好的探索性,需要動態(tài)調(diào)整學(xué)習(xí)因子C1和C2,改進(jìn)如下:
(9)
(10)
式中:C1,max和C2,max分別是學(xué)習(xí)因子C1和C2的最大數(shù)值,通常設(shè)置為2;C1,min和C2,min則是學(xué)習(xí)因子C1和C2的最小值,一般設(shè)定為0.1;a是rand(0,1)之間的隨機(jī)數(shù);nite是當(dāng)前迭代次數(shù);nite,max是最大迭代次數(shù)。
2.3.3 交叉、變異操作
在遺傳算法的交叉和變異操作中,算法的收斂性能受到交叉概率和變異概率的影響。若概率值固定不變,可能會導(dǎo)致算法后期種群多樣性降低,不利于收斂。為了改善該問題,利用自適應(yīng)遺傳算法的思想,給出交叉概率Pcrossover和變異概率Pmutation的理論依據(jù):
(11)
(12)
式中:ff是迭代過程中較大的個體適應(yīng)度數(shù)值;favf是迭代過程中群體的平均適應(yīng)度數(shù)值;fmax則是迭代過程中最佳的適應(yīng)度數(shù)值;f則是個體的適應(yīng)度。
引入遺傳算法,計算個體適應(yīng)度數(shù)值并排序;按一定比例對適應(yīng)度較高的個體進(jìn)行交叉、變異操作,產(chǎn)生新的子代。將新的子代與舊群體合并,并繼續(xù)進(jìn)行算法迭代,直至達(dá)到設(shè)定的閾值條件或達(dá)到最優(yōu)適應(yīng)度函數(shù)目標(biāo)值。下面是動態(tài)改進(jìn)的GA-PSO組合算法優(yōu)化BP網(wǎng)絡(luò)模型參數(shù)的流程步驟。
2) 計算粒子的適應(yīng)度數(shù)值。
3) 對適應(yīng)度數(shù)值進(jìn)行大小排序,并且記錄在這個迭代過程中的Pbest和Gbest。
4) 動態(tài)計算新的個體速度和位置以及ω,獲得新種群。
5) 引入遺傳算法,對群體中粒子執(zhí)行交叉、變異操作,更新粒子速度Vid和位置Xid。
6) 交叉操作之后,將新的子體放入群體中,重復(fù)執(zhí)行迭代過程。
7) 判定Pbest和Gbest是否已經(jīng)達(dá)到最優(yōu)解狀態(tài)或者已經(jīng)達(dá)到設(shè)定的迭代次數(shù)閾值,符合要求則跳出循環(huán),輸出網(wǎng)絡(luò)參數(shù)最優(yōu)解,否則繼續(xù)執(zhí)行上述流程步驟。改進(jìn)的遺傳粒子群組合算法優(yōu)化BP算法流程見圖2。
圖2 改進(jìn)遺傳粒子群組合算法優(yōu)化BP預(yù)測模型流程
在進(jìn)行PCA分析之前,需要對預(yù)處理的數(shù)據(jù)集進(jìn)行KMO檢驗和Bartlett’s球度檢驗,以確定數(shù)據(jù)集是否支持PCA分析[24]。KMO檢驗用于評估數(shù)據(jù)集的多重共線性,若其值接近1,則說明數(shù)據(jù)集變量之間存在高度相關(guān)性;Bartlett球度檢驗則用于判斷變量是否不相關(guān)[25]。KMO結(jié)果為0.771,該值大于0.5,而Bartlett球度的P值為0.020 4,該值接近于0,因此可知該數(shù)據(jù)集適合進(jìn)行PCA分析。
通過計算分析部分?jǐn)?shù)據(jù)的相關(guān)性,其相關(guān)性熱力圖見圖3。由圖3知,變量之間有較強(qiáng)的耦合性:例如車速、發(fā)動機(jī)扭矩百分比、發(fā)動機(jī)轉(zhuǎn)速、加速度和瞬時VSP參數(shù)之間存在顯著影響,其相關(guān)系數(shù)分別為0.44,0.57,0.51和0.82。同時,NOx排放速率、進(jìn)氣量、入口溫度和出口溫度之間也存在高度關(guān)聯(lián),對應(yīng)的相關(guān)系數(shù)分別為0.91,0.88和0.77。若直接將變量作為排放預(yù)測模型的輸入,會導(dǎo)致結(jié)果失真且誤差較大。因此,需要利用PCA或LDA算法提取數(shù)據(jù)變量的特征,本研究選擇PCA算法。
(1)—車速;(2)—大氣壓力;(3)—發(fā)動機(jī)扭矩百分比;(4)—摩擦扭矩;(5)—發(fā)動機(jī)轉(zhuǎn)速;(6)—發(fā)動機(jī)燃料流量;(7)—進(jìn)氣量;(8)—入口溫度;(9)—出口溫度;(10)—發(fā)動機(jī)冷卻液溫度;(11)—實際尿素噴射量;(12)—瞬時油耗;(13)—加速度;(14)—NO排放速率;(15)—扭矩;(16)—瞬時VSP。圖3 主成分貢獻(xiàn)度熱力圖
從圖4可以看出,經(jīng)過PCA分析后11項因子的累計貢獻(xiàn)率可以達(dá)到0.99以上,這表明主成分維度越高,經(jīng)過分解重構(gòu)的奇異值數(shù)據(jù)與原始數(shù)據(jù)之間的信息重疊性就越好。基于此,可以將這11項主成分因子作為預(yù)測模型的輸入。通過進(jìn)一步計算主成分載荷矩陣,可以分析主成分因子與變量之間的耦合程度。
圖4 主成分貢獻(xiàn)度分布
為了驗證動態(tài)改進(jìn)的GA-PSO算法有效性,選擇4個常用的測試函數(shù)進(jìn)行性能驗證[26],設(shè)定測試函數(shù)迭代次數(shù)為150次。其中,f1為單峰函數(shù),f2~f4均為多峰測試函數(shù)。
4) Ackley函數(shù)(f4)具有較大的搜索空間,形狀復(fù)雜,并且存在周期性振蕩,能夠很好地評估優(yōu)化算法的全局策略和利用振蕩的特性,f4(x)=-20·
圖5和圖6示出測試函數(shù)的迭代曲線和適應(yīng)度曲線。從圖5可以看出,對于Sphere函數(shù),PSO和GA的全局搜索能力較弱,容易陷入局部最優(yōu)并過早停滯,相反,動態(tài)改進(jìn)的GA-PSO組合算法在第30、第50和第110次迭代時能夠跳出局部最優(yōu)。對于Schwefel、Griewank和Ackley函數(shù),動態(tài)改進(jìn)的GA-PSO算法在設(shè)定的迭代次數(shù)內(nèi)明顯優(yōu)于PSO和GA算法。GA在40~60次迭代后趨于平穩(wěn),PSO在Griewank函數(shù)中具有較好的優(yōu)化能力,但仍弱于GA-PSO組合算法。對于Ackley函數(shù),GA-PSO組合優(yōu)化算法能夠跳出局部最優(yōu)解,在經(jīng)過約60、80次迭代仍能繼續(xù)逼近全局最優(yōu)。
圖5 測試函數(shù)的迭代圖
圖6 適應(yīng)度函數(shù)迭代曲線
由圖6的目標(biāo)函數(shù)適應(yīng)度迭代曲線可以看出,GA-PSO算法在允許的迭代次數(shù)內(nèi)達(dá)到了0.92的目標(biāo)適應(yīng)度,具有更好的尋優(yōu)潛力。GA和PSO算法在達(dá)到迭代次數(shù)之前趨于穩(wěn)定,分別為0.87和0.89,表明其已經(jīng)提前陷入局部最優(yōu)解。將遺傳算法的交叉、變異和選擇操作引入粒子群迭代過程后,GA-PSO算法可以避免陷入局部最優(yōu)解。在設(shè)定的迭代次數(shù)內(nèi),經(jīng)過動態(tài)改進(jìn)的GA-PSO組合優(yōu)化算法相較于傳統(tǒng)GA和PSO算法適應(yīng)度分別提升了3.37%和5.75%,展現(xiàn)出了更好的全局搜索能力和更快的收斂速度。
在預(yù)處理后的數(shù)據(jù)中選擇15%作為測試集,其中NOx排放數(shù)據(jù)的柱狀圖見圖7。NOx排放速率集中在0~300 mg/s,占比超過80%。而排放速率超過500 mg/s的數(shù)據(jù)則只占測試樣本的2%。
圖7 NOx排放分布圖
將提取主成分后的數(shù)據(jù)特征作為預(yù)測模型的輸入,并以NOx排放速率作為預(yù)測輸出。然后從測試機(jī)中隨機(jī)選擇一段相同且連續(xù)的樣本數(shù)據(jù)段作為真實數(shù)值,以進(jìn)行對比。同時為了驗證基于改進(jìn)遺傳粒子群組合算法優(yōu)化的BP網(wǎng)絡(luò)在預(yù)測NOx排放速率方面的精準(zhǔn)性,建立了BP、GA-BP、PSO-BP、RF-BP等共9種不同的排放預(yù)測模型以進(jìn)行對比,各模型預(yù)測結(jié)果對比見圖8。
圖8 排放預(yù)測模型預(yù)測結(jié)果對比
利用平均絕對比例誤差MASE和均方根誤差RMSE來衡量評判模型的性能。MASE值越低,模型性能越好;RMSE則用于衡量模型的預(yù)測準(zhǔn)確性。引入R2系數(shù)來量化模型對未知樣本數(shù)據(jù)的預(yù)測效果[25]。
(13)
(14)
(15)
結(jié)合圖8和表1中的數(shù)據(jù)可見,基于動態(tài)改進(jìn)的遺傳粒子群組合優(yōu)化算法預(yù)測模型在R2指標(biāo)上的表現(xiàn)為0.951,而在NOx排放預(yù)測整體誤差方面,MASE為0.024,RMSE為0.033 6。值得注意的是,在排放峰值時刻(約在240 s和830 s)預(yù)測值與實際值存在偏差,這是由車輛運(yùn)行條件變化以及模型對瞬態(tài)反應(yīng)不足引起的。
表1 模型預(yù)測結(jié)果的精度對比
從表2數(shù)據(jù)進(jìn)一步分析可知,重型車行駛速度變化區(qū)間廣泛,車速變化又與發(fā)動機(jī)狀態(tài)密切相關(guān),排放后處理設(shè)備反應(yīng)時間受這些因素的影響,從而導(dǎo)致實際NOx排放速率波動。而從圖7可見,NOx存在大量低排和少量高排的情況,這些數(shù)據(jù)導(dǎo)致預(yù)測模型在部分峰值結(jié)果和實際結(jié)果之間存在較大差異。需要指出的是,由于設(shè)備的原因,未考慮海拔等因素對排放的影響。在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中,模型參數(shù)的權(quán)重和閾值不斷優(yōu)化,主要目的是確定整體誤差水平。
表2 重型車車速區(qū)間分布
通過變量相關(guān)分析和PCA分析,對數(shù)據(jù)進(jìn)行特征提取,將原始變量縮減至11項主成分因子,從而降低了異常數(shù)據(jù)等對排放預(yù)測結(jié)果的影響。在NOx排放速率預(yù)測方面,基于動態(tài)改進(jìn)的GA-PSO-BP組合算法展現(xiàn)出良好的準(zhǔn)確性。預(yù)測值曲線的變化趨勢與實際值的波動趨勢相似,在R2、RMSE和MASE評價指標(biāo)上表現(xiàn)優(yōu)異,相較于其他預(yù)測模型有所提升。
在預(yù)測模型參數(shù)優(yōu)化算法的選擇上,動態(tài)改進(jìn)的GA-PSO組合算法對比傳統(tǒng)GA算法和PSO算法,在4個典型測試函數(shù)的性能驗證上展現(xiàn)出良好的運(yùn)行效率,有效彌補(bǔ)了各自算法的固有缺陷。
通過分析計算變量相關(guān)性,驗證了變量之間存在有較強(qiáng)的耦合性和非線性特征,無法直接作為預(yù)測模型的輸入;其中KMO檢驗結(jié)果為0.771,Bartlett’s球度P值為0.020 4,驗證了樣本適合于主成分分析;利用PCA特征篩選出了11個主成分因子,這些因子的累計貢獻(xiàn)率達(dá)到99%,可以作為預(yù)測模型的輸入。
通過建立其他預(yù)測模型并進(jìn)行對比分析,使用R2、RMSE和MASE作為模型評價指標(biāo)。結(jié)果表明,相較于其他預(yù)測模型,經(jīng)過動態(tài)改進(jìn)的GA-PSO組合算法BP神經(jīng)網(wǎng)絡(luò)在關(guān)鍵指標(biāo)上有所提升,R2平均提升12.5%,MASE平均提升了20%,RMSE則平均提升了21.7%。動態(tài)改進(jìn)后的預(yù)測模型在曲線擬合趨勢和實際值的變化趨勢方面表現(xiàn)出了良好的一致性。