楊國亮,余華聲,黃 聰
(江西理工大學(xué) 電氣工程與自動(dòng)化學(xué)院,江西 贛州 341000)
對PM2.5濃度進(jìn)行準(zhǔn)確預(yù)測在諸多方面都具有重要意義[1-7]。Zhang等[8]使用極限學(xué)習(xí)機(jī)(extreme learning machine,ELM)來預(yù)測香港空氣污染物的濃度值,Ibrir等[9]則是通過基于蜻蜓算法對支持向量回歸(support vector regression,SVR)模型進(jìn)行超參數(shù)優(yōu)化,進(jìn)而精確預(yù)測顆粒物的值。由于這些基于統(tǒng)計(jì)學(xué)和機(jī)器學(xué)習(xí)的預(yù)測模型大多是通過歷史特征來發(fā)現(xiàn)數(shù)據(jù)變化規(guī)律,而針對非線性非平穩(wěn)的時(shí)序數(shù)據(jù),其預(yù)測精度并不會(huì)太高。Lagesse等和Wang等[10,11]分別利用LSTM和反向傳播(back propagation,BP)網(wǎng)絡(luò)來對PM2.5值進(jìn)行性能預(yù)測分析,雖然均使用了神經(jīng)網(wǎng)絡(luò)技術(shù)進(jìn)行數(shù)據(jù)預(yù)測,但考慮到動(dòng)態(tài)歷史數(shù)據(jù)會(huì)受到多因素如溫度及降水量等干擾而具有較大波動(dòng)性,沒對數(shù)據(jù)進(jìn)行預(yù)處理將會(huì)大大降低預(yù)測精確度。綜上不難看出,通過機(jī)器學(xué)習(xí)技術(shù)來預(yù)測PM2.5濃度已有一定的研究成果,同時(shí)神經(jīng)網(wǎng)絡(luò)技術(shù)在PM2.5濃度預(yù)測方面也得到了廣泛的應(yīng)用。然而,針對非線性且非平穩(wěn)變動(dòng)的時(shí)間序列,這些組合模型在預(yù)測精度上仍可以更進(jìn)一步優(yōu)化。為此,本研究提出基于PSO-VMD-LSTM的組合模型,以北京市每日同一時(shí)間點(diǎn)的PM2.5濃度為預(yù)測目標(biāo),進(jìn)而對非平穩(wěn)數(shù)據(jù)進(jìn)行高精度預(yù)測。
本研究的總體框架主要由獲取數(shù)據(jù)、數(shù)據(jù)處理、模型預(yù)測和預(yù)測結(jié)果4部分組成,具體模型框架流程如圖1所示。
圖1 基于PSO-VMD-LSTM的框架流程
可以發(fā)現(xiàn),該模型能很好地融合了機(jī)器學(xué)習(xí)優(yōu)化算法和深度學(xué)習(xí)技術(shù)。主要步驟可以概括如下:獲取目標(biāo)氣象污染物濃度數(shù)據(jù)和與之相關(guān)的氣象數(shù)據(jù)(露點(diǎn)、濕度、氣壓、溫度、風(fēng)向風(fēng)速等);補(bǔ)全缺失Nan值并進(jìn)行歸一化處理和自適應(yīng)模態(tài)分解等數(shù)據(jù)處理,為后期精準(zhǔn)模型訓(xùn)練和預(yù)測做好準(zhǔn)備;在數(shù)據(jù)預(yù)處理基礎(chǔ)上利用深度學(xué)習(xí)網(wǎng)絡(luò)技術(shù)進(jìn)行模型預(yù)測,最后再通過相關(guān)性能指標(biāo)來對組合模型進(jìn)行效果評價(jià)。
針對本研究,具體做法是通過基于包絡(luò)熵的PSO算法迭代優(yōu)化來選出VMD分解中的最優(yōu)參數(shù)組合懲罰因子α和模態(tài)個(gè)數(shù)K,進(jìn)而將時(shí)序進(jìn)一步分解成K個(gè)低頻模態(tài)后加以訓(xùn)練和預(yù)測。一方面,先對原始數(shù)據(jù)集進(jìn)行初步清洗和篩選,具體做法是選取適當(dāng)?shù)木挡逯捣ê妥钹徑逯捣▽θ笔?shù)據(jù)進(jìn)行補(bǔ)全。另一方面,構(gòu)建3個(gè)預(yù)測模型,即LSTM模型、EMD-LSTM模型和EEMD-LSTM模型,目的是結(jié)合相關(guān)性能評估指標(biāo)如平均絕對誤差(mean absolute error,MAE)、平均絕對百分比誤差(mean absolute percentage error,MAPE)、均方根誤差(root mean square error,RMSE)和決定系數(shù)(the coefficient of determination,R2)等來對本研究所提出的組合模型進(jìn)行預(yù)測效果評價(jià)。
過去用于處理非線性、非平穩(wěn)信號(hào)時(shí)使用較多的是經(jīng)驗(yàn)?zāi)B(tài)分解(EMD)[12]和集成經(jīng)驗(yàn)?zāi)B(tài)分解(EEMD)[13],其共同優(yōu)勢是無需預(yù)先設(shè)定基函數(shù)。然而,EMD分解的本質(zhì)是將白噪聲分解成有限個(gè)具有不同中心頻率的本征模態(tài)函數(shù)(intrinsic mode function,IMF)與余項(xiàng)之和,但現(xiàn)實(shí)生活的信號(hào)是復(fù)雜的,這容易導(dǎo)致分解過程中出現(xiàn)模態(tài)混疊現(xiàn)象。類似地,EEMD分解雖然可以有效抑制EMD的模態(tài)混疊現(xiàn)象,但在實(shí)際應(yīng)用中需要大量的EMD運(yùn)算,且容易產(chǎn)生一些不必要的模態(tài)分量。因此,為了改善并解決分解效率低、分解過程中出現(xiàn)模態(tài)混疊和端點(diǎn)效應(yīng)等問題,本研究選用一種具有計(jì)算快速、信噪比高并能有效抑制模態(tài)混疊現(xiàn)象等優(yōu)勢的變分模態(tài)分解(VMD)[14]方法來進(jìn)行PM2.5濃度的時(shí)序分解。將原始復(fù)雜信號(hào)分解為K個(gè)有限帶寬模態(tài)信號(hào)uk, 其中k∈[1,2,…,K], 其表達(dá)式為
uk(t)=Ak(t)cos(φk(t))
(1)
(2)
式中:Ak(t) 和wk(t) 分別為模態(tài)信號(hào)uk(t) 的瞬時(shí)幅值與瞬時(shí)頻率。為了使得每個(gè)IMF的估計(jì)帶寬之和最小,需要對模態(tài)信號(hào)uk進(jìn)行Hilbert變換,求出IMF的解析信號(hào)并得到單邊頻譜fA
(3)
為了將IMF的每個(gè)頻譜調(diào)制到基頻帶,需要在每個(gè)解析信號(hào)中加入指數(shù)項(xiàng)e-jωkt。 進(jìn)一步,計(jì)算解調(diào)信號(hào)梯度的平方范數(shù),估計(jì)出各個(gè)IMF的帶寬,具體約束變分問題的模型表達(dá)式為
(4)
為了解出具體的模態(tài)信號(hào)uk與中心頻率ωk, 采用增廣拉格朗日L, 通過引入懲罰因子α和Lagrange算子λ(t), 將約束變分問題轉(zhuǎn)變?yōu)闊o約束變分問題,表達(dá)式如下
(5)
其中,α的作用是降低高斯噪聲的干擾,λ為Lagrange乘子。根據(jù)公式可以發(fā)現(xiàn),VMD是一種完全非遞歸的分解方法,其原理是在滿足所有模態(tài)之和與原始信號(hào)相等的約束條件下,通過假設(shè)每個(gè)IMF分量是具有不同中心頻率的有限帶寬,為使其估計(jì)帶寬之和最小,將原問題轉(zhuǎn)換為解決變分問題,最終提取出模態(tài)信號(hào)分量,這將有效抑制模態(tài)混疊和端點(diǎn)效應(yīng)等現(xiàn)象的發(fā)生,并解決大大降低數(shù)據(jù)分解過程中復(fù)雜的計(jì)算量。
根據(jù)式(5)可以知道,若懲罰因子α值和分解模態(tài)個(gè)數(shù)K值設(shè)定不當(dāng),將會(huì)嚴(yán)重影響VMD的分解效果。當(dāng)一個(gè)復(fù)雜信號(hào)的分解個(gè)數(shù)過少會(huì)導(dǎo)致信息缺損,而過多又會(huì)出現(xiàn)信息冗余。因此,針對α和K值的設(shè)定問題,本研究提出基于包絡(luò)熵的粒子群優(yōu)化算法(PSO)[15]來自動(dòng)搜尋VMD分解中的最佳參數(shù)組合即懲罰因子α和模態(tài)個(gè)數(shù)K值。
PSO算法是解決全局優(yōu)化問題的一種群體智能搜索方法,具有易于描述、運(yùn)算代價(jià)低、收斂速度快等優(yōu)勢,已廣泛應(yīng)用于連續(xù)問題和離散問題的參數(shù)優(yōu)化上[16]。在該機(jī)器學(xué)習(xí)算法中,每個(gè)問題的解被稱為粒子,而粒子的集合被稱之為群。假設(shè)將D維空間用作目標(biāo)搜索空間,有N個(gè)粒子組成這個(gè)群體,則首先初始化每個(gè)粒子的位置和速度范圍,其中Vi=(vi1,vi2,…,viD,) 和Xi=(xi1,xi2,…,xiD,) 分別表示為D維空間中第i個(gè)粒子的速度和位置,然后每個(gè)粒子根據(jù)標(biāo)準(zhǔn)PSO算法式(6)和式(7)進(jìn)行迭代和更新
(6)
(7)
圖2 基于包絡(luò)熵的PSO算法優(yōu)化流程
其中,包絡(luò)熵值的大小變化可以反映信號(hào)特征分布的稀疏程度,且包絡(luò)的熵值越小,其稀疏性越強(qiáng),信號(hào)分解效果越好。而對于任何信號(hào)x(j),其包絡(luò)熵可以通過式(8)計(jì)算得出
(8)
式中:Ep表示為信號(hào)的包絡(luò)熵;a(j) 表示為包絡(luò)信號(hào),其中j=1,2,…,N為當(dāng)前粒子,由信號(hào)x(j) 分解后的IMF分量經(jīng)過Hilbert變換得到;a(j) 經(jīng)過歸一化后可得到pj。 經(jīng)過上述的迭代優(yōu)化后得到了最優(yōu)的參數(shù)組合,進(jìn)一步就可以完成高效的VMD分解處理工作??梢?,使用基于包絡(luò)熵的PSO-VMD分解方法將大大改善VMD分解中人為選擇懲罰因子α和模態(tài)個(gè)數(shù)K的不足,大大提高工作效率,這對后續(xù)的模型訓(xùn)練和預(yù)測效果具有重要意義。
經(jīng)過對復(fù)雜非平穩(wěn)時(shí)序數(shù)據(jù)進(jìn)行自適應(yīng)模態(tài)分解后,得到復(fù)雜程度較低的IMF分量。本研究將針對這些分量分別進(jìn)行LSTM建模,隨后通過重構(gòu)數(shù)據(jù)得到最終預(yù)測結(jié)果。
由于傳統(tǒng)的RNN網(wǎng)絡(luò)在處理較長的時(shí)序數(shù)據(jù)時(shí)容易出現(xiàn)梯度消失問題,不利于處理復(fù)雜的時(shí)序預(yù)測問題。而LSTM[17]作為特殊的RNN網(wǎng)絡(luò),卻在處理時(shí)序上具有很好的精準(zhǔn)預(yù)測能力,通過在RNN網(wǎng)絡(luò)的基礎(chǔ)上增添遺忘門、輸入門、輸出門這3大結(jié)構(gòu),可以對存儲(chǔ)單元的信息進(jìn)行記憶和遺忘,在一定程度上還解決了RNN自身在時(shí)序預(yù)測上所存在的問題。具體原理結(jié)構(gòu)如圖3所示。
圖3 LSTM原理結(jié)構(gòu)
從結(jié)構(gòu)圖中不難看出,當(dāng)隱藏層的狀態(tài)ht-1和輸入xt經(jīng)過遺忘門ft時(shí),其輸出值將決定單元狀態(tài)Ct-1輸出到Ct的信息將被刪除或保留到什么程度。其中ft的表達(dá)式為
ft=σ(Wf·[ht-1,xt]+bf)
(9)
式中:W為遺忘門ft的權(quán)重矩陣,b為偏置向量,σ為Sigmoid激活函數(shù)。輸出值介于0到1之間,其中1表示為保留所有信息,而0代表刪除所有信息
(10)
式中:it和C′t共同代表了輸入門,其中C′t為當(dāng)前單元的輸入狀態(tài),Ct-1通過ft遺忘一部分信息,并通過輸入門it和C′t添加一部分信息,進(jìn)而得到更新后的完整Ct信息
(11)
式中:Ot為輸出門,而ht是更新后的隱藏層狀態(tài),也是下一時(shí)刻LSTM單元的輸入。
不難發(fā)現(xiàn),LSTM網(wǎng)絡(luò)可以有效利用和處理歷史數(shù)據(jù),并通過不斷更新網(wǎng)絡(luò)的隱藏層狀態(tài),高效地對PM2.5濃度進(jìn)行精準(zhǔn)預(yù)測,進(jìn)而更好地處理時(shí)序數(shù)據(jù)。
本研究所用到的數(shù)據(jù),來源于北京大學(xué)統(tǒng)計(jì)科學(xué)中心,已于2017年7月份公開在UCI機(jī)器學(xué)習(xí)存儲(chǔ)庫的網(wǎng)絡(luò)平臺(tái)上:https://archive.ics.uci.edu/ml/datasets/PM2.5+Data+of+Five+Chinese+Cities#。該數(shù)據(jù)集涵蓋了包含北京、上海、廣州、沈陽和成都這5大城市的每小時(shí)PM2.5數(shù)據(jù),現(xiàn)已廣泛被研究人員采納和接受。其中,本研究主要選取北京市2010年1月1日至2015年12月31日共6年的氣象數(shù)據(jù)作為研究對象,在此基礎(chǔ)上提取每日9時(shí)的PM2.5濃度數(shù)據(jù)對所提出的預(yù)測模型進(jìn)行分析和探討。表1是該數(shù)據(jù)集里面北京市的相關(guān)標(biāo)簽屬性信息和Nan值個(gè)數(shù)及其占比。
表1 相關(guān)標(biāo)簽名屬性信息
為了解決原始?xì)庀髷?shù)據(jù)缺失的問題,本研究選取線性插值法和最鄰近插值法對缺失數(shù)據(jù)進(jìn)行補(bǔ)全。另外,為了加快訓(xùn)練速度和深度學(xué)習(xí)模型的收斂,需對初步清洗的數(shù)據(jù)進(jìn)行歸一化處理,即利用式(12)對原始輸入數(shù)據(jù)進(jìn)行縮放和規(guī)范化
(12)
式中:y是歸一化后的PM2.5數(shù)據(jù),x是原始每小時(shí)PM2.5數(shù)據(jù),max是每小時(shí)PM2.5總數(shù)據(jù)樣本中的最大值,而min是最小值。
研究實(shí)驗(yàn)在Window操作系統(tǒng)下使用Python編程語言操作。經(jīng)過數(shù)據(jù)插值補(bǔ)全和數(shù)據(jù)歸一化處理后,為了得到懲罰因子和模態(tài)個(gè)數(shù)的最優(yōu)參數(shù)組合[α,K],對PSO算法中的每個(gè)粒子參數(shù)進(jìn)行隨機(jī)初始化,具體初始值設(shè)定見表2。
表2 初始化PSO算法參數(shù)
其中,N表示了粒子數(shù)量,d表示粒子的維度,c1和c2分別為局部最優(yōu)極值pid和全局最優(yōu)極值pgd的學(xué)習(xí)因子,ω是慣性權(quán)重因子,M是當(dāng)前迭代次數(shù)。
為了對提出的預(yù)測模型進(jìn)行綜合性能評估,本研究分別采用了MAE、MAPE、RMSE和R2這4個(gè)指標(biāo)來進(jìn)行量化對比
(13)
(14)
(15)
(16)
經(jīng)過初始化后,利用包絡(luò)熵作為適應(yīng)度函數(shù)來評估和優(yōu)化PSO算法中的各個(gè)參數(shù)以及位置,當(dāng)實(shí)驗(yàn)過程中包絡(luò)熵滿足最小誤差標(biāo)準(zhǔn)即取得最優(yōu)極小值時(shí),其稀疏性最強(qiáng),信號(hào)分解效果達(dá)到最佳,獲取到的最優(yōu)參數(shù)組合為 [α,K]=[2100,5]。 通過信號(hào)分解使得復(fù)雜的時(shí)序信號(hào)變成5個(gè)具有不同尺度的IMF信號(hào)分量之和,大大降低其復(fù)雜程度,并且信號(hào)波動(dòng)越大,代表信號(hào)的復(fù)雜程度越高。圖4是原始信號(hào)及其經(jīng)過PSO算法優(yōu)化后的VMD信號(hào)分解效果。
圖4 PSO-VMD分解效果
接下來對模態(tài)分解后的各個(gè)IMF分量逐一構(gòu)建LSTM模型并進(jìn)行預(yù)測,通過累加和得到最終的預(yù)測結(jié)果。在實(shí)驗(yàn)過程中,選取85%每日同一時(shí)間點(diǎn)的PM2.5濃度數(shù)據(jù)作為訓(xùn)練集,余下的15%作為測試集。在模型訓(xùn)練過程中,之后,分別對原始數(shù)據(jù)和經(jīng)過不同模態(tài)分解后的數(shù)據(jù)進(jìn)行LSTM模型訓(xùn)練。其中,在LSTM訓(xùn)練過程中使用Adam優(yōu)化算法來調(diào)整參數(shù)的學(xué)習(xí)率,循環(huán)迭代次數(shù)設(shè)置為100,單次訓(xùn)練的樣本數(shù)設(shè)為128。圖5為各個(gè)模型訓(xùn)練過后預(yù)測效果。
從圖5(a)與圖5(b)、圖5(c)、圖5(d)三者之間進(jìn)行對比發(fā)現(xiàn),在相同的初始化條件下,經(jīng)過時(shí)序分解處理后的LSTM預(yù)測相比于未處理時(shí)的LSTM預(yù)測,其預(yù)測精度得到了明顯改善。此外,對于經(jīng)過時(shí)序分解處理后的圖5(b)、圖5(c)和圖5(d),可以發(fā)現(xiàn)基于PSO-VMD-LSTM組合模型的預(yù)測曲線基本與原始數(shù)據(jù)曲線吻合,說明相比于另外兩個(gè)經(jīng)典模型,本研究模型的預(yù)測準(zhǔn)確度達(dá)到最佳,EEMD-LSTM模型次之,而模型EMD-LSTM的預(yù)測精度最差,其擬合效果沒有達(dá)到最佳。
從表3中各模型相關(guān)性能指標(biāo)的數(shù)據(jù)結(jié)果可以看出,相比于EMD-LSTM、EEMD-LSTM和單一的LSTM預(yù)測模型,基于PSO-VMD-LSTM組合模型的預(yù)測誤差不管是MAE和MAPE還是RMSE,其誤差結(jié)果均為最小,這意味著該模型具有最佳的預(yù)測性能和預(yù)測效果。此外,本研究模型在性能指標(biāo)數(shù)據(jù)結(jié)果中的決定系數(shù)R2達(dá)到0.9771,這表明該模型在進(jìn)行PM2.5濃度預(yù)測時(shí)相似程度基本接近真實(shí)值。這不僅說明了提出的模型具有較強(qiáng)的泛化能力,能精確捕捉到數(shù)據(jù)的波動(dòng)趨勢,而且還能說明可以有效處理復(fù)雜多變的PM2.5時(shí)序序列。
表3 各模型的相關(guān)性能指標(biāo)數(shù)據(jù)
實(shí)驗(yàn)結(jié)果表明,本研究提出基于PSO-VMD-LSTM的組合模型不僅能精確地對PM2.5濃度的變化趨勢進(jìn)行擬合和高精度預(yù)測,而且具有以下優(yōu)勢:
(1)采用了一種完全非遞歸的分解方法來處理非平穩(wěn)、非線性時(shí)間序列,該方法將原始復(fù)雜問題簡單化,不僅計(jì)算快速、信噪比高,且在一定程度上有效抑制了模態(tài)混疊現(xiàn)象;
(2)提出了基于包絡(luò)熵的PSO算法來優(yōu)化VMD分解中的重要組合參數(shù),改善了傳統(tǒng)的VMD分解中因人為干預(yù)而導(dǎo)致運(yùn)算效率低和預(yù)測效果不佳等問題;
(3)模型的訓(xùn)練速度快且高效,對實(shí)驗(yàn)設(shè)備要求不高,從經(jīng)濟(jì)上可可大大降低了運(yùn)行成本;
(4)鑒于所選取的城市氣象數(shù)據(jù)集在進(jìn)行分析和研究上具有一定的隨機(jī)性,因此本研究所提出的組合模型在不同區(qū)域上具有普適性,即對于其它城市的PM2.5數(shù)據(jù)同樣適用。
簡而言之,對于非線性、非平穩(wěn)的PM2.5時(shí)序數(shù)據(jù),在進(jìn)行深度學(xué)習(xí)網(wǎng)絡(luò)模型預(yù)測之前,有必要對數(shù)據(jù)進(jìn)行預(yù)處理,而本研究結(jié)合機(jī)器學(xué)習(xí)技術(shù)所提出基于PSO-VMD-LSTM的組合模型在時(shí)序預(yù)測上將是一個(gè)較優(yōu)的選擇。