李濟瀚, 李曉理,2, 王康, 崔桂梅
(1.北京工業(yè)大學 信息學部,北京 100124;2.北京市計算智能與智能系統(tǒng)重點實驗室, 教育部數(shù)字社區(qū)工程研究中心,北京 100124; 3.內(nèi)蒙古科技大學 信息工程學院, 內(nèi)蒙古,包頭 014010)
隨著環(huán)境被不斷地破壞,大氣污染顆粒物逐漸成為我國主要的監(jiān)測指標. 如一氧化碳(CO)、二氧化碳(CO2)、二氧化硫(SO2)、臭氧(O3)和顆粒物(PM2.5和PM10)[1-2]. 而其中細顆粒物PM2.5是重金屬污染物,對人類健康和出行構(gòu)成了巨大的威脅[3-4]. PM2.5的形成受到多方面因素影響,如濕度、風速、溫度、降雨等因素的影響. 因此,預(yù)測PM2.5濃度是一種典型的高緯度數(shù)據(jù),很容易會出現(xiàn)冗余的數(shù)據(jù). 所以需要提取有效的變量,然后再進行預(yù)測.
為了對空氣污染的監(jiān)測與預(yù)判,近些年不少學者也針對污染問題也開展了一系列的研究. WU等[5]利用改進的神經(jīng)網(wǎng)絡(luò)預(yù)測模型對武漢市區(qū)PM10的空氣指標進行預(yù)測. 預(yù)測結(jié)果證明改進的神經(jīng)網(wǎng)絡(luò)模型預(yù)測精度更高. POLEZER等[6]分別采用3種人工神經(jīng)網(wǎng)絡(luò)模型研究空氣污染對人類健康的影響,該方法證明PM2.5對呼吸系統(tǒng)疾病入院的人影響較大. VLACHOGIANNI等[7]以污染物(NO、NO2、NOx、CO、O3、PM2.5和PM10)的小時濃度和氣象變量(環(huán)境溫度、風速/風向和相對濕度)作為多元線性回歸(MLR)模型的輸入變量對雅典和赫爾辛基的NOx和PM10預(yù)測. 該方法更好地將多種污染物考慮進去,使模型預(yù)測更加準確. KUMAR等[8]采用自回歸滑動平均模型預(yù)測日平均環(huán)境空氣污染物(O3、CO、NO和NO2)濃度. 該方法針對污染物時間序列特點建立模型提高了預(yù)測污染物的濃度. PAN 等[9]利用灰色動態(tài)模型研究了天津市空氣質(zhì)量的變化趨勢. 擬合結(jié)果表明該種模型在短期內(nèi)對空氣質(zhì)量預(yù)測具有較高預(yù)測精度. DE RIDDER等[10]給出了一種卡爾曼濾波方法以確定性修正空氣質(zhì)量預(yù)測結(jié)果. 該方法通過確定性預(yù)報與前期觀測值不匹配的信息,計算下一步預(yù)報的修正回歸系數(shù),從而實現(xiàn)每日O3和PM10濃度場模擬,提高了O3和PM10濃度的準確性.
上述研究方法往往只考慮如何提高模型的預(yù)測精度,很少考慮到模型的計算速度,導(dǎo)致模型預(yù)測時間過長. 在保證預(yù)測模型穩(wěn)定和準確的前提下,為了減少模型運算時間,提高PM2.5濃度預(yù)測速度,本文提出了一種基于主元成分分析與在線序列極限學習機相結(jié)合(PCA-OS-ELM)方法[11-15]. 該方法是在傳統(tǒng)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上改進的一種前饋網(wǎng)絡(luò),廣泛應(yīng)用于故障診斷[16]、流量監(jiān)測[17]、視覺跟蹤[18]、風電[19]等領(lǐng)域. 它只需要確定隱含層個數(shù)就可以對網(wǎng)絡(luò)進行訓練,通過不同批次訓練數(shù)據(jù)不斷更新模型參數(shù). 與傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)相比,該方法計算量小,效率高泛化能力強. 文本將PCA-OS-ELM方法應(yīng)用于大氣PM2.5濃度預(yù)測中. 研究結(jié)果表明該方法所建立的PM2.5濃度預(yù)測模型不僅預(yù)測精度高,穩(wěn)定性強,而且大大減少了模型的運算時間,提高了PM2.5濃度預(yù)測的速度,具有較好的實用性.
北京市是一個四季分明的城市. 因此,為了評估所提方法預(yù)測PM2.5濃度的準確性. 選取2018年6—7月之間采集的PM10、PM2.5、SO2、NO2、CO、O3、溫度、濕度歷史數(shù)據(jù)作為研究對象. 基于圖1顯示的大氣監(jiān)測設(shè)備平臺對所提方法進行驗證.
圖1 北京市某校園965監(jiān)測設(shè)備點Fig.1 965 monitoring equipment of a campus in Beijing
大氣污染監(jiān)測過程中由于影響大氣變化因素較多,因此,本文通過PCA的方法對采集到的變量進行提取的過程為:首先通過采集的污染氣體PM10、PM2.5、NO2、SO2、O3及氣象條件(溫度、濕度)的時間序列為樣本. 其觀測的數(shù)據(jù)矩陣如下式所示
(1)
式中:n為監(jiān)測的樣本數(shù);p為監(jiān)測的指標;x11,x12,…,xn1為樣本數(shù)據(jù)中PM10、PM2.5、NO2、SO2、O3及氣象條件(溫度,濕度)的時間序列. 由于不同的采集樣本量綱不一致,因此需要對采集的數(shù)據(jù)進行標準化處理并計算標準化后的相關(guān)系數(shù)矩陣,其計算公式如下所示
(2)
R=(rij)p×p
然后通過求出矩陣R的特征值(λ1,λ2…λp)和相應(yīng)的特征向量(αj1,αj2,…αjp). 其主成分表達式為
Zi=αj1X1+αj2X2+…αjpXp,
i,j=1,2,…p,i≠j
(3)
式中:Zi為第p個主成分;X1~Xp=xi1~xip. 然后通過計算主成分的貢獻率和累計貢獻率來判定哪些變量因素對污染起著主要的作用. 其公式如下所示
(4)
式中Cr為貢獻率. 累計貢獻率達到85%~95%,確定為所對應(yīng)的主成分個數(shù). 通過對采集的數(shù)據(jù)影響因素進行計算,并從累積貢獻率確定主成分個數(shù)如表1所示.
表1 主成分分析Tab.1 Principal components and contribution rate
從表1中可以看出,累計貢獻率為85%~95%的主成分為前4個變量. 因此,本文選擇PM10、PM2.5、SO2、NO2作為主要的研究對象. 為了進一步分析與PM2.5濃度相關(guān)的變量計算主成分因子載荷矩陣. 如表2給出了主成分因子載荷矩陣.
表2 主成分因子載荷Tab.2 Principal component matrix
表2顯示了4個主成分的之間的相關(guān)性.x1~4為確定的主成分變量. 由于PM2.5濃度是造成污染的主要成分之一. 因此,本文主要對預(yù)測PM2.5濃度進行預(yù)測研究,從表2中的結(jié)果可以看出PM2.5濃度與其他4個變量因素關(guān)系密切,當PM10增加時,PM2.5濃度也會相應(yīng)升高. 當SO2和O3濃度增加時,PM2.5濃度相應(yīng)下降. 所以從表中可以看出提取出的主成分都與PM2.5濃度都有關(guān)系并影響著PM2.5濃度. 因此,本文最終選取PM10、PM2.5、SO2、O3作為主要的關(guān)鍵變量,并確定為所建PM2.5預(yù)測模型的輸入變量.
極限學習機(ELM)是HUANG 等[20]提出的單隱層前饋神經(jīng)網(wǎng)絡(luò). 該網(wǎng)絡(luò)具有輸入層、隱含層和輸出層. 假定有一組訓練集(xi,yi),xi為網(wǎng)絡(luò)的樣本輸入,該輸入包括PM2.5、PM10、SO2、NO2.yi為網(wǎng)絡(luò)的輸出PM2.5濃度. 其L個隱含層神經(jīng)元的ELM的一般形式可以如下式所示
(5)
式中:βi為輸出權(quán)重;G(ai,bi,X)為激勵函數(shù);ai為網(wǎng)絡(luò)的輸入權(quán)重;bi為第i個隱含層單元閾值. ELM的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示.
圖2 極限學習機網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 The network structure chart of ELM
式(5)式也可采用矩陣形式表示,如下所示
Hβ=Y
(6)
式中:H為網(wǎng)絡(luò)的隱含層輸出矩陣,其計算公式表示如下
H(a1,a2,…,aN,b1,b2,…,bN,x1,x2,…,xN)=
(7)
(8)
輸出權(quán)重的計算如下式所示
(9)
式中:H-1為隱含層輸出矩陣的摩爾-彭羅斯廣義逆[21],H-1由下式給出
H-1=(HTH)-1HT
(10)
(11)
式(11)為最小二乘解,通過此解的順序?qū)崿F(xiàn)OS -ELM方法. 只需要考慮最小化問題‖H0β-Y0‖.H-1可以通過奇異值分解(SVD)方法獲得求解[21]. 當?shù)玫絢+1組訓練數(shù)據(jù)塊時計算Hk+1,進而計算新的輸出權(quán)值,如下式所示
(12)
(13)
在建立完極限學習機預(yù)測模型后,利用該模型對大氣PM2.5濃度進行預(yù)測. 利用監(jiān)測的輸入變量PM10、PM2.5、SO2、NO2訓練數(shù)據(jù)集建立一個初始的OS-ELM模型. 首先從采集到的污染物數(shù)據(jù)中利用PCA方法提取主要的污染變量因素實現(xiàn)降維. 然后對所選的主要變量進行歸一化數(shù)據(jù)處理. 再次確定G(ai,bi,X)以及隱含層的個數(shù), 隨機確定ai,bi. 最后通過若干批次的輸入樣本進行訓練直到最后獲得最終的β. 而在采樣監(jiān)測的過程中,新的數(shù)據(jù)被不斷的收集. 因此,通過新采集的數(shù)據(jù)在線更新過程中,利用OS-ELM在線學習能力來更新現(xiàn)有的模型,而無需再訓練. 為了更直觀闡述PCA-OS-ELM方法預(yù)測PM2.5濃度過程,OS-ELM網(wǎng)絡(luò)模型預(yù)測PM2.5濃度的流程具體如圖3所示.
圖3 基于PCA-OS-ELM的 PM2.5濃度預(yù)測流程圖Fig.3 Flow chart of PM2.5 concentration prediction based on PCA-OS-ELM
通過圖3描述了所提方法的運算過程,不斷地利用訓練數(shù)據(jù)更新輸出層權(quán)值,準確地建立模型,達到更高的PM2.5濃度預(yù)測效果. 因此,為了更好地驗證所提方法的有效性,通過實際觀測數(shù)據(jù)與仿真實驗預(yù)測大氣PM2.5濃度,進而更直觀地說明所提方法的準確性.
在實驗中,前80%的數(shù)據(jù)被選為訓練集,剩余的數(shù)據(jù)被用作測試集. 本文所提算法的代碼在Intel(R) Core (TM) i7-6500U CPU 2.50 GHz 具有8 G內(nèi)存的計算機上運行. 為了消除不同維數(shù)和量綱的影響,在數(shù)據(jù)處理過程中分別對采集樣本的輸入數(shù)據(jù)進行歸一化處理. 其公式如下所示
(14)
式中:xp為歸一化后的樣本數(shù)據(jù);xi為輸入的原始數(shù)據(jù);xmax和xmin分別為原始數(shù)據(jù)集中的最大值和最小值. 基于平均絕對誤差(MAE)、均方根誤差(RMSE)和決定系數(shù)(R2)對PCA-OS-ELM方法的檢驗分析和評估. 3個評估函數(shù)由如下式給出
(15)
(16)
(17)
在仿真預(yù)測過程中,本文提出了PCA-OS-ELM方法預(yù)測大氣PM2.5濃度. 然后通過與ELM網(wǎng)絡(luò)、BP網(wǎng)絡(luò)比較預(yù)測PM2.5濃度的準確性驗證所提方法的性能. OS-ELM方法中激勵函數(shù)本文選擇類型為Sigmoid函數(shù). 極限學習機的網(wǎng)絡(luò)隱含層的個數(shù)選定為6. BP隱含層網(wǎng)絡(luò)設(shè)置為5,學習率為0.01,迭代次數(shù)為1 000次. 圖4顯示了監(jiān)測的實際PM2.5濃度時間序列.
從圖4可以看出不同時間段PM2.5濃度時間點PM2.5濃度變化明顯. 受到不同其他污染物可能影響著它的變化,因此,非常有必要對PM2.5濃度進行分析預(yù)測. 為了更好了解不同方法預(yù)測PM2.5濃度的預(yù)測精度,分別采用不同方法對同一批采樣樣本運算比較,計算預(yù)測的誤差. 圖5所示為ELM方法預(yù)測PM2.5濃度預(yù)測結(jié)果. 圖6所示為BP網(wǎng)絡(luò)方法預(yù)測PM2.5預(yù)測結(jié)果.
圖4 PM2.5濃度的原始時間序列Fig.4 The original time series of hourly PM2.5 concentrations
從圖5中可以看出ELM方法預(yù)測PM2.5濃度某時間點出現(xiàn)偏差. 如120~130時間段偏差較大,但是整個預(yù)測過程與實際值基本上一致. 相比于圖6中BP方法預(yù)測PM2.5濃度的預(yù)測精度要高,并且BP方法預(yù)測PM2.5濃度存在某點的偏差較大.
圖5 基于ELM方法預(yù)測PM2.5濃度的結(jié)果Fig.5 The PM2.5 concentration prediction result based on ELM method
從圖6中可以看出在40~60之間時間點上預(yù)測PM2.5濃度與實際值偏差較大,120~130時間點
圖6 基于BP方法預(yù)測PM2.5濃度的結(jié)果Fig.6 The PM2.5 concentration prediction result based on BP method
上預(yù)測偏差也較大,整體預(yù)測偏差較明顯. 所以BP方法的預(yù)測精度還有待提升. 而仿真實驗也證明了ELM方法學習速度更快且預(yù)測精度更高,充分利用只需設(shè)置隱含層神經(jīng)元個數(shù)的特點,改善了BP神經(jīng)網(wǎng)絡(luò)訓練時間長、易陷入局部極小值的缺點. 為了更精確地預(yù)測PM2.5濃度,在此基礎(chǔ)上采用OS-ELM方法在線不斷更新權(quán)值對大氣PM2.5濃度預(yù)測. 圖7給出了OS-ELM方法預(yù)測PM2.5濃度的結(jié)果.
圖7 基于OS-ELM方法預(yù)測PM2.5濃度的結(jié)果Fig.7 The PM2.5 concentration prediction result based on OS-ELM method
從圖7可以看出OS-ELM預(yù)測PM2.5濃度值與實際值基本一致,并且在某單個點會有小的預(yù)測偏差,從預(yù)測趨勢看很好地預(yù)測了PM2.5濃度. 因此,表明所提方法預(yù)測PM2.5濃度具有較好的效果. 從圖7中可以看出此方法預(yù)測PM2.5濃度整體效果明顯比ELM、BP方法預(yù)測效果更好. 而且表3給出4種方法之間的預(yù)測誤差. OS-ELM預(yù)測誤差的指標MAE為1.208 4,RMSE為1.754 5,R2為0.996 6. ELM的誤差性能指標MAE為1.900 4, RMSE為2.909 3,R2為0.990 5. 很顯然在4種預(yù)測方法中,OS-ELM預(yù)測誤差是最小的,充分說明OS-ELM方法預(yù)測PM2.5濃度精度更高.
表3 4種方法的預(yù)測誤差結(jié)果Tab.3 The Prediction error results of four methods
從圖8中可以看出MLR方法在預(yù)測PM2.5濃度時,在0~40時間點和120時間點及180~190之間都出現(xiàn)了明顯的較大預(yù)測偏差,從而證明在大氣預(yù)測過程中污染物變量之間總是存在著非線性關(guān)系,而利用多元線性模型做預(yù)測PM2.5濃度時往往不夠穩(wěn)定易受外界影響而導(dǎo)致預(yù)測不精確. 為了更好地證明所提方法的有效性,圖9給出了OS-ELM與其他3種方法的預(yù)測結(jié)果.
圖8 基于MLR方法預(yù)測PM2.5濃度的結(jié)果Fig.8 The PM2.5 concentration prediction result based on MLR method
圖9 4種方法預(yù)測PM2.5濃度的預(yù)測結(jié)果Fig.9 The comparison of PM2.5 concentration prediction results of four methods
圖9體現(xiàn)了4種方法的預(yù)測PM2.5濃度的趨勢效果,OS-ELM預(yù)測結(jié)果更加接近實際的PM2.5濃度值. 因此,證明所提OS-ELM方法在大氣PM2.5濃度預(yù)測中的應(yīng)用的有效性. 表3給出了不同預(yù)測算法的計算時間,從表中也可以看出所提算法計算時間為0.025 3,其計算時間是4種算法中最快的. 所以所提算法用時最短,誤差最小.
本文基于PCA-OS-ELM方法預(yù)測大氣PM2.5濃度. 利用PCA 方法從所監(jiān)測的數(shù)據(jù)PM2.5、PM10、SO2、NO2、CO、O3、溫度、濕度中提取主要影響大氣變化的因素, 通過累積貢獻率確定PM10、NO2、SO2、PM2.54個變量作為所需要建立的研究變量,研究了PM2.5濃度與其他變量之間的相關(guān)性,并采用OS-ELM方法預(yù)測PM2.5濃度. 仿真結(jié)果表明PCA-OS-ELM方法不僅解決了大氣數(shù)據(jù)中高維數(shù)據(jù)冗余問題,并且在短時間內(nèi)完成對PM2.5濃度的更精確預(yù)測. 與ELM、BP、MLR預(yù)測方法相比,PCA-OS-ELM方法能夠通過不同批次大小的訓練數(shù)據(jù)更新網(wǎng)絡(luò)模型參數(shù),在保證PM2.5濃度預(yù)測精度的前提下,可以實現(xiàn)更快速、穩(wěn)定、準確地預(yù)測,彌補了其他所提預(yù)測方法的不足,驗證了所提方法的有效性與實用性.