王 智,張志強(qiáng),2,謝曉芹,2,潘海為
?
基于提升樹的PM2.5濃度預(yù)測(cè)模型
王 智1,張志強(qiáng)1,2,謝曉芹1,2,潘海為1
(1. 哈爾濱工程大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,黑龍江 哈爾濱 150001; 2. 哈爾濱工程大學(xué) 智能信息處理研究中心,黑龍江 哈爾濱 150001)
針對(duì)當(dāng)前空氣質(zhì)量預(yù)報(bào)對(duì)PM2.5濃度預(yù)測(cè)不準(zhǔn)確的問題,本文使用提升樹模型預(yù)測(cè)PM2.5濃度,利用特征重要性提升了算法效率,并分析了不同特征對(duì)預(yù)測(cè)PM2.5濃度準(zhǔn)確率的影響。首先從北京地區(qū)數(shù)個(gè)氣象觀測(cè)站2016年1月到12月的氣象數(shù)據(jù)中抽取溫度、風(fēng)速等六種氣象因子,再利用同時(shí)期北京十二個(gè)國(guó)控點(diǎn)的六種空氣污染物濃度數(shù)據(jù)構(gòu)成了特征向量。接下來(lái)利用提升樹(Boosting Tree)對(duì)未來(lái)24小時(shí)內(nèi)的PM2.5濃度進(jìn)行預(yù)測(cè),與線性回歸(LR)進(jìn)行了對(duì)比,最后通過提取特征重要性信息對(duì)預(yù)測(cè)模型進(jìn)行了改進(jìn),并分析了對(duì)PM2.5濃度影響較大的特征。對(duì)模型預(yù)測(cè)結(jié)果采用K-折交叉驗(yàn)證,實(shí)驗(yàn)結(jié)果表明,相比線性回歸模型,本文所提出的基于提升樹的PM2.5濃度預(yù)測(cè)模型對(duì)未來(lái)24小時(shí)內(nèi)的濃度預(yù)測(cè)準(zhǔn)確率高10%至30%,改進(jìn)后的算法效率提升了20%。
機(jī)器學(xué)習(xí);空氣污染;PM2.5濃度預(yù)測(cè);提升樹;XGBoost
PM2.5又稱為細(xì)顆粒物,是指空氣動(dòng)力學(xué)當(dāng)量直徑小于等于2.5微米的大氣顆粒物。PM2.5是一種來(lái)源復(fù)雜的大氣污染物,其來(lái)源大致可分為自然污染源和人為污染源等兩種。相對(duì)于其他較大的顆粒物,PM2.5的比表面積更大,富含有毒、有害物質(zhì)且在大氣中滯留的時(shí)間長(zhǎng)、輸送距離遠(yuǎn),因而對(duì)人體健康和大氣環(huán)境質(zhì)量的影響更大。國(guó)際標(biāo)準(zhǔn)化組織(ISO)提出的易引起兒童和成人發(fā)生肺部疾病的“高危險(xiǎn)性顆粒物”為小于2.4微米的顆粒物,與PM2.5甚為接近[1]。
現(xiàn)階段,對(duì)于PM2.5濃度的預(yù)報(bào)主要包括數(shù)值預(yù)報(bào)方法和統(tǒng)計(jì)預(yù)報(bào)方法兩種。數(shù)值預(yù)報(bào)方法是指根據(jù)大氣實(shí)際情況,利用初始值和邊界值通過計(jì)算機(jī)運(yùn)算模擬大氣運(yùn)動(dòng)狀態(tài)的方法。數(shù)值預(yù)報(bào)方法對(duì)污染與氣象數(shù)據(jù)的要求較高,而大量詳細(xì)的相關(guān)數(shù)據(jù)往往很難獲得,所以數(shù)值預(yù)報(bào)方法在中國(guó)大多城市并不成熟。目前,主要通過統(tǒng)計(jì)預(yù)報(bào)方法對(duì)PM2.5濃度進(jìn)行預(yù)報(bào),統(tǒng)計(jì)預(yù)報(bào)方法是指利用統(tǒng)計(jì)學(xué)原理以及概率論和數(shù)理統(tǒng)計(jì)的方法建立模型進(jìn)行預(yù)測(cè),主要包括回歸模型(線性和非線性回歸模型)、人工神經(jīng)網(wǎng)絡(luò)模型、支持向量機(jī)模型及馬爾可夫模型等。
比如Cobourn[2]提出一種基于非線性回歸模型與后向軌跡濃度的方法來(lái)預(yù)測(cè)一片區(qū)域PM2.5的日均最大值。此方法利用到了天氣信息作為預(yù)測(cè)條件,比如日最高氣溫、日最低氣溫、露點(diǎn)溫度、相對(duì)濕度、云量、風(fēng)向和風(fēng)速等氣象條件,但是對(duì)于空氣中其他的污染物,如二氧化硫、一氧化碳和PM10等其他主要大氣污染物卻沒有考慮,因此存在一定局限;Zhang[3]和Li[4]等使用BP人工神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)PM2.5濃度進(jìn)行預(yù)測(cè),但是深度學(xué)習(xí)方法本身過于依賴隱層神經(jīng)元個(gè)數(shù)的選擇,所以泛化能力存在局限,訓(xùn)練時(shí)間也較長(zhǎng);Dong[5]實(shí)現(xiàn)了一種基于支持向量機(jī)的PM2.5推理模型,但支持向量機(jī)訓(xùn)練速度較慢,并且解決非線性問題比較困難,準(zhǔn)確率不高;因?yàn)镻M2.5的濃度變化有著較為明顯的馬爾可夫性,Sun[6]等使用了馬爾可夫模型。但是由于滿足馬爾可夫性,所以被預(yù)測(cè)時(shí)刻強(qiáng)烈依賴其前一時(shí)刻的狀態(tài),如果前一時(shí)刻數(shù)據(jù)缺失或者前一時(shí)刻的數(shù)據(jù)本身就是通過預(yù)測(cè)得到的數(shù)據(jù),那么得到的預(yù)測(cè)數(shù)據(jù)就會(huì)有比較大的偏差,這是不利于做長(zhǎng)時(shí)間預(yù)測(cè)的。劉杰[7]采用將氣象因素和其他污染物的濃度值共同作為輸入值的方法,通過改進(jìn)輸入因子利用多元線性回歸模型對(duì)PM2.5的濃度進(jìn)行預(yù)測(cè)。因?yàn)榭紤]的因素更加全面,所以在與僅考慮氣象因素的模型進(jìn)行對(duì)比時(shí)表現(xiàn)出了很好的性能。
鑒于現(xiàn)行的預(yù)測(cè)模型都存在比較大的預(yù)測(cè)誤差,本文將通過改進(jìn)和完善輸入因子與建模方法的方式提高預(yù)測(cè)模型對(duì)PM2.5濃度預(yù)測(cè)的準(zhǔn)確率,并研究提升算法效率的方法。首先,對(duì)于輸入因子,本文將著重研究空氣質(zhì)量,尤其是PM2.5濃度與其他主要污染物濃度(SO2,CO,NO2,O3,PM10)以及氣象因素之間的關(guān)系。其中氣象因素又包括溫度、氣壓、濕度、風(fēng)速和風(fēng)向等條件。其次,對(duì)于建模方法,本文將研究提升樹模型在此問題上相較于傳統(tǒng)的線性回歸模型有哪些提升。
提升方法實(shí)際采用加法模型(即基函數(shù)的線性組合)與前向分布算法。以決策樹為基函數(shù)的提升方法稱為提升樹[8]。提升樹模型可以表示為決策樹的加法模型:
在本研究中,氣象數(shù)據(jù)以及空氣污染數(shù)據(jù)與PM2.5濃度之間的關(guān)系十分復(fù)雜,這也是本研究不打算尋找一個(gè)線性方程去直接刻畫他們之間關(guān)系的原因。但是樹的線性組合則可以很好的擬合具有復(fù)雜關(guān)系的訓(xùn)練數(shù)據(jù),所以在處理這類問題時(shí)往往能取得不錯(cuò)的效果。
XGBoost是“Extreme Gradient Boosting”的縮寫,是提升樹的一種高效實(shí)現(xiàn),其與一般梯度提升樹的最大不同在于目標(biāo)函數(shù)[10],XGBoost在目標(biāo)函數(shù)中加入了正則化項(xiàng),當(dāng)基學(xué)習(xí)器為CART決策樹時(shí),正則化項(xiàng)與樹的葉子節(jié)點(diǎn)數(shù)量以及葉子節(jié)點(diǎn)的值有關(guān)。
對(duì)于一般的目標(biāo)函數(shù)
和logistic回歸中的logistic損失:
正則化項(xiàng)控制模型的復(fù)雜度,用來(lái)避免過擬合。常見的正則化項(xiàng)有L2正則和L1正則等。
綜上所述,首先可以定義XGBoost模型如下:
到現(xiàn)在為止,XGBoost與傳統(tǒng)提升樹模型(如GBDT)差別不大,同樣面臨著當(dāng)選取其他損失函數(shù)時(shí)目標(biāo)函數(shù)優(yōu)化困難的問題,針對(duì)這一問題,XGBoost通過將目標(biāo)函數(shù)公式進(jìn)行泰勒展開來(lái)逼近殘差:
最后需要確定樹的結(jié)構(gòu),即在建立樹時(shí)如何對(duì)節(jié)點(diǎn)進(jìn)行劃分,為此需要計(jì)算節(jié)點(diǎn)劃分后的增益:
本文中選取北京地區(qū)2016年1月至12月的空氣質(zhì)量數(shù)據(jù)和氣象條件數(shù)據(jù),其中北京市空氣質(zhì)量數(shù)據(jù)來(lái)自北京市環(huán)境保護(hù)監(jiān)測(cè)中心,氣象條件數(shù)據(jù)來(lái)自中央氣象臺(tái)。
空氣質(zhì)量數(shù)據(jù)中包括北京市的12個(gè)國(guó)控點(diǎn)的數(shù)據(jù),每個(gè)小時(shí)測(cè)量一次,數(shù)據(jù)包括實(shí)時(shí)AQI值、PM2.5濃度、PM10濃度、SO2濃度NO2-濃度、CO濃度以及O--3濃度等。
氣象條件數(shù)據(jù)中包括北京地區(qū)18個(gè)氣象監(jiān)測(cè)站的數(shù)據(jù),每小時(shí)記錄一次,數(shù)據(jù)主要包括溫度、濕度、氣壓、降水量、風(fēng)速以及風(fēng)向等因素。
2.2.1 數(shù)據(jù)擴(kuò)充
取每個(gè)空氣質(zhì)量監(jiān)測(cè)站全年366天逐小時(shí)的數(shù)據(jù)作為原始數(shù)據(jù)集。整體數(shù)據(jù)量對(duì)比同類文章較大,但是對(duì)于預(yù)測(cè)模型來(lái)說仍然過小,所以首先需要對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)充。
在一些研究中[11],每條訓(xùn)練數(shù)據(jù)應(yīng)是取某個(gè)站點(diǎn)某天的某一時(shí)刻的數(shù)據(jù)作為屬性,然后將接下來(lái)的間隔1至24小時(shí)的PM2.5數(shù)值作為標(biāo)簽得到23條數(shù)據(jù),這樣一來(lái)得到的訓(xùn)練集和測(cè)試集與原始數(shù)據(jù)集的數(shù)量理論上相差無(wú)幾。但是在實(shí)際過程中,由于很多偶發(fā)因素,許多站點(diǎn)的監(jiān)測(cè)數(shù)據(jù)是缺失的,這種實(shí)際觀測(cè)值的缺失是無(wú)法補(bǔ)全的,否則數(shù)據(jù)集就不是實(shí)際觀測(cè)數(shù)據(jù)了。所以最后的數(shù)據(jù)往往要比原始數(shù)據(jù)少一半左右,使得原本十萬(wàn)條數(shù)據(jù)只剩下五萬(wàn)條左右。
為了解決這一問題,需要利用冗余數(shù)據(jù)對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)充。在上述方法中,對(duì)于一個(gè)站點(diǎn)來(lái)說,其每天的數(shù)據(jù)只有1個(gè)時(shí)間點(diǎn)上的觀測(cè)數(shù)據(jù)會(huì)被完全利用,剩下的23個(gè)時(shí)間點(diǎn)上的數(shù)據(jù)只有PM2.5的數(shù)值會(huì)被作為標(biāo)簽利用,其他屬性就被浪費(fèi)了。所以為了擴(kuò)充數(shù)據(jù)集,可以將同一個(gè)站點(diǎn)的每小時(shí)的數(shù)據(jù)都作為訓(xùn)練數(shù)據(jù),將其后的間隔1至24小時(shí)的PM2.5數(shù)值作為標(biāo)簽,利用這種方法可以將數(shù)據(jù)集擴(kuò)充20倍以上,得到130萬(wàn)條左右的數(shù)據(jù)集。這種方法將一個(gè)站點(diǎn)的數(shù)據(jù)在時(shí)間上連接成了一個(gè)整體。接下來(lái)介紹將空間屬性加入到數(shù)據(jù)集中的方法。
2.2.2 空間坐標(biāo)轉(zhuǎn)換方法
在上述過程中,站點(diǎn)與站點(diǎn)之間是相對(duì)獨(dú)立的,除了測(cè)量時(shí)間之外沒有將站點(diǎn)聯(lián)系起來(lái)的屬性存在。而測(cè)量時(shí)間是無(wú)法體現(xiàn)站點(diǎn)之間的相對(duì)關(guān)系的,這種關(guān)系是基于空間的關(guān)系,所以正確的方法應(yīng)該是將站點(diǎn)間的空間屬性加入到數(shù)據(jù)集中。
在原始資料中,12個(gè)國(guó)控點(diǎn)的經(jīng)緯度信息是已知的。傳統(tǒng)的做法通常是根據(jù)這些經(jīng)緯度信息獲取人口密度等方式加以利用[12-15],或是僅對(duì)幾個(gè)關(guān)鍵點(diǎn)進(jìn)行預(yù)測(cè)[16-17],但是這些方法有兩個(gè)比較大的問題:首先,在市區(qū),人口密度有著比較大的波動(dòng)[18],無(wú)法獲取準(zhǔn)確值;其次,這種方法其實(shí)只是間接地利用了空間信息,沒有很好的體現(xiàn)站點(diǎn)間的聯(lián)系,預(yù)測(cè)結(jié)果不夠全面。所以本文將通過計(jì)算站點(diǎn)與一個(gè)固定參照點(diǎn)的實(shí)際距離和二者的真方位角作為站點(diǎn)的空間屬性。由于這兩個(gè)屬性都是連續(xù)值,所以站點(diǎn)間的關(guān)系就能夠借此體現(xiàn)了。但是由于地球是一個(gè)球體,所以在利用經(jīng)緯度計(jì)算距離和方向角時(shí),不能夠簡(jiǎn)單地將經(jīng)緯度轉(zhuǎn)換為直角坐標(biāo)進(jìn)行計(jì)算,尤其在計(jì)算方向角時(shí),隨著緯度的升高誤差可能會(huì)達(dá)到10%以上。所以,本文中所計(jì)算的方位角為真方位角,即從真子午線北端順時(shí)針方向量至某一直線的水平角。在本文中基準(zhǔn)點(diǎn)為天安門。計(jì)算方法如過程1。
過程1由經(jīng)緯度計(jì)算球面距離真方向角
輸入:地球半徑R,基準(zhǔn)點(diǎn)經(jīng)度 A_lo,基準(zhǔn)點(diǎn)緯度A_la,目標(biāo)點(diǎn)經(jīng)度B_lo,目標(biāo)點(diǎn)緯度B_la
輸出:距離 distance,真方位角 true_bearing
步驟:
1. 利用三面角余弦公式計(jì)算基準(zhǔn)點(diǎn),目標(biāo)點(diǎn)與北極點(diǎn)的夾角余弦值:
3. 利用球面正弦公式計(jì)算真方位角的正弦值:
4. 得到真方位角:
5. 根據(jù)目標(biāo)點(diǎn)相對(duì)基準(zhǔn)點(diǎn)所在象限對(duì)結(jié)果進(jìn)行修正得到真方位角:
IF (B_la - A_la >= 0 AND B_lo - A_lo >= 0):
return A
ELIF (B_la - A_la >= 0 AND B_lo - A_lo < 0):
RETURN 360 + A
ELSE:
RETURN 180 – A
7. 將轉(zhuǎn)為弧度:
8. 將弧度乘以地球半徑得到距離:
9. 返回與
2.2.3 離散數(shù)據(jù)處理
本文中的數(shù)據(jù)集包括空氣質(zhì)量數(shù)據(jù)和氣象條件數(shù)據(jù)等,其中大部分?jǐn)?shù)據(jù)為連續(xù)性數(shù)據(jù),可以直接使用,但是在氣象條件數(shù)據(jù)中存在風(fēng)向這一離散型數(shù)據(jù),風(fēng)向可以取八種方向,一般的做法是將八個(gè)風(fēng)向的數(shù)據(jù)對(duì)應(yīng)八個(gè)數(shù)值進(jìn)行計(jì)算,但是這樣做是不恰當(dāng)?shù)?。因?yàn)轱L(fēng)向事實(shí)上是沒有大小、順序之分的,如果簡(jiǎn)單地將風(fēng)向映射為八個(gè)數(shù)值,比如0到7,就會(huì)使得風(fēng)向之間是可以計(jì)算的,假設(shè)北風(fēng)為0,南風(fēng)為4,那么通過計(jì)算北風(fēng)和南風(fēng)的“均值”即可得到以2表示的東風(fēng),這顯然是不可取的。所以需要對(duì)離散數(shù)據(jù)進(jìn)行處理,本文中利用的是獨(dú)熱編碼對(duì)風(fēng)向數(shù)據(jù)進(jìn)行處理。
獨(dú)熱編碼(One-hot Encoding),是指采用N位狀態(tài)寄存器對(duì)N個(gè)狀態(tài)進(jìn)行編碼,每個(gè)狀態(tài)都擁有獨(dú)立的寄存器位,并且在任一時(shí)刻有且僅有一位有效。即通過使用獨(dú)熱編碼可以將離散變量表示為二進(jìn)制向量形式,這樣就避免了離散數(shù)據(jù)對(duì)模型的影響。以風(fēng)向?yàn)槔?,將風(fēng)向一個(gè)屬性分解為八個(gè)獨(dú)立的狀態(tài)位,只有風(fēng)向?qū)?yīng)位置的狀態(tài)位為1,其他位則為0。
本文將主要在時(shí)間序列上建立預(yù)測(cè)模型,并結(jié)合空間位置屬性利用監(jiān)測(cè)點(diǎn)的某一時(shí)刻數(shù)據(jù)對(duì)其接下來(lái)24小時(shí)內(nèi)的PM2.5濃度進(jìn)行預(yù)測(cè)。
本文使用十二個(gè)監(jiān)測(cè)點(diǎn)中的十個(gè)監(jiān)測(cè)點(diǎn)作為訓(xùn)練數(shù)據(jù),剩下的兩個(gè)監(jiān)測(cè)點(diǎn)作為測(cè)試數(shù)據(jù)。其中測(cè)試數(shù)據(jù)為天壇站點(diǎn)(編號(hào)為1004A)與農(nóng)展館站點(diǎn)(編號(hào)為1005A)全年的數(shù)據(jù)。
首先對(duì)訓(xùn)練數(shù)據(jù)使用10折交叉驗(yàn)證選取最優(yōu)的預(yù)測(cè)模型,其中隨機(jī)數(shù)因子為100,每次劃分不打亂順序。以編號(hào)為1001A的萬(wàn)壽西宮監(jiān)測(cè)點(diǎn)為例,首先將其每天每小時(shí)的數(shù)據(jù)(除基本空氣質(zhì)量條件數(shù)據(jù)外,還包括日期時(shí)間數(shù)據(jù)、距離方向角數(shù)據(jù)以及氣象條件數(shù)據(jù)等)作為輸入,每條數(shù)據(jù)對(duì)應(yīng)的接下來(lái)1小時(shí)至24小時(shí)的PM2.5濃度作為此條數(shù)據(jù)的實(shí)際值。然后分別使用XGBoost與線性回歸模型對(duì)數(shù)據(jù)進(jìn)行擬合,得到最佳預(yù)測(cè)模型。再將模型應(yīng)用于測(cè)試數(shù)據(jù)集,計(jì)算模型在測(cè)試集上預(yù)測(cè)出的數(shù)據(jù)值與實(shí)際數(shù)據(jù)值的平均絕對(duì)誤差(MAE):
在模型訓(xùn)練過程中,XGBoost模型的訓(xùn)練速度較慢,本文利用XGBoost模型訓(xùn)練后得到的特征重要性列表對(duì)訓(xùn)練模型的過程進(jìn)行了優(yōu)化,在保證預(yù)測(cè)準(zhǔn)確率的情況下,可以將模型訓(xùn)練速度提升30%左右。
此方法的本質(zhì)的是利用特征重要性對(duì)特征進(jìn)行過濾去除不重要的特征以提升訓(xùn)練速度。首先說明什么是特征重要性。在XGBoost訓(xùn)練模型過程中,每棵樹的每個(gè)節(jié)點(diǎn)在進(jìn)行劃分的時(shí)候需要尋找使得特征選擇準(zhǔn)則(在CART樹中為基尼指數(shù))達(dá)到最優(yōu)的特征,然后根據(jù)此特征對(duì)節(jié)點(diǎn)進(jìn)行劃分,直到滿足停止條件,那么如果對(duì)所有特征被選擇作為劃分特征的次數(shù)進(jìn)行統(tǒng)計(jì),那么就可以得到特征重要性序列,即此特征在劃分決策樹節(jié)點(diǎn)時(shí)的重要性程度,這個(gè)數(shù)值越大說明這個(gè)特征越重要。
本文利用這一概念對(duì)數(shù)據(jù)集的特征進(jìn)行篩選,保留重要的特征,過濾不重要的特征以達(dá)到加快訓(xùn)練速度的目的。雖然在訓(xùn)練之初仍需要對(duì)所有的數(shù)據(jù)進(jìn)行訓(xùn)練,但是在之后的訓(xùn)練過程中再次建模的速度會(huì)大幅提升,所以總的來(lái)說是一種相當(dāng)有效的方法。
首先在訓(xùn)練數(shù)據(jù)集上分別使用三種建模方法得到三種預(yù)測(cè)模型,分別為XGBoost模型、改進(jìn)的XGBoost模型與線性回歸模型。在本實(shí)驗(yàn)中,為了控制變量,三種模型均沒有經(jīng)過特殊調(diào)參,使用各自的默認(rèn)參數(shù)進(jìn)行訓(xùn)練。然后再將得到的預(yù)測(cè)模型應(yīng)用于測(cè)試數(shù)據(jù)集得到預(yù)測(cè)結(jié)果,最后分別計(jì)算三種預(yù)測(cè)模型在不同時(shí)間間隔下的平均絕對(duì)誤差。天壇站點(diǎn)測(cè)試集的結(jié)果如表1。將三個(gè)模型在兩個(gè)站點(diǎn)的測(cè)試數(shù)據(jù)集上得到的結(jié)果繪制為圖像,得到圖1和圖2。
表1 XGBoost模型、改進(jìn)的XGBoost模型與線性回歸模型實(shí)驗(yàn)結(jié)果
Tab.1 Experimental results of XGBoost model, improved XGBoost model and linear regression model
圖1 天壇站點(diǎn)結(jié)果對(duì)比
圖2 農(nóng)展館站點(diǎn)結(jié)果對(duì)比
在圖中可以明顯地看到相比于線性回歸模型,XGBoost模型的誤差更小,而改進(jìn)的XGBoost模型與標(biāo)準(zhǔn)的XGBoost模型基本沒有差距,在時(shí)間間隔較短的預(yù)測(cè)過程中甚至表現(xiàn)出了更為出色的預(yù)測(cè)精度。三者的誤差均是隨時(shí)間間隔的增大而增大,其中XGBoost模型在預(yù)測(cè)最近幾個(gè)小時(shí)的PM2.5濃度時(shí)精度很高,尤其是在預(yù)測(cè)當(dāng)前時(shí)間點(diǎn)接下來(lái)一個(gè)小時(shí)后的數(shù)據(jù)時(shí),平均絕對(duì)誤差僅在15左右,而在預(yù)測(cè)24小時(shí)之后的數(shù)據(jù)時(shí)誤差也只是在40左右,均比線性回歸模型低10%到30%。
在XGBoost模型訓(xùn)練完成之后會(huì)得到特征重要性列表,如圖3。其中縱軸為特征名稱,橫軸為此特征用于劃分決策樹節(jié)點(diǎn)的次數(shù)。在本文中,特征重要性不僅為實(shí)驗(yàn)提供了分析特征的重要依據(jù),還為提升算法效率提供了重要的參考。本節(jié)主要分析不同特征對(duì)預(yù)測(cè)模型的重要性,下一節(jié)將主要介紹由此帶來(lái)的算法效率提升。
在圖中可以得知,當(dāng)前PM2.5濃度是最重要的劃分特征,這也符合一般經(jīng)驗(yàn),當(dāng)前PM2.5濃度最能反映接下來(lái)一段時(shí)間內(nèi)的PM2.5濃度,據(jù)此進(jìn)行劃分自然也就能夠得到準(zhǔn)確率較高的預(yù)測(cè)模型。下面的兩個(gè)特征分別為時(shí)間間隔與日期,其中日期主要反映月份。這也是比較符合一般經(jīng)驗(yàn)的,時(shí)間間隔越小那么結(jié)合當(dāng)前PM2.5濃度預(yù)測(cè)的準(zhǔn)確率也應(yīng)當(dāng)會(huì)更高,同時(shí)PM2.5的污染程度與數(shù)據(jù)所屬月份或者說季節(jié)也有著相當(dāng)?shù)穆?lián)系,冬季的PM2.5濃度會(huì)比其他季節(jié)更高。
圖3 特征重要性
下面的一個(gè)與月份特征重要性相當(dāng)?shù)奶卣魇菤鈮?,這是第一個(gè)出現(xiàn)在表中的氣象條件特征,這是有悖于一般經(jīng)驗(yàn)的。一些研究中認(rèn)為在氣象條件特征中風(fēng)速是影響PM2.5濃度首要因素[19],但實(shí)驗(yàn)結(jié)果表明氣壓是比風(fēng)速更為重要的影響因素。對(duì)氣壓與PM2.5數(shù)據(jù)使用Excel進(jìn)行簡(jiǎn)單的線性相關(guān)性分析,得到的相關(guān)性僅有-0.02347,這意味二者之間只有微弱的負(fù)線性相關(guān),此時(shí)如果使用線性回歸,那么氣壓數(shù)據(jù)對(duì)結(jié)果的影響就會(huì)很小[20],但是實(shí)驗(yàn)結(jié)果表明氣壓數(shù)據(jù)對(duì)PM2.5濃度的影響實(shí)際上是很大的,這說明氣壓與PM2.5濃度之間存在非線性相關(guān),這證明本文使用樹形模型對(duì)PM2.5濃度進(jìn)行預(yù)測(cè)是正確的。
在較為重要的特征中,空氣質(zhì)量條件特征明顯比氣候條件特征更為重要。而其他隱含的條件特征,比如時(shí)間和所屬月份等時(shí)間因素也是比較重要的,但是空間條件特征卻并沒有起到很大的作用,推測(cè)是因?yàn)樵趩为?dú)一個(gè)城市內(nèi)監(jiān)測(cè)范圍較小,空間條件特征不能很好的劃分?jǐn)?shù)據(jù)集。
本文中對(duì)算法進(jìn)行改進(jìn),首先需要利用特征重要性確定用于訓(xùn)練的特征集合。根據(jù)特征重要性表,可以將特征集合根據(jù)閾值選取的不同劃分為不同的特征集合。例如當(dāng)閾值設(shè)為100時(shí),特征集合中僅有當(dāng)前PM2.5濃度這一個(gè)特征,通過調(diào)整閾值,可以對(duì)特征集合進(jìn)行劃分,閾值越小,特征集合中的特征數(shù)量越多,相應(yīng)的模型也就越復(fù)雜,訓(xùn)練時(shí)間也就越長(zhǎng)。根據(jù)不同的劃分,訓(xùn)練得到不同的模型,再將這些模型應(yīng)用于測(cè)試集數(shù)據(jù),就得到了這幾種模型的平均絕對(duì)誤差,如圖4。
在圖中可以看到,隨著閾值的減小平均絕對(duì)誤差先是減小,然后又開始增加。這意味著單純減少特征數(shù)量或增加特征數(shù)量都是不合理的。最后,根據(jù)圖中的實(shí)驗(yàn)結(jié)果,本文選取閾值(即特征重要性)大于等于22的所有特征構(gòu)成特征集合,并依此訓(xùn)練改進(jìn)的預(yù)測(cè)模型。
圖4 不同閾值特征集合模型的平均絕對(duì)誤差
接下來(lái)需要將改進(jìn)后訓(xùn)練模型與原始模型進(jìn)行對(duì)比。在前文的結(jié)果分析中可以看到,改進(jìn)后的算法在預(yù)測(cè)精度上并不遜色于原算法,甚至在開始階段優(yōu)于原算法。那么只要改進(jìn)后的算法能夠在運(yùn)行速度上超過原算法,就可以認(rèn)為該改進(jìn)方法是有效的。為保證實(shí)驗(yàn)準(zhǔn)確性,將二者在相同的訓(xùn)練數(shù)據(jù)集上進(jìn)行分別訓(xùn)練8次,取算法運(yùn)行時(shí)間,得到8組共16條數(shù)據(jù),如表2。
表2 XGBoost模型、改進(jìn)的XGBoost模型運(yùn)行時(shí)間對(duì)比(單位:秒)
Tab.2 Comparison of running time between XGBoost model and improved XGBoost model
在表中可以看出,改進(jìn)后的XGBoost算法在運(yùn)行時(shí)間上要比原算法快20%左右。這說明改進(jìn)后的算法在保證預(yù)測(cè)精度的情況下比原始算法復(fù)雜度更低。造成這種情況的主要原因是原始算法使用了所有的特征進(jìn)行運(yùn)算,而本文中改進(jìn)后的算法則選取的是重要性指數(shù)則是在22以上的特征,所以算法整體的運(yùn)算時(shí)間就減少了。綜上所述,本文采用的改進(jìn)方法是有效的。
本文將XGBoost模型應(yīng)用于空氣質(zhì)量預(yù)測(cè)領(lǐng)域,對(duì)數(shù)據(jù)集的空間特征進(jìn)行了提取,并將預(yù)測(cè)結(jié)果與傳統(tǒng)的線性回歸模型進(jìn)行了對(duì)比,分析了不同特征對(duì)預(yù)測(cè)模型的重要性程度。在原算法的基礎(chǔ)上,利用特征重要性信息提出了一種改進(jìn)的預(yù)測(cè)模型,相比于原算法在性能上有了不錯(cuò)的提升,并且預(yù)測(cè)準(zhǔn)確率也有所增加。在未來(lái)的工作中,研究如何提升空間屬性特征在模型中的重要性將是工作的重點(diǎn)。
[1] 楊復(fù)沫, 馬永亮, 賀克斌. 細(xì)微大氣顆粒物PM2.5及其研究概況[J]. 世界環(huán)境, 2000(4): 32-34.
[2] Cobourn W G. An enhanced PM 2.5, air quality forecast model based on nonlinear regression and back-trajectory concentrations[J]. Atmospheric Environment, 2010, 44(25): 3015-3023.
[3] ZHANG P, ZHANG T, HE L, et al. Study on prediction and spatial variation of PM2.5 pollution by using improved BP artificial neural network model of computer technology and GIS[J]. Computer Modelling and New Technologies, 2014, 18(12): 107-115.
[4] Li Y, Xue Y, Jie G, et al. Estimating ground-level PM2.5 concentration in beijing using BP ANN model from satellite data[C]//IGARSS 2017-2017 IEEE International Geoscience and Remote Sensing Symposium. IEEE, 2017: 4870-4873.
[5] Dong Y, Wang H, Zhang L, et al. An improved model for PM2.5 inference based on support vector machine[C]// Ieee/acis International Conference on Software Engineering, Artificial Intelligence, NETWORKING and Parallel/distributed Computing. IEEE, 2016: 27-31.
[6] Sun W, Zhang H, Palazoglu A, et al. Prediction of 24-hour- average PM(2.5) concentrations using a hidden Markov model with different emission distributions in Northern California[J]. Science of the Total Environment, 2013, 443(3): 93-103.
[7] 劉杰, 楊鵬, 呂文生, 等. 基于氣象因素的 PM2.5質(zhì)量濃度預(yù)測(cè)模型[J]. 山東大學(xué)學(xué)報(bào)(工學(xué)版), 2015(6): 76-83.
[8] 李航. 統(tǒng)計(jì)學(xué)習(xí)方法[M]. 清華大學(xué)出版社, 2012.
[9] Friedman J H. Greedy Function Approximation: A Gradient Boosting Machine[J]. Annals of Statistics, 2001, 29(5): 1189- 1232.
[10] Chen T, Guestrin C. XGBoost: A Scalable Tree Boosting System[J]. 2016: 785-794.
[11] Yang G, Huang J. Model Selection of Symbolic Regression to Improve the Accuracy of PM 2.5, Concentration Prediction[M]// Trends and Applications in Knowledge Discovery and Data Mining. Springer International Publishing, 2015.
[12] 劉凡, 翟亮, 桑會(huì)勇. PM_(2.5)土地利用回歸模型地理要素的選取[J]. 測(cè)繪與空間地理信息, 2017, 40(9): 84-87.
[13] Hu L, Liu J, He Z. Self-Adaptive Revised Land Use Regression Models for Estimating PM2.5 Concentrations in Beijing, China[J]. Sustainability, 2016, 8(8): 786.
[14] Xue T, Zheng Y, Geng G, et al. Fusing Observational, Satellite Remote Sensing and Air Quality Model Simulated Data to Estimate Spatiotemporal Variations of PM2.5 Exposure in China[J]. Remote Sensing, 2017, 9(3): 221.
[15] Feng X, Li Q, Zhu Y, et al. An estimate of population exposure to automobile source PM2.5 in Beijing using spatiotemporal analysis[C]// Geoscience and Remote Sensing Symposium. IEEE, 2015: 3029-3032.
[16] Wang H, Dong Y, Zhang K. A spatial-temporal model to improve PM2.5 inference[C]// Ieee/acis, International Conference on Computer and Information Science. IEEE, 2017: 173-177.
[17] Habibi R, Alesheikh A, Mohammadinia A, et al. An Assessment of Spatial Pattern Characterization of Air Pollution: A Case Study of CO and PM2.5 in Tehran, Iran[J]. International Journal of Geo-Information, 2017, 6(9): 270.
[18] 許剛, 焦利民, 肖豐濤, 等. 土地利用回歸模型模擬京津冀PM_(2.5)濃度空間分布[J]. 干旱區(qū)資源與環(huán)境, 2016, 30(10): 116-120.
[19] Deters J K, Zalakeviciute R, Gonzalez M, et al. Modeling PM 2.5 Urban Pollution Using Machine Learning and Selected Meteorological Parameters[J]. Journal of Electrical and Computer Engineering, 2017, (2017-6-18), 2017, 2017(5): 1-14.
[20] Li S, Zhai L, Zou B, et al. A Generalized Additive Model Combining Principal Component Analysis for PM2.5 Concentration Estimation[J]. International Journal of Geo-Information, 2017, 6(8): 248.
PM2.5 Concentration Prediction Model Based on Boosting Tree
WANG Zhi1, ZHANG Zhi-qiang1,2, XIE Xiao-qin1,2, PAN Hai-wei1,2
(1. College of Computer Science and Technology, Harbin Engineering University, Harbin 150001, China;2. Research Center for Intelligent Information Processing, Harbin Engineering University, Harbin 150001, China)
Aiming at the problem of inaccurate prediction of PM2.5 concentration in current air quality forecast, this paper uses a boosting tree model to predict the concentration of PM2.5, the importance of features is used to improve the efficiency of algorithm, and the influence of different features on the accuracy of PM2.5 concentration prediction is analyzed. First, six meteorological factors, such as temperature and wind speed, were extracted from meteorological data from several meteorological monitoring sites in Beijing from January to December of 2016, and six kinds of air pollutant concentration data from twelve national control sites in Beijing were extracted to constitute the feature vector. Next, using the boosting tree model to predict the PM2.5 concentration over the next 24 hours, and compare it with linear regression (LR) model. Finally, the prediction model is improved by extracting the feature importance information, and the features which have a great influence on PM2.5 concentration are analyzed. Using K-fold cross-validation to estimate the accuracy of the model,the experimental results show that, compared with linear regression model, the PM2.5 concentration prediction model based on boosting tree proposed in this paper has a high accuracy of 10% to 30% over the next 24 hours, and the efficiency of the improved algorithm was increased by 20%.
Machine learning; Air pollution; PM2.5 Concentration prediction; Boosting tree model; XGBoost
TP391.4
A
10.3969/j.issn.1003-6970.2018.10.030
王智(1993-),男,碩士研究生,研究方向?yàn)闄C(jī)器學(xué)習(xí);張志強(qiáng)(1973-),男,博士,教授,研究方向?yàn)橹悄苄畔⑻幚?、信息檢索、數(shù)據(jù)挖掘等;謝曉芹(1973-),女,博士,副教授,碩士生導(dǎo)師,研究方向?yàn)樯鐣?huì)網(wǎng)絡(luò)分析與挖掘、Web信息檢索、大數(shù)據(jù)處理、面向服務(wù)的計(jì)算、網(wǎng)絡(luò)模式下知識(shí)處理、智能信息處理等;潘海為,男,副教授,博士生導(dǎo)師,研究方向?yàn)閿?shù)據(jù)庫(kù),數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí),醫(yī)療健康大數(shù)據(jù)等。
王智,張志強(qiáng),謝曉芹,等. 基于提升樹的PM2.5濃度預(yù)測(cè)模型[J]. 軟件,2018,39(10):156-163