張林平, 李風(fēng)軍
(寧夏大學(xué)數(shù)學(xué)統(tǒng)計(jì)學(xué)院, 銀川 750021)
隨著經(jīng)濟(jì)的快速發(fā)展,汽車保有量不斷增加,給城市交通帶來了沉重的壓力,并使得汽車排放成為中國主要城市空氣污染的主要來源[1]. 行駛工況是量化汽車排放的一個(gè)重要概念,能充分反映汽車的實(shí)際行駛模式,從而獲得可靠的汽車排放估計(jì). 隨著路網(wǎng)密度的改善,研究者越來越關(guān)注實(shí)際駕駛條件與各種車輛認(rèn)證和監(jiān)管機(jī)構(gòu)所使用的標(biāo)準(zhǔn)行駛工況之間的差距.
汽車行駛工況作為一種被廣泛采用的燃油經(jīng)濟(jì)性、排放和行駛里程評價(jià)基準(zhǔn),可以方便車輛設(shè)計(jì)和對新興車輛技術(shù)性能評價(jià),得到學(xué)者的廣泛研究. 如:采用馬爾科夫隨機(jī)過程理論,構(gòu)建了行駛工況圖[2-4];采用一種改進(jìn)的馬爾科夫蒙特卡羅方法構(gòu)建了北京市的行駛工況圖[5];利用主成分分析和K均值聚類算法構(gòu)建了行駛工況圖[6-9];提出了一種構(gòu)造“行程段”的方法,構(gòu)造了印度客車的行駛工況圖[10];利用多島遺傳算法(MIGA)與序列二次規(guī)劃法(SQP)組合優(yōu)化,對FCM聚類的初始聚類中心進(jìn)行優(yōu)化,從而構(gòu)建了汽車行駛工況圖[11];利用粒子群優(yōu)化算法優(yōu)化了FCM的聚類中心,從而構(gòu)建了行駛工況圖[12];利用主成分分析法和模糊C均值聚類算法,擬合了汽車行駛工況圖[13];利用自組織映射神經(jīng)網(wǎng)絡(luò)與粒子群聚類相結(jié)合的方法構(gòu)建了汽車行駛工況圖[14]. 上述研究方法雖然均構(gòu)建了較理想的行駛工況圖,但仍有需要改進(jìn)的地方. 如:傳統(tǒng)的主成分分析法可以達(dá)到降維的目的,但是沒有完全體現(xiàn)出用數(shù)量較少的綜合指標(biāo)來代替原來多個(gè)指標(biāo)的目的;對于模糊C均值聚類算法而言,在聚類過程中容易陷入局部最優(yōu),而遺傳模擬退火算法可以防止其陷入局部最優(yōu).
鑒于此,本文改進(jìn)了主成分分析,并將遺傳模擬退火算法與模糊C均值聚類算法相結(jié)合成一種聚類算法(GSA-FCM),從而構(gòu)建更合理的汽車行駛工況圖. 最后,將合成工況與實(shí)際工況的特征參數(shù)進(jìn)行比對.
主成分分析法(Principal Component Analysis, 簡稱PCA)是一種數(shù)據(jù)降維的方法[15]. 其基本思想是用一組信息不重疊且數(shù)量較少的綜合指標(biāo)來代替原來多個(gè)具有一定相關(guān)性的指標(biāo),使其可以最大程度地反映原指標(biāo)所代表的信息,即達(dá)到壓縮數(shù)據(jù)的目的. 由于傳統(tǒng)的PCA算法對原始數(shù)據(jù)進(jìn)行了Z-Score標(biāo)準(zhǔn)化,沒有完全展現(xiàn)各變量之間的差異信息,所以,本文對原始數(shù)據(jù)進(jìn)行Min-Max標(biāo)準(zhǔn)化:設(shè)原始數(shù)據(jù)為X=(xij)n×p,則yij=(xij-minxj)/(maxxj-minxj) (i=1,2,…,n;j=1,2,…,p),可得標(biāo)準(zhǔn)化后的矩陣Y=(yij)n×p;然后,對Y進(jìn)行主成分分析.
模糊C均值聚類算法(Fuzzy C-means Algorithm,簡稱FCM或FCMA)是模糊聚類中應(yīng)用最廣泛的聚類方法之一[16],即給定聚類數(shù)目,通過優(yōu)化目標(biāo)函數(shù)得到每個(gè)樣本點(diǎn)屬于每一類的隸屬度[17],從而達(dá)到聚類的目的. 設(shè)有n個(gè)樣本xi(i=1,2,…,n),可以分為k類,隸屬矩陣U=(uij)n×k,uij是[0,1]中的隨機(jī)數(shù),并采取下列步驟來確定隸屬矩陣和聚類中心:
(1)對隸屬矩陣U初始化:
(2)計(jì)算聚類中心:
其中,ci為第i類聚類中心,m[1,∞]為加權(quán)指數(shù);
(3)計(jì)算目標(biāo)函數(shù)值:
其中
這里,ci為第i類聚類中心,dij=‖ci-xj‖為第i類聚類中心與數(shù)據(jù)樣本之間的歐式距離;
(4)重新計(jì)算隸屬矩陣U:
(5)如果目標(biāo)函數(shù)值小于某個(gè)確定的閥值,則算法停止. 否則重復(fù)步驟(2)至步驟(4),直到滿足終止條件.
傳統(tǒng)的遺傳算法可以在全局求解最優(yōu)解,但是迭代次數(shù)大、收斂速度慢. 通過引入模擬退火方法,可以提高進(jìn)化過程中種群的多樣性,避免算法陷入局部最優(yōu)[18],而模糊C均值聚類算法與K均值聚類算法在聚類過程中均易陷入局部最優(yōu),所以,本文采用遺傳模擬退火算法(Genetic-Simulated Annealing,GSA)來優(yōu)化模糊C均值聚類算法. 首先對種群中的個(gè)體進(jìn)行選擇、交叉、重組、變異,然后參與模擬退火,反復(fù)迭代,直到滿足終止條件為止. 從而找到最優(yōu)的初始聚類中心進(jìn)行模糊C均值聚類,提高聚類效果. 具體流程如下:
Step 1: 設(shè)定各個(gè)參數(shù)值(例如初始溫度、變異概率等);
Step 2: 創(chuàng)建初始種群N(t);
Step 3: 利用式(3)計(jì)算初始種群個(gè)體的目標(biāo)函數(shù)值;
Step 4: 代數(shù)計(jì)數(shù)器初始化gen=0;
Step 5: 個(gè)體的選擇select(N(t));
Step 6: 個(gè)體的重組recombine(N(t));
Step 7: 個(gè)體的變異mutation(N(t));
Step 8: 個(gè)體的模擬退火;
Step 9: 若滿足終止條件則輸出最優(yōu)個(gè)體,否則轉(zhuǎn)到Step 4,直到滿足終止條件;
Step 10: 得到最優(yōu)的初始聚類中心;
Step 11: 用模糊C均值聚類算法進(jìn)行聚類.
汽車行駛工況的構(gòu)建過程主要為運(yùn)動學(xué)片段的劃分、計(jì)算特征參數(shù)值、主成分分析、聚類、選擇合適的片段合成工況. 本文以2019年全國研究生數(shù)學(xué)建模D題所提供的某市輕型汽車實(shí)際道路行駛所采集的493 467個(gè)數(shù)據(jù)為樣本,構(gòu)建該市汽車行駛工況圖.
運(yùn)動學(xué)片段是指連續(xù)采集的數(shù)據(jù)從速度為零開始,到下一個(gè)速度為零為止. 特征參數(shù)是指能夠反映車輛行駛特性變量的參數(shù). 本文采用2019年全國研究生數(shù)學(xué)建模D題定義的4種工況[19],具體如下:
怠速:v=0,且發(fā)動機(jī)一直以低速運(yùn)轉(zhuǎn)的行駛過程;
加速:a≥0.1m/s2的行駛過程;
減速:a≤-0.1m/s2的行駛過程;
勻速:|a|≤0.1m/s2非怠速的行駛過程.
特征參數(shù)的選取見表1.
表1 所選特征參數(shù)Table 1 The seleced characteristic parameters
本文所用特征參數(shù)的具體計(jì)算公式如下:
其中,ai,i+1表示第i時(shí)刻到第i+1時(shí)刻的加速度,vi表示第i時(shí)刻的速度,ti表示第i時(shí)刻,k表示GPS所測車速的總個(gè)數(shù).
利用Matlab 2017b編程軟件可得2 348個(gè)片段的特征參數(shù)值,部分片段的特征參數(shù)值見表2.
利用傳統(tǒng)的PCA算法[20]和本文改進(jìn)的PCA算法,分別對所得的2 348個(gè)片段進(jìn)行降維處理,可得14個(gè)主成分的貢獻(xiàn)率. 由結(jié)果(表3)可知:(1)改進(jìn)后的PCA算法所得的第一主成分的貢獻(xiàn)率比傳統(tǒng)的PCA算法的高出14%. (2)改進(jìn)后的PCA算法可以達(dá)到用數(shù)量較少的指標(biāo)來代替原來多個(gè)指標(biāo)的目的:傳統(tǒng)的PCA算法所得的前5個(gè)主成分的累積貢獻(xiàn)率達(dá)到了87.37%,而改進(jìn)的PCA算法所得的前3個(gè)主成分的累積貢獻(xiàn)率就已經(jīng)達(dá)到了89.51%.
表2 部分片段的特征參數(shù)值Table 2 The characteristic parameter values of some fragments
表3 各主成分貢獻(xiàn)率Table 3 The contribution rates of each principal component %
利用主成分分析可以得到2 348個(gè)運(yùn)動學(xué)片段的前3個(gè)主成分的得分,部分運(yùn)動學(xué)片段的前3個(gè)主成分得分見表4.
表4 部分運(yùn)動學(xué)片段主成分得分Table 4 The principal component scores of kinematics fragments
使用傳統(tǒng)的K均值聚類算法[21],對2 348片段的前3個(gè)主成分得分進(jìn)行聚類. 由聚類結(jié)果(圖1)可知:2 348個(gè)運(yùn)動學(xué)片段被分為3類,分別為579個(gè)第1類的運(yùn)動學(xué)片段、843個(gè)第2類的運(yùn)動學(xué)片段、926個(gè)第3類的運(yùn)動學(xué)片段,聚類的整體效果較好,但是比較離散. 聚類中心具體值見表5.
圖1 K均值聚類結(jié)果
表5 K均值聚類中心Table 5 The K-means clustering center
利用GSA-FCM聚類算法對2 348片段的前3個(gè)主成分得分進(jìn)行聚類,由聚類結(jié)果(圖2)可知:2 348個(gè)運(yùn)動學(xué)片段被劃分為3類,雖然有部分點(diǎn)比較分散,但是相比K均值聚類算法,整體聚類效果更加明顯,說明使用GSA優(yōu)化FCM聚類算法的初始聚類中心,可以防止FCM聚類陷入局部最優(yōu),達(dá)到更好的聚類效果. 各類的聚類中心如表6所示.
圖2 GSA-FCM聚類結(jié)果
表6 GSA-FCM的聚類中心Table 6 The GSA-FCM clustering center
在行駛工況的合成中,最重要的就是運(yùn)動學(xué)片段的選擇,合適的運(yùn)動學(xué)片段可以呈現(xiàn)聚類所得的每一類運(yùn)動學(xué)片段所代表的行駛狀況. 所以,本文采用如下步驟選取運(yùn)動學(xué)片段:
(1)對每類所屬運(yùn)動學(xué)片段的特征參數(shù)進(jìn)行Min-Max標(biāo)準(zhǔn)化處理,并求出每類運(yùn)動學(xué)片段的特征參數(shù)之和,記為A;
(2)計(jì)算每類所屬運(yùn)動學(xué)片段每個(gè)特征參數(shù)的平均值,并對其進(jìn)行Min-Max標(biāo)準(zhǔn)化后求和,記為B;
(3)計(jì)算A與B的絕對誤差,按升序排列;
(4)計(jì)算每類片段所用的時(shí)間在所有片段所用總時(shí)間中的比例,從而確定每一類別在合成行駛工況里所占的時(shí)間,計(jì)算公式如下:
(1)
其中,ti表示第i(i=1,2,3)類運(yùn)動學(xué)片段在最終構(gòu)建工況曲線中所占的時(shí)間,M表示最終構(gòu)建工況所用的時(shí)間,ti,m表示第i(i=1,2,3)類運(yùn)動學(xué)片段中第m個(gè)運(yùn)動學(xué)片段所用的時(shí)間,ni表示第i(i=1,2,3)類運(yùn)動學(xué)片段總數(shù);
(5)根據(jù)時(shí)間比例從每類運(yùn)動學(xué)片段中選擇絕對誤差最小的片段合成最終工況圖.
根據(jù)上述步驟,合成工況所用的時(shí)間一般為1 200~1 300 s. 由式(1)可得選取3類運(yùn)動學(xué)片段所用時(shí)間分別為642.105 0~695.613 7 s、332.686 3~360.410 1 s、225.208 7~243.976 1 s.
由2種聚類算法所合成的行駛工況圖(圖3、圖4)可知:利用傳統(tǒng)的K均值聚類算法所得的行駛工況圖中怠速狀態(tài)較多;利用GSA-FCM聚類算法所得的行駛工況圖顯示汽車的行駛速度大部分為0~20 km/h,處于低速狀態(tài),高速行駛情況較少,與實(shí)際情況相符.
圖3 K均值聚類合成工況圖
圖4 GSA-FCM最終擬合工況圖
在合成工況之后,需要檢驗(yàn)該工況是否具有代表性. 本文基于特征參數(shù)的誤差進(jìn)行比對,即選擇平均速度、平均加速度和平均減速度等9個(gè)具有代表性的特征參數(shù)為評價(jià)指標(biāo),分別計(jì)算原始數(shù)據(jù)合成的實(shí)際工況與GSA-FCM聚類算法、傳統(tǒng)的K均值聚類算法所合成工況的特征參數(shù)值并進(jìn)行誤差分析. 由結(jié)果(表7)可知:GSA-FCM聚類算法有1個(gè)指標(biāo)的相對誤差較大,其他8個(gè)指標(biāo)的相對誤差均在10%以下,所有特征值的平均相對誤差僅為 6.46%;傳統(tǒng)的K均值聚類算法有6個(gè)指標(biāo)的相對誤差大于10%,平均相對誤差為16.17%. 由此可知:利用GSA-FCM聚類算法所合成的行駛工況圖的誤差小、精度高,可以反映原始數(shù)據(jù)所蘊(yùn)含的工況信息.
表7 基于特征參數(shù)的實(shí)際工況與合成工況分析Table 7 The analysis of actual working condition and synthetic working condition based on characteristic parameters
表8 合成工況與NEDC標(biāo)準(zhǔn)測試工況對比Table 8 The comparison of synthetic conditions and NEDC standard test conditions
本文提出一種改進(jìn)的主成分分析和利用遺傳模擬退火算法優(yōu)化后的模糊C均值聚類算法相結(jié)合的聚類算法(GSA-FCM),以構(gòu)建汽車行駛工況圖. 并將該聚類算法和傳統(tǒng)的K均值聚類算法所合成的行駛工況的特征參數(shù)值與實(shí)際工況的特征參數(shù)值進(jìn)行比較,所得平均相對誤差分別為6.46%、16.17%,充分說明使用GSA-FCM聚類算法所合成的行駛工況圖的誤差小、精度高. 由GSA-FCM聚類算法合成的工況、NEDC標(biāo)準(zhǔn)測試工況與實(shí)際工況的對比結(jié)果可知:實(shí)際工況與NEDC工況存在顯著的差異,與GSA-FCM聚類合成工況差異較小,說明NEDC工況圖不能代表該市汽車的行駛狀況,而GSA-FCM聚類合成工況與該市汽車的行駛狀況更相符.