王鑫圓 曹春萍
摘 ?要: 由于PM2.5濃度預(yù)測(cè)中的影響因素過(guò)于復(fù)雜,影響因素的高維性與非線性對(duì)預(yù)測(cè)結(jié)果有著很大的干擾,容易產(chǎn)生PM2.5濃度預(yù)測(cè)誤差高和模型泛化能力差等問(wèn)題。針對(duì)上述缺陷,可通過(guò)一種基于隨機(jī)森林-粒子群優(yōu)化-極限學(xué)習(xí)機(jī)(RF-PSO-ELM)的PM2.5濃度預(yù)測(cè)模型解決。該模型首先使用隨機(jī)森林算法對(duì)影響因素進(jìn)行特征選擇,選擇出對(duì)于PM2.5濃度重要性高的因素構(gòu)成特征;再利用提取得到的特征作為PSO-ELM算法的輸入;最后對(duì)上海市的PM2.5濃度做出預(yù)測(cè),從最終的實(shí)驗(yàn)數(shù)據(jù)中可以看出:該模型比支持向量機(jī)(SVM)、未優(yōu)化的極限學(xué)習(xí)機(jī)(ELM)和反向神經(jīng)網(wǎng)絡(luò)(BPNN)等預(yù)測(cè)模型在預(yù)測(cè)精度和泛化能力方面有著顯著的提高。
關(guān)鍵詞: 極限學(xué)習(xí)機(jī);隨機(jī)森林;改進(jìn)的粒子群優(yōu)化算法;PM2.5;特征選擇
中圖分類號(hào): TP39 ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ?DOI:10.3969/j.issn.1003-6970.2020.06.003
本文著錄格式:王鑫圓,曹春萍. 基于隨機(jī)森林與改進(jìn)極限學(xué)習(xí)機(jī)的PM2.5濃度模型[J]. 軟件,2020,41(06):1218+62
【Abstract】: Because the factors affecting the PM2.5 concentration value are too complicated, the high dimensionality and nonlinearity of the influencing factors have a great interference with the final result of the prediction. The performance of the prediction model is prone to problems such as high prediction error of PM2.5 concentration value and poor generalization ability. In view of the above mentioned defects, which can be solved by proposing a PM2.5 concentration prediction model based on random forest-particle swarm optimization-extreme learning machine (RF-PSO-ELM). The model first uses the random forest algorithm to select the influencing factors, selects the characteristics that are important to the PM2.5 concentration, and uses the extracted features as the input of the PSO-ELM algorithm to predict the PM2.5 concentration. The prediction of PM2.5 concentration in Shanghai shows significant improvements that the model is more accurate than the traditional support vector machine (SVM) and unoptimized extreme learning machine (ELM) and back propagation neural network (BPNN) and so on in terms of prediction accuracy and generalization capabilities.
【Key words】: ELM; RF; Improved PSO algorithm; PM2.5; Feature selection
0 ?引言
近幾年,PM2.5濃度過(guò)高被認(rèn)為是大氣污染危害的主要成因,其不僅對(duì)各行各業(yè)的發(fā)展造成了阻礙,還會(huì)嚴(yán)重危害人們的生活健康。所以,建立完善的PM2.5預(yù)測(cè)模型顯得尤為重要。但是,影響PM2.5濃度的因素繁多,許多復(fù)雜的氣象因素[1]與多樣的空氣污染物[2]都對(duì)PM2.5濃度有著顯著的影響。因此如何選取可信度高的影響因素,建立可靠、高效、泛用性廣、泛化能力強(qiáng)的PM2.5濃度預(yù)測(cè)模型就有著很大的實(shí)際意義,這種計(jì)算機(jī)科學(xué)與環(huán)境科學(xué)的交叉領(lǐng)域是當(dāng)前機(jī)器學(xué)習(xí)的一個(gè)熱門研究方向。
多年以來(lái),已經(jīng)有很多對(duì)PM2.5預(yù)測(cè)的研究成果發(fā)表在了眾多的論文期刊上。其中比較典型的有多元線性回歸(MLR)模型[3]以及差分整合移動(dòng)平均自回歸模型(ARIMA)模型[4],這兩種模型易于建立,并且對(duì)預(yù)測(cè)自變量與因變量之間具有強(qiáng)線性相關(guān)性的數(shù)據(jù)有明顯的優(yōu)勢(shì)。但是缺點(diǎn)也同樣明顯,以上兩種模型在本質(zhì)上只能捕獲線性關(guān)系,而不能捕獲非線性關(guān)系。由于PM2.5的影響因素相當(dāng)復(fù)雜,所以線性模型不能全面理解任何多個(gè)輸入變量間的相互作用,容易導(dǎo)致模型精度下降。隨著機(jī)器學(xué)習(xí)的發(fā)展,支持向量機(jī)(SVM)和人工神經(jīng)網(wǎng)絡(luò)(ANN)在被應(yīng)用到了許多場(chǎng)景當(dāng)中,其對(duì)非線性數(shù)據(jù)能有著良好的解釋性。張長(zhǎng)江等人[5]應(yīng)用SVM對(duì)PM2.5未來(lái)一小時(shí)的濃度建立了預(yù)測(cè)模型;Wei Su等人[6]應(yīng)用了最小二乘支持向量機(jī)(LSSVM)建立了日常PM2.5預(yù)測(cè)模型。SVM在解決小樣本和非線性數(shù)據(jù)方面有著良好的泛化能力,但由于訓(xùn)練樣本數(shù)量不足,采用的數(shù)據(jù)樣本時(shí)間跨度小且數(shù)據(jù)具有一定的特殊性,其在實(shí)際環(huán)境中的預(yù)測(cè)能力值得進(jìn)一步的研討。神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)數(shù)據(jù)能力方面可以實(shí)現(xiàn)非線性的映射,有一定的自學(xué)能力和概括能力,被廣泛地應(yīng)用于PM2.5濃度預(yù)測(cè)中[7]。Yegang Chen[8]在PM2.5濃度預(yù)測(cè)算法中運(yùn)用了BP神經(jīng)網(wǎng)絡(luò),具有一定的精度。鄭海明等人[9]在預(yù)測(cè)PM2.5濃度時(shí)利用了遺傳算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行了改進(jìn),李曉理等人[10]則通過(guò)改進(jìn)粒子群優(yōu)化BP_Adaboost神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)PM2.5值。 這些基于BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)方法最大的問(wèn)題是容易在訓(xùn)練模型時(shí)出現(xiàn)過(guò)擬合現(xiàn)象,上述文獻(xiàn)中的研究雖然能加速神經(jīng)網(wǎng)絡(luò)的收斂速度,但都很難達(dá)到理想的預(yù)測(cè)效果,其泛化能力較差,實(shí)驗(yàn)精度有待提高。
極限學(xué)習(xí)機(jī)(Extreme Learning Machine)[11]是一種高效的神經(jīng)網(wǎng)絡(luò)算法,近年來(lái)不斷地被應(yīng)用到了分類、聚類和回歸分析的問(wèn)題當(dāng)中。由于ELM只需要確定激活函數(shù)和隱含層節(jié)點(diǎn)后就能快速學(xué)習(xí),比起支持向量機(jī)(Support Vector Machine)和BP神經(jīng)網(wǎng)絡(luò)(back propagation Neural Network)有著更快的訓(xùn)練速度和泛化能力。本文中將極限學(xué)習(xí)機(jī)和粒子群優(yōu)化算法(Particle Swarm Optimization)相結(jié)合,以優(yōu)化相關(guān)參數(shù)的方法進(jìn)一步提高預(yù)測(cè)效果。先通過(guò)隨機(jī)森林(Random Forest)選擇對(duì)PM2.5濃度影響程度大的特征值,避免過(guò)多的無(wú)用特征導(dǎo)致模型預(yù)測(cè)誤差過(guò)大;再結(jié)合經(jīng)過(guò)粒子群優(yōu)化算法改進(jìn)的極限學(xué)習(xí)機(jī)模型對(duì)PM2.5濃度進(jìn)行預(yù)測(cè);最后通過(guò)實(shí)驗(yàn)數(shù)據(jù)論證本次研究建立的模型有著較強(qiáng)的泛化能力,且在預(yù)測(cè)性能方面優(yōu)于其它預(yù)測(cè)模型。
1 ?相關(guān)技術(shù)
在本章節(jié)中,我們?cè)敿?xì)介紹了PM2.5模型建立所需的相關(guān)技術(shù)。其中包括了隨機(jī)森林算法、極限學(xué)習(xí)機(jī)算法、改進(jìn)的粒子群優(yōu)化算法以及粒子群算法如何優(yōu)化極限學(xué)習(xí)機(jī)的步驟。
1.1 ?隨機(jī)森林
隨機(jī)森林[12]是一種分類器集合算法,有不容易發(fā)生過(guò)擬合的優(yōu)點(diǎn)。它不僅可以用來(lái)做分類,也可以做回歸預(yù)測(cè)。同時(shí)它也是一種基于Bagging的學(xué)習(xí)方法,其中的每一棵決策樹就是一個(gè)分類器,對(duì)于一個(gè)輸入樣本,N棵樹會(huì)有N個(gè)分類結(jié)果。通過(guò)有放回地抽取原始數(shù)據(jù)產(chǎn)生多個(gè)樣本子集,之后利用這些樣本子集建立多個(gè)決策樹,最終的結(jié)果由決策樹組成的隨機(jī)森林所決定。
隨機(jī)森林的具體生成過(guò)程如下:
(1)從初始訓(xùn)練集中運(yùn)用boostrap方法隨機(jī)且有放回地抽取N個(gè)新的子樣本集,并由這些樣本集建立N棵分類回歸樹。
(2)設(shè)樣本集的特征維數(shù)為M,并設(shè)定一個(gè)常數(shù)m(m<=M),在每棵樹的每個(gè)節(jié)點(diǎn)選取m個(gè)特征,計(jì)算每個(gè)特征含有的信息量,從m個(gè)特征中選擇最有分類能力的一個(gè)特征進(jìn)行節(jié)點(diǎn)分裂。
(3)每棵樹都在最大程度上生長(zhǎng),沒(méi)有剪枝 ?過(guò)程。
(4)所有的樹最后整合成為一個(gè)隨機(jī)森林。當(dāng)處理分類問(wèn)題時(shí),會(huì)根據(jù)哪一種分類結(jié)果數(shù)最多決定最終輸出;當(dāng)使用隨機(jī)森林建立回歸預(yù)測(cè)時(shí),最終結(jié)果由所有樹輸出的平均值確定。
1.2 ?極限學(xué)習(xí)機(jī)
極限學(xué)習(xí)機(jī)在人工智能領(lǐng)域得到了廣泛應(yīng)用,它是對(duì)傳統(tǒng)前饋神經(jīng)網(wǎng)絡(luò)的改進(jìn),其能夠通過(guò)一步計(jì)算求得輸出權(quán)值。它的另一大特點(diǎn)就是它可以隨機(jī)生成從輸入層到隱藏層的連接權(quán)重和隱藏層的閾值,且設(shè)置完后無(wú)需再調(diào)整;與此同時(shí),因?yàn)殡[含層和輸出層之間的連接權(quán)值不需要迭代調(diào)整,而是通過(guò)解方程組的方式一次性確定,所以比起傳統(tǒng)的機(jī)器學(xué)習(xí)算法運(yùn)算速度更快。ELM的算法原理結(jié)構(gòu)如圖1所示。
1.3 ?改進(jìn)的粒子群優(yōu)化算法
粒子群優(yōu)化算法被是一種優(yōu)秀的智能優(yōu)化算法,尤其在解決函數(shù)擬合與數(shù)值優(yōu)化問(wèn)題上有著相當(dāng)顯著的效果。在算法中,所有優(yōu)化問(wèn)題的參數(shù)尋優(yōu)解都可以被視為一個(gè)粒子,每一個(gè)粒子都在一個(gè)D維空間中搜索最優(yōu)解。在定義一個(gè)適應(yīng)度函數(shù)之后,我們可以將每個(gè)粒子代入進(jìn)這個(gè)函數(shù),得到適應(yīng)度值,并以此來(lái)作為評(píng)判粒子優(yōu)劣程度的標(biāo)準(zhǔn)。
PSO-ELM具體算法流程如下:
(1)設(shè)置極限學(xué)習(xí)機(jī)參數(shù)。將輸入權(quán)值設(shè)為一個(gè)-1到1之間的隨機(jī)數(shù);閾值設(shè)置成一個(gè)0到1范圍內(nèi)的隨機(jī)數(shù)。
(2)選擇粒子群參數(shù)。根據(jù)(1)中的參數(shù)范圍設(shè)置粒子的尋優(yōu)范圍,確定種群規(guī)模數(shù)、最大迭代次數(shù)、學(xué)習(xí)因子c1與c2,慣性權(quán)重初始值和粒子維數(shù)。
(3)通過(guò)粒子信息和樣本集得到極限學(xué)習(xí)機(jī)的預(yù)測(cè)值,根據(jù)得到的預(yù)測(cè)值通過(guò)式(8)計(jì)算所有粒子的適應(yīng)度值,進(jìn)而求出每個(gè)粒子的個(gè)體極值pbest和群體的全局極值gbest。
(4)對(duì)每個(gè)粒子的位置與速度迭代更新。在每次迭代完成后,取粒子適應(yīng)度最小值與之前幾次迭代的粒子適應(yīng)度最小值比較,其中適應(yīng)度值最低的粒子即為當(dāng)前的最優(yōu)參數(shù)。
(5)每當(dāng)?shù)轮螅瑢?yōu)化后的參數(shù)傳遞給ELM。
(6)當(dāng)?shù)h(huán)次數(shù)達(dá)到設(shè)定值時(shí),停止對(duì)參數(shù)的尋優(yōu),得到最佳的ELM參數(shù)。
2 ?PM2.5預(yù)測(cè)模型
本文的原始數(shù)據(jù)集主要來(lái)源于兩方面:空氣污染物濃度和氣象相關(guān)數(shù)據(jù)。此次實(shí)驗(yàn)數(shù)據(jù)從天氣后報(bào)網(wǎng)站(http://www.tianqihoubao.com/aqi/shanghai. html)和weather underground世界天氣預(yù)報(bào)網(wǎng)站上獲?。╤ttps://www.wunderground.com/history/)。經(jīng)過(guò)了初步的篩選,實(shí)驗(yàn)選取了上海市的2013年11月至2019年5月的數(shù)據(jù)作為實(shí)驗(yàn)的樣本集。本文以上海市PM2.5濃度預(yù)測(cè)為例,詳細(xì)闡述了預(yù)測(cè)模型的特征選擇過(guò)程、模型參數(shù)選擇流程以及與其它預(yù)測(cè)模型的對(duì)比過(guò)程。原始數(shù)據(jù)中一共有16種影響因素,包含了空氣污染物(PM10、SO2、CO、O3、NO2、前一天的PM2.5濃度)和氣象數(shù)據(jù)(最高與最低氣溫、天氣情況、最大與最小風(fēng)速、平均露點(diǎn)溫度、最大與最小相對(duì)濕度、最大與最小大氣壓強(qiáng))。
建模流程如圖2所示,具體步驟如下:
(1)剔除數(shù)據(jù)殘缺的樣本,根據(jù)PM2.5濃度均值對(duì)天氣情況數(shù)據(jù)進(jìn)行量化處理,對(duì)所有樣本進(jìn)行歸一化處理。
(2)將上海市的PM2.5濃度影響因素整合成一個(gè)整體樣本集,用隨機(jī)森林方法進(jìn)行特征選擇,使用5折交叉驗(yàn)證的方式訓(xùn)練模型,以決定系數(shù)為影響因素的選擇標(biāo)準(zhǔn),選擇決定系數(shù)值高的特征作為PSO-ELM算法的輸入?yún)?shù)。
(3)通過(guò)計(jì)算測(cè)試集和訓(xùn)練集誤差的方式選擇極限學(xué)習(xí)機(jī)的激活函數(shù)以及隱含層節(jié)點(diǎn)數(shù)量。
(4)粒子群優(yōu)化算法對(duì)極限學(xué)習(xí)機(jī)的參數(shù)迭代尋優(yōu),得到最優(yōu)的權(quán)值與閾值。
(5)將優(yōu)化完成的參數(shù)代入極限學(xué)習(xí)機(jī),得到最終的PM2.5濃度預(yù)測(cè)結(jié)果。
2.1 ?數(shù)據(jù)預(yù)處理
由于原始數(shù)據(jù)中有天氣情況這種類型的定性數(shù)據(jù),所以需要對(duì)其進(jìn)行量化處理。本次實(shí)驗(yàn)原始數(shù)據(jù)中的天氣情況有晴天、多云、陰天、雨天和雪天,一共5種。根據(jù)每種天氣情況下的平均PM2.5濃度值對(duì)其進(jìn)行量化,其中晴天的平均濃度最高,高達(dá)60微克/立方米,雨天和雪天的平均濃度最低,分別為37微克/立方米、32微克/立方米,多云和陰天的平均濃度值分別為49微克/立方米和42微克/立方米。故而根據(jù)以上的分析可以將雪天、雨天、陰天、多云和晴天各自量化為1、2、3、4和5表示。因?yàn)榇舜螌?shí)驗(yàn)原始數(shù)據(jù)中的特征有著不同的量綱和量綱單位,為了消除特征之間的量綱影響,減少對(duì)實(shí)驗(yàn)?zāi)P偷恼`差影響,本文對(duì)原始數(shù)據(jù)進(jìn)行了歸一化處理。通過(guò)歸一化處理能夠?qū)⒏鱾€(gè)數(shù)據(jù)指標(biāo)處于同一量綱級(jí),此次實(shí)驗(yàn)的歸一化公式如下:
2.2 ?特征選擇
因?yàn)楦鞣N各樣的氣象因素和污染物因素都對(duì)PM2.5濃度有著影響,且這些PM2.5影響因素具有一定的高維性,所以如果將全部的PM2.5影響因素都作為預(yù)測(cè)模型的輸入,容易降低預(yù)測(cè)模型的泛化能力與預(yù)測(cè)精度,由此可以看出對(duì)初始的PM2.5影響因素進(jìn)行特征篩選尤為必要。本文使用了隨機(jī)森林算法來(lái)選擇影響因素,由于原始數(shù)據(jù)中的影響因素和響應(yīng)變量之間的關(guān)系是非線性的,基于決策樹的隨機(jī)森林算法可以較好地選擇出對(duì)于PM2.5濃度影響程度高的特征。
此次實(shí)驗(yàn)使用單變量選擇的方式對(duì)PM2.5影響因素進(jìn)行選取,將每一個(gè)PM2.5影響因素與PM2.5濃度值建立隨機(jī)森林模型,以決定系數(shù)作為隨機(jī)森林模型的評(píng)價(jià)指標(biāo),則可以把決定系數(shù)視為PM2.5影響因素對(duì)于PM2.5濃度值的影響程度,決定系數(shù)的計(jì)算公式如下所示:
在選擇特征的過(guò)程中,運(yùn)用了5折交叉驗(yàn)證的模型訓(xùn)練方式,其是將整體數(shù)據(jù)集分解成5份數(shù)據(jù)集,交替地把其中4份作為訓(xùn)練集、1份作為測(cè)試集來(lái)訓(xùn)練模型,最后對(duì)5次訓(xùn)練的輸出(影響系數(shù))取平均值。這樣做能提升模型的穩(wěn)定性,增加特征選擇結(jié)果的可信度。經(jīng)過(guò)網(wǎng)格搜索算法進(jìn)行參數(shù)尋優(yōu)后,本次實(shí)驗(yàn)將隨機(jī)森林中決策子樹的個(gè)數(shù)設(shè)置為550,每顆樹的最大深度設(shè)為20,葉子節(jié)點(diǎn)最少樣本數(shù)設(shè)為2,決策樹的最大特征數(shù)為11。
實(shí)驗(yàn)根據(jù)上文中提到的16種影響因素,以及上海市2013年11月至2018年12月的1866個(gè)樣本(剔除了原始樣本中具有嚴(yán)重?cái)?shù)據(jù)缺失情況的樣本)作為特征選擇算法的輸入,利用了Python語(yǔ)言進(jìn)行編程,借助了Pycharm集成開發(fā)環(huán)境和Scikit-learn機(jī)器學(xué)習(xí)庫(kù)完成此次實(shí)驗(yàn)。表1中的影響系數(shù)即為每一個(gè)PM2.5影響因素對(duì)于PM2.5濃度值的影響程度。各個(gè)影響因素的影響系數(shù)如表1所示。
從表1中可以看出,原始數(shù)據(jù)中的16種影響因素對(duì)于PM2.5濃度有著不同的影響系數(shù),其中PM10濃度、SO2濃度、NO2濃度、CO濃度等特征有著較高的影響比例;而大氣壓強(qiáng)、風(fēng)速、相對(duì)濕度等特征的影響比例較小。經(jīng)過(guò)實(shí)驗(yàn)后,本文所建立的預(yù)測(cè)模型選擇了影響比例大于0.1的8種特征作為模型的輸入變量,選擇過(guò)程在2.3節(jié)中呈現(xiàn)。
2.3 ?PSO-ELM模型參數(shù)的確定
在閱讀了相關(guān)參考文獻(xiàn)之后,此次實(shí)驗(yàn)對(duì)模型參數(shù)設(shè)置如下:確定粒子群規(guī)模為40;最大迭代次數(shù)為150;學(xué)習(xí)因子c1=c2=2;慣性權(quán)重ω最大值設(shè)定為0.9、最小值設(shè)定為0.4、初始值設(shè)定為0.9;由于需要優(yōu)化的參數(shù)有兩個(gè),所以粒子維數(shù)為2。
為了確定模型的特征個(gè)數(shù)、激活函數(shù)與隱含層節(jié)點(diǎn)數(shù),此次實(shí)驗(yàn)隨機(jī)選取經(jīng)過(guò)預(yù)處理后的1400組數(shù)據(jù)作為訓(xùn)練集,466組樣本作為測(cè)試集,以3∶1的比例分割數(shù)據(jù)集。
在極限學(xué)習(xí)機(jī)節(jié)點(diǎn)數(shù)數(shù)為10且激活函數(shù)為sigmoid函數(shù)時(shí),圖3展示了影響系數(shù)在不同閾值時(shí)本文預(yù)測(cè)模型的均方根誤差,故而本次實(shí)驗(yàn)選擇影響系數(shù)大于0.1的8個(gè)特征。
假設(shè)極限學(xué)習(xí)機(jī)隱含層節(jié)點(diǎn)的個(gè)數(shù)為10個(gè),通過(guò)在相同網(wǎng)絡(luò)復(fù)雜度的情況下比較sigmoid函數(shù)、sin函數(shù)和hardlim函數(shù)哪一個(gè)更適合本次試驗(yàn)。從表2中可以看出,當(dāng)隱含層節(jié)點(diǎn)數(shù)均為10時(shí),sigmoid函數(shù)下的模型平均絕對(duì)誤差為9.93,sin函數(shù)和hardlim函數(shù)分別為12.71和13.12。由于sigmoid函數(shù)在對(duì)模型的精度影響方面明顯優(yōu)于其它兩種,因此本文選擇sigmoid函數(shù)作為ELM的激活函數(shù)。
隱含層節(jié)點(diǎn)的選擇一直都是極限學(xué)習(xí)機(jī)建立過(guò)程中的關(guān)鍵問(wèn)題,良好的節(jié)點(diǎn)數(shù)不但能夠降低模型的輸出誤差,還能夠增加模型的泛用性。但是節(jié)點(diǎn)數(shù)的選擇從來(lái)不具有一般性,幾乎所有的研究都是從主觀上或是根據(jù)經(jīng)驗(yàn)公式來(lái)決定其數(shù)量。本次研究為了能夠盡量提升模型的功能與性能,從訓(xùn)練集和測(cè)試集的均方根誤差兩方面來(lái)觀察節(jié)點(diǎn)數(shù)量帶來(lái)的變化。表3即為在不同節(jié)點(diǎn)數(shù)的情況下,上述兩種數(shù)據(jù)集的均方根誤差變化。
從表3中可以得出:隱含層節(jié)點(diǎn)數(shù)的增加會(huì)導(dǎo)致訓(xùn)練集的均方根誤差越來(lái)越小,并且隨著節(jié)點(diǎn)數(shù)的增大,訓(xùn)練集的均方根誤差變化越小;但是,當(dāng)隱含層節(jié)點(diǎn)數(shù)為15時(shí),測(cè)試集的均方根誤差為11.7473,是表3中測(cè)試集誤差的最小值,之后隨著節(jié)點(diǎn)數(shù)增大其誤差反而增加。上述結(jié)論表明了隱含層節(jié)點(diǎn)的選取并不是值越大越好,對(duì)于模型而言會(huì)有一個(gè)合適的隱含層節(jié)點(diǎn)數(shù)。為了抑制過(guò)擬合現(xiàn)象的發(fā)生,本次實(shí)驗(yàn)將極限學(xué)習(xí)機(jī)模型的隱含層節(jié)點(diǎn)設(shè)置為了15。
3 ?實(shí)驗(yàn)結(jié)果分析
在完成預(yù)測(cè)模型的各種參數(shù)設(shè)置與選取之后,為了證明此次研究建立的模型具有較強(qiáng)的實(shí)用意義,本章節(jié)對(duì)2019年1月至5月的PM2.5濃度進(jìn)行了仿真預(yù)測(cè)實(shí)驗(yàn),并且與其它較為成熟的預(yù)測(cè)算法作出對(duì)比。在此之上,實(shí)驗(yàn)還進(jìn)行了模型的泛化能力證明與特征選擇的有效性驗(yàn)證。
3.1 ?PM2.5濃度預(yù)測(cè)仿真結(jié)果對(duì)比
本章節(jié)用PSO-ELM預(yù)測(cè)模型與支持向量機(jī)、BP人工神經(jīng)網(wǎng)絡(luò)和未優(yōu)化的極限學(xué)習(xí)機(jī)等算法以對(duì)上海市2019年1月的PM2.5濃度值預(yù)測(cè)結(jié)果為例。為了證明對(duì)比實(shí)驗(yàn)的有效性,每一個(gè)預(yù)測(cè)模型的輸入特征都經(jīng)過(guò)了隨機(jī)森林算法的篩選,輸入的訓(xùn)練樣本也相同,并且做了同樣的數(shù)據(jù)預(yù)處理工作。為了能夠使預(yù)測(cè)模型更加具有實(shí)用性,預(yù)測(cè)過(guò)程中的前一天PM2.5濃度特征均采用預(yù)測(cè)值。本次實(shí)驗(yàn)將BP神經(jīng)網(wǎng)絡(luò)中的隱含層節(jié)點(diǎn)設(shè)置為6(此情況下誤差最?。?、最大訓(xùn)練次數(shù)為200、學(xué)習(xí)率為0.1、訓(xùn)練需求精度為10–5并且將激活函數(shù)設(shè)為sigmod函數(shù);設(shè)置SVM類型為epsilon-SVR,選擇徑向基函數(shù)為核函數(shù)。采用5折交叉驗(yàn)證優(yōu)化參數(shù),得到核函數(shù)的懲罰系數(shù)c=2.5、核函數(shù)參數(shù)g=0.07且epsilon-SVR損失函數(shù)值p=0.01;LSTM(長(zhǎng)短期記憶網(wǎng)絡(luò))建模方式參照了文獻(xiàn)[14];多元線性回歸參數(shù)使用Scikit-learn中的默認(rèn)值。對(duì)比實(shí)驗(yàn)的結(jié)果如下。
表4中以相關(guān)系數(shù)、均方根誤差和平均絕對(duì)誤差闡述了PSO-ELM的優(yōu)越性。從表中不難得出,經(jīng)過(guò)了粒子群優(yōu)化算法進(jìn)行參數(shù)尋優(yōu)的極限學(xué)習(xí)機(jī)比起未經(jīng)優(yōu)化的ELM、BP人工神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)等有著更加好的擬合優(yōu)度和預(yù)測(cè)精確性,說(shuō)明了本次研究的PSO-ELM預(yù)測(cè)模型有著良好的預(yù)測(cè)性能,比起傳統(tǒng)的極限學(xué)習(xí)機(jī)和其它傳統(tǒng)的機(jī)器學(xué)習(xí)預(yù)測(cè)算法有著更高的實(shí)用性。
3.2 ?模型泛化能力的證明
為了證明本文建立的預(yù)測(cè)模型有著較高的泛化能力,對(duì)不同的月份也有著較好的預(yù)測(cè)效果。本章節(jié)中運(yùn)用了在3.1節(jié)中相同的數(shù)據(jù)處理方式預(yù)測(cè)了上海市2019年1月至5月的PM2.5濃度,并且作出了是否使用特征選擇算法的對(duì)比實(shí)驗(yàn)。得到的結(jié)果圖如下所示。
圖7不僅展示了2019年1月至5月的誤差數(shù)據(jù),還表現(xiàn)出了特征選擇的有效性。從圖中可以得出結(jié)論:經(jīng)過(guò)粒子群算法優(yōu)化的極限學(xué)習(xí)機(jī)有著較強(qiáng)的泛化能力,對(duì)于不同時(shí)期的PM2.5濃度都能做出良好的預(yù)測(cè)效果,且誤差范圍穩(wěn)定在一個(gè)區(qū)間范圍內(nèi);與此同時(shí),隨機(jī)森林算法成功地對(duì)原始特征集進(jìn)行了降維處理,其選擇的特征能夠更好地建立預(yù)測(cè)模型,有效地增加模型預(yù)測(cè)精度。
4 ?結(jié)論
數(shù)值預(yù)測(cè)模型的研究是機(jī)器學(xué)習(xí)領(lǐng)域的研究熱點(diǎn),本文提出了基于RF算法特征選擇與PSO算法參數(shù)優(yōu)化的ELM預(yù)測(cè)模型,將其應(yīng)用于PM2.5濃度值的預(yù)測(cè)。最終的實(shí)驗(yàn)結(jié)果表明,RF算法能有效地提取出有用的影響因素,PSO優(yōu)化算法可以高效地對(duì)ELM算法的參數(shù)進(jìn)行尋優(yōu),RF-PSO-ELM算法比起傳統(tǒng)的數(shù)值預(yù)測(cè)算法SVM、BP人工神經(jīng)網(wǎng)絡(luò)等有著更高的預(yù)測(cè)性能。此次研究比起其它相近研究論文選取的數(shù)據(jù)更具有普遍性,有著更強(qiáng)的理論指導(dǎo)意義。
與此同時(shí),由于PM2.5濃度影響因素較為廣泛,本次的研究過(guò)程中尚未考慮具體的日均降雨量與日照時(shí)長(zhǎng)對(duì)PM2.5濃度值的影響;并且在泛化能力證明階段,對(duì)于不同的測(cè)試集模型的表現(xiàn)能力略有起伏。日后的研究旨在考慮增加更多的基礎(chǔ)特征與如何對(duì)模型做出更進(jìn)一步的優(yōu)化方法。
參考文獻(xiàn)
[1] 徐偉嘉, 朱倩茹, 劉永紅, 等. 廣州PM_(2.5)污染特征及影響因素分析[J]. 中國(guó)環(huán)境監(jiān)測(cè), 2013, 29(2): 15-20.
[2] 鮑孟盈, 曹芳, 劉壽東, 等. 蘇州郊區(qū)主要大氣污染物的演變特征及其影響因素研究[J]. 生態(tài)環(huán)境學(xué)報(bào), 2017, 26(1): 119-128.
[3] 張?jiān)圃疲?朱家明, 高子云, 等. 基于多元線性回歸的PM2.5含量的影響因素研究[J]. 西昌學(xué)院學(xué)報(bào)(自然科學(xué)版), 2016, 30(1): 17-20.
[4] 彭斯俊, 沈加超, 朱雪. 基于ARIMA模型的PM2.5預(yù)測(cè)[J]. 安全與環(huán)境工程, 2014, 21(6): 125-128.
[5] 張長(zhǎng)江, 戴李杰, 馬雷鳴. 應(yīng)用SVM的PM2.5未來(lái)一小時(shí)濃度動(dòng)態(tài)預(yù)報(bào)模型[J]. 紅外與激光工程, 2017, 46(2): 245-252.
[6] Sun W, Sun J. Daily PM2.5 concentration prediction based on principal component analysis and LSSVM optimized by cuckoo search algorithm [J]. Journal of Environmental Management, 2017, 188(1): 144-152.
[7] Fabio B, Marcella B, Marco V, et al. Recursive neural network model for analysis and forecast of PM10 and PM2.5 [J]. Atmospheric Pollution Research, 2017, 8(4): 652-659.
[8] Chen Ye-gang. Prediction algorithm of PM2.5 mass concentration based on adaptive BP neural network[J]. Computing, 2018, 100(8): 825-838.
[9] 鄭海明, 商瀟瀟. 基于GA-BP神經(jīng)網(wǎng)絡(luò)大氣中PM2.5軟測(cè)量研究[J]. 計(jì)量學(xué)報(bào), 2014, 35(6): 621-625.
[10] 李曉理, 梅建想, 張山. 基于改進(jìn)粒子群優(yōu)化BP_Adaboost神經(jīng)網(wǎng)絡(luò)的PM2.5濃度預(yù)測(cè)[J]. 大連理工大學(xué)學(xué)報(bào), 2018, 58(3): 99-106.
[11] Huang Guang-Bin, Zhu Qin-yu, Chee-Kheong Siew. Extreme learning machine: Theory and applications[J]. Neurocomputing, 2006, 70(1-3): 489-501.
[12] Breiman L. Random Forests[J]. Machine Learning, 2001, 45(1): 5-32.
[13] Zheng Qin,F(xiàn)an Yu,Zhewen Shi, et al. Adaptive Inertia Weight Particle Swarm Optimization[C]//Proceedings of the 8th international conference on Artificial Intelligence and Soft Computing. Springer Berlin Heidelberg, 2006: 450-459.
[14] 白盛楠, 申曉留. 基于LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)的PM2.5預(yù)測(cè)[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2019, 36(1): 67-70.
[15] 陳芳. 小型智能化車載PM2.5檢測(cè)系統(tǒng)[J]. 軟件, 2018, 39(2): 164-165.
[16] 陳婕, 金馨. 基于極限學(xué)習(xí)機(jī)的鋰電池健康狀態(tài)預(yù)測(cè)[J]. 軟件, 2018, 39(2): 191-196.
[17] 蘇志同, 汪武珺. 基于隨機(jī)森林的煅燒工藝參數(shù)的研究和分析[J]. 軟件, 2018, 39(4): 148-150.
[18] 趙乃剛. 慣性權(quán)重動(dòng)態(tài)調(diào)整的混沌粒子群算法[J]. 軟件, 2016, 37(3): 01-03.
[19] 崔仁桀. 數(shù)據(jù)挖掘在學(xué)生專業(yè)成績(jī)預(yù)測(cè)上的應(yīng)用[J].軟件, 2016, 37(01): 24-27.