郭存文,崔東文
(1.云南省水文水資源局文山分局,云南 文山 655000;2.云南省文山州水務(wù)局,云南 文山 663000)
研究提出具有較好預(yù)報(bào)精度的模型及方法一直是水文學(xué)領(lǐng)域研究的重點(diǎn)和熱點(diǎn)。目前,用于徑流預(yù)報(bào)的方法有BP[1-2]、GRNN[3]、Elman[4]、RBF[5]等人工神經(jīng)網(wǎng)絡(luò)法以及多元回分析法[6-7]、集對(duì)分析法[8]、灰色預(yù)測(cè)法[9]、支持向量機(jī)法[10-11]、投影尋蹤回歸法[12]、小波分析法[13]、隨機(jī)森林法[14-15]、組合預(yù)測(cè)法[16-17]等,均在徑流預(yù)測(cè)中獲得較好的預(yù)測(cè)效果。多元線性回歸(multiple linear regression,MLR)雖已在徑流預(yù)測(cè)中得到應(yīng)用[7],但存在以下問(wèn)題和不足:①M(fèi)LR對(duì)異常值敏感,預(yù)測(cè)精度不高;②影響因子(變量)較多時(shí)難以精確估計(jì)MLR常數(shù)項(xiàng)和偏回歸系數(shù),目前普遍采用最小二乘法(least squares,LS)估計(jì)MLR相關(guān)參數(shù),但LS求解方法復(fù)雜且精度不高。
為消除MLR受異常值的影響,精確估計(jì)MLR常數(shù)項(xiàng)和偏回歸系數(shù),提高M(jìn)LR模型預(yù)測(cè)精度,本文提出建立基于主成分分析(principal component analysis,PCA)、未來(lái)搜索算法(Future search algorithm,F(xiàn)SA)、MLR多種策略相融合的PCA-FSA-MLR徑流預(yù)測(cè)模型。首先利用PCA對(duì)樣本數(shù)據(jù)進(jìn)行降維處理,使數(shù)據(jù)樣本簡(jiǎn)潔且更具代表性,以消除異常值對(duì)MLR的影響;其次選取8個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)在5維、10維、20維、30維、100維和500維條件下對(duì)FSA進(jìn)行仿真測(cè)試,以檢驗(yàn)FSA能否滿足MLR常數(shù)項(xiàng)和偏回歸系數(shù)的尋優(yōu)要求;最后利用FSA對(duì)MLR常數(shù)項(xiàng)和偏回歸系數(shù)進(jìn)行尋優(yōu),建立PCA-FSA-MLR預(yù)測(cè)模型,并將該模型應(yīng)用于云南省龍?zhí)墩灸陱搅骷巴昕菟?2月月徑流預(yù)測(cè),預(yù)測(cè)結(jié)果與經(jīng)PCA降維處理的PCA-LS-MLR、PCA-FSA-支持向量機(jī)(support vector machines,SVM)、PCA-SVM模型和未經(jīng)降維處理的FSA-MLR、LS-MLR、FSA-SVM、SVM模型作對(duì)比,以檢驗(yàn)PCA-FSA-MLR模型的預(yù)測(cè)性能和預(yù)測(cè)效果。
主成分分析(PCA)是一種通過(guò)降維技術(shù)把多個(gè)變量化為少數(shù)幾個(gè)主成分的多元統(tǒng)計(jì)方法。設(shè)具有n個(gè)變量(x1,x2,…,xn)、k個(gè)樣本的數(shù)據(jù)矩陣為[18-19]:
(1)
式中,Xi=[x1ix2i…xki]T。
(2)
式中F1、F2、Fm——第一主成分、第二主成分、第m主成分;aij——主成分系數(shù)。
2.2.1FSA數(shù)據(jù)描述
未來(lái)搜索算法(FSA)是M.Elsisi[20]于2018年通過(guò)模仿人類向往美好生活而提出的一種新穎搜索算法。該算法通過(guò)建立數(shù)學(xué)模型模擬人與人之間最優(yōu)生活(局部搜索)和歷史最優(yōu)生活(全局搜索)來(lái)獲得最優(yōu)解。與其他算法相比,F(xiàn)SA具有調(diào)節(jié)參數(shù)少、收斂速度快、尋優(yōu)能力強(qiáng)等優(yōu)點(diǎn)。參考文獻(xiàn)[20],F(xiàn)SA數(shù)學(xué)描述簡(jiǎn)述如下:
a)算法初始化。FSA通過(guò)式(3)初始化當(dāng)前解:
S(i,:)=Lb+(Ub-Lb)*rand(1,d)
(3)
式中S(i,:)——第i個(gè)國(guó)家/地區(qū)當(dāng)前解;Ub、Lb——搜索空間的上、下限;rand——均勻分布隨機(jī)數(shù);d——問(wèn)題維數(shù)。
b)局部解和全局最優(yōu)解。FSA將每個(gè)國(guó)家/地區(qū)當(dāng)前最優(yōu)解定義為局部最優(yōu)解LS,將所有國(guó)家/地區(qū)當(dāng)前最優(yōu)解定義為全局最優(yōu)解GS,并通過(guò)迭代過(guò)程獲得待優(yōu)化問(wèn)題最優(yōu)解。FSA通過(guò)式(4)、(5)實(shí)現(xiàn)局部解和全局最優(yōu)解的更新:
S(i,:)L=(LS(i,:)-S(i,:))*rand
(4)
S(i,:)G=(GS-S(i,:))*rand
(5)
式中S(i,:)L、S(i,:)G——第i個(gè)國(guó)家/地區(qū)局部解和全局最優(yōu)解;LS(i,:)——第i個(gè)國(guó)家/地區(qū)局部最優(yōu)解;GS——所有國(guó)家/地區(qū)全局最優(yōu)解;rand——[0,1]范圍內(nèi)隨機(jī)數(shù)。
c)定義新解。在獲得第i個(gè)國(guó)家/地區(qū)局部解和全局最優(yōu)解后,利用式(6)重新定義當(dāng)前解:
S(i,:)=S(i,:)+S(i,:)L+S(i,:)G
(6)
d)更新隨機(jī)初始值。FSA在更新局部最優(yōu)解LS和全局最優(yōu)解GS后,利用式(7)更新式(3)的隨機(jī)初始值:
S(i,:)=GS+[GS-LS(i,:)]*rand
(7)
2.2.2FSA仿真測(cè)試
參考文獻(xiàn)[21-23],選取Spher等8個(gè)典型測(cè)試函數(shù)在5維、10維、20維、30維、100維和500維條件下對(duì)FSA進(jìn)行仿真驗(yàn)證。單峰函數(shù)主要測(cè)試FSA的尋優(yōu)精度,多峰函數(shù)主要測(cè)試FSA的全局搜索能力,并利用20次尋優(yōu)平均值對(duì)FSA尋優(yōu)性能進(jìn)行評(píng)估,見(jiàn)表1。FSA參數(shù)設(shè)置:最大迭代次數(shù)T=1000,種群規(guī)模N=50,其他參數(shù)采用FSA默認(rèn)值。
表1 FSA標(biāo)準(zhǔn)測(cè)試函數(shù)尋優(yōu)結(jié)果
a)對(duì)于Sphere、Schwefel 2.22、Schwefel 2.21 3個(gè)單峰函數(shù),F(xiàn)SA在不同維度條件下20次尋優(yōu)均獲得理論最優(yōu)值0;對(duì)于極難極小化的多維病態(tài)二次函數(shù)Rosenbrock,F(xiàn)SA在不同維度條件下20次尋優(yōu)同樣獲得理論最優(yōu)值0。對(duì)于單峰函數(shù),F(xiàn)SA表現(xiàn)出理想的尋優(yōu)精度。
b)對(duì)于多峰函數(shù)Griewank、Rastrigin,F(xiàn)SA在不同維度條件下20次尋優(yōu)均獲得理論最優(yōu)值0;對(duì)于Ackley多峰函數(shù),F(xiàn)SA 20次尋優(yōu)獲得相對(duì)理論最優(yōu)值8.88E-16;對(duì)于使用正弦函數(shù)產(chǎn)生大量局部極小值多峰函數(shù)Penalized,F(xiàn)SA在不同維度條件下20次尋優(yōu)精度均在9.43E-32以上,且隨著維度的增加,其尋優(yōu)精度呈提高趨勢(shì)。對(duì)于多峰函數(shù),F(xiàn)SA具有較好的全局尋優(yōu)能力。
綜上,F(xiàn)SA在低維和高維條件下對(duì)上述8個(gè)測(cè)試函數(shù)均具有較好的尋優(yōu)精度和全局尋優(yōu)能力,將其用于MLR常數(shù)項(xiàng)和偏回歸系數(shù)尋優(yōu)是可靠的。
多元線性回歸(MLR)是指在相關(guān)變量中將一個(gè)變量視為因變量,其他一個(gè)或多個(gè)變量視為自變量,建立多個(gè)變量之間線性或非線性數(shù)學(xué)模型數(shù)量關(guān)系式并利用樣本數(shù)據(jù)進(jìn)行分析的統(tǒng)計(jì)分析方法[19,24],關(guān)系式如下:
Q=β0+β1F1+β2F2+…+βmFm
(8)
式中Q——徑流量預(yù)測(cè)值;β0——常數(shù)項(xiàng);β1,…,βm——MLR偏回歸系數(shù);F1,F(xiàn)2,…,F(xiàn)m——自變量,即第一、第二,…,第m個(gè)主成分或未經(jīng)降維處理的徑流預(yù)報(bào)影響因子。
步驟一利用SPSS17.0對(duì)實(shí)例原始數(shù)據(jù)進(jìn)行降維處理,合理劃分訓(xùn)練樣本和預(yù)測(cè)樣本,將處理后的數(shù)據(jù)作為FSA-MLR模型的樣本數(shù)據(jù)進(jìn)行輸入訓(xùn)練。
步驟二采用相對(duì)誤差絕對(duì)值之和作為適應(yīng)度函數(shù):
(9)
步驟三設(shè)置FSA最大迭代次數(shù)T、群體規(guī)模N等參數(shù)。利用式(3)初始化當(dāng)前解,并令當(dāng)前迭代次數(shù)t=1。
步驟四定義局部最優(yōu)解LS和全局最優(yōu)解GS;通過(guò)式(4)、(5)計(jì)算局部解和全局最優(yōu)解。
步驟五利用式(6)定義新解;更新局部最優(yōu)解LS和全局最優(yōu)解GS。
步驟六利用式(7)更新式(3)的隨機(jī)初始值,計(jì)算并保留全局最優(yōu)解GS。
步驟七令t=t+1。判斷當(dāng)前迭代次數(shù)t是否等于最大迭代次數(shù)T,若是,輸出全局最優(yōu)解GS;否則重復(fù)步驟四至七。
步驟八輸出全局最優(yōu)解GS,GS即為待優(yōu)化模型常數(shù)項(xiàng)及偏回歸系數(shù)。將優(yōu)化結(jié)果代入PCA-FSA-MLR模型對(duì)預(yù)測(cè)樣本進(jìn)行預(yù)測(cè)。
a)數(shù)據(jù)來(lái)源及分析。利用云南省龍?zhí)墩?952—2005年實(shí)測(cè)水文資料為研究對(duì)象,分別利用實(shí)測(cè)1—10月月平均流量和實(shí)測(cè)1—11月月平均流量對(duì)同年度年徑流和12月月徑流進(jìn)行預(yù)測(cè)。經(jīng)分析,該水文站1—10月月平均流量與年徑流的相關(guān)系數(shù)分別為0.455、0.441、0.333、0.486、0.497、0.519、0.616、0.822、0.782、0.798,具有較好的相關(guān)性;該水文站1—11月月平均流量與12月月徑流的相關(guān)系數(shù)分別為0.189、0.192、0.220、0.463、0.245、0.180、0.348、0.596、0.511、0.680,最大相關(guān)系數(shù)僅為0.680,相關(guān)性并不十分顯著。本文分別選取1—10月月平均流量和1—11月月平均流量分別作為年徑流和12月月徑流預(yù)報(bào)因子,1952—1991年實(shí)測(cè)數(shù)據(jù)作為訓(xùn)練樣本,1992—2005年作為預(yù)測(cè)樣本。
利用SPSS17.0軟件對(duì)實(shí)例數(shù)據(jù)進(jìn)行主成分分析降維處理。對(duì)于年徑流和月徑流預(yù)測(cè)預(yù)報(bào)因子,前5個(gè)特征值累計(jì)貢獻(xiàn)率分別達(dá)89.063%和85.827%,根據(jù)累計(jì)貢獻(xiàn)率大于85%的原則,故選取前5個(gè)變量代替原10、11個(gè)變量進(jìn)行年徑流和月徑流預(yù)測(cè)。主成分分析結(jié)果及降維后的數(shù)據(jù)統(tǒng)計(jì)見(jiàn)表2、3,原始數(shù)據(jù)限于篇幅從略。
表2 年徑流和月徑流主成分分析結(jié)果
表3 年徑流和月徑流預(yù)測(cè)影響因子降維統(tǒng)計(jì)
b)參數(shù)設(shè)置。FSA參數(shù)設(shè)置同上;經(jīng)PCA降維處理的MLR常數(shù)項(xiàng)、偏回歸系數(shù)搜索范圍∈[±50,±10,±5,±2,±2,±2];未經(jīng)降維處理的MLR常數(shù)項(xiàng)、偏回歸系數(shù)搜索范圍∈[-1,1];SVM模型懲罰因子C、核函數(shù)參數(shù)g、不敏感系數(shù)ε搜索范圍∈[10010-310-3;103100100],交叉驗(yàn)證折數(shù)V=3,并采用[-1,1]對(duì)原始數(shù)據(jù)進(jìn)行歸一化處理;PCA-SVM、SVM模型最佳懲罰因子C、核函數(shù)參數(shù)g、不敏感系數(shù)ε采用試算方法獲得。
c)預(yù)測(cè)及分析。建立PCA-FSA-MLR、PCA-LS-MLR、PCA-FSA-SVM、PCA-SVM、FSA-MLR、LS-MLR、FSA-SVM、SVM模型對(duì)年徑流及枯水期12月月徑流進(jìn)行訓(xùn)練及預(yù)測(cè)。通過(guò)平均相對(duì)誤差絕對(duì)值MRE(%)、最大相對(duì)誤差MaxRE(%)、決定系數(shù)R2對(duì)上述8種模型的預(yù)測(cè)結(jié)果進(jìn)行評(píng)價(jià),結(jié)果見(jiàn)表4,相對(duì)誤差效果見(jiàn)圖1、2。
圖1 年徑流訓(xùn)練-預(yù)測(cè)相對(duì)誤差
經(jīng)FSA優(yōu)化獲得MLR徑流與各主成分之間的最優(yōu)線性回歸函數(shù)關(guān)系式如下:
年徑流:Q=25.5254+6.4556F1+2.9125F2-0.2639F3-0.7752F4+0.2170F5
(10)
12月徑流:Q=17.2083+3.2128F1+2.3262F2-1.0993F3+0.8762F4+0.2058F5
(11)
圖2 月徑流訓(xùn)練-預(yù)測(cè)相對(duì)誤差
依據(jù)表4及圖1、2可以得出以下結(jié)論。
a)PCA-FSA-MLR模型對(duì)實(shí)例年徑流、枯水期12月月徑流預(yù)測(cè)的平均相對(duì)誤差絕對(duì)值分別為1.63%、3.91%,預(yù)測(cè)精度略優(yōu)于PCA-FSA-SVM、FSA-MLR模型,優(yōu)于PCA-LS-MLR、FSA-SVM模型,大幅優(yōu)于LS-MLR、PCA-SVM模型,遠(yuǎn)優(yōu)于SVM模型,模型具有更高的預(yù)測(cè)精度和更強(qiáng)的泛化能力,表明PCA能對(duì)大量原始數(shù)據(jù)進(jìn)行有效降維處理,F(xiàn)SA能有效優(yōu)化MLR常數(shù)項(xiàng)及偏回歸系數(shù),PCA-FSA-MLR模型用于徑流預(yù)測(cè)是可行和有效的。
b)從圖1、2來(lái)看,PCA-FSA-MLR模型無(wú)論是擬合精度還是預(yù)測(cè)精度均優(yōu)于其他模型;從預(yù)測(cè)樣本決定系數(shù)和最大相對(duì)誤差來(lái)看,PCA-FSA-MLR模型同樣優(yōu)于其他模型,表明采用多種混合策略改進(jìn)的MLR模型同樣具有,甚至優(yōu)于SVM模型的預(yù)測(cè)精度。
c)對(duì)于同一模型,經(jīng)PCA數(shù)據(jù)降維處理的模型的預(yù)測(cè)精度要優(yōu)于未經(jīng)降維處理的模型,說(shuō)明數(shù)據(jù)降維處理可使數(shù)據(jù)樣本簡(jiǎn)潔且更具代表性,能有效提高模型的預(yù)測(cè)精度和泛化能力。
本文利用8個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)對(duì)FSA進(jìn)行仿真測(cè)試,并構(gòu)建PCA-FSA-MLR、PCA-LS-MLR、PCA-FSA-SVM、PCA-SVM、FSA-MLR、LS-MLR、FSA-SVM、SVM徑流預(yù)測(cè)模型,以云南省龍?zhí)墩陱搅骱驮聫搅黝A(yù)測(cè)為例對(duì)各模型預(yù)測(cè)性能進(jìn)行驗(yàn)證,結(jié)論如下。
a)FSA在5維、10維、20維、30維、100維、500維條件下均具有較好的尋優(yōu)精度和全局極值搜索能力,將FSA用于本實(shí)例相關(guān)參數(shù)尋優(yōu)是可行、可靠的。
b)PCA-FSA-MLR模型的擬合、預(yù)測(cè)精度均優(yōu)于PCA-FSA-SVM等7種模型,表明同時(shí)采用PCA數(shù)據(jù)降維處理和FSA參數(shù)尋優(yōu)策略改進(jìn)的MLR模型具有更高的預(yù)測(cè)精度和更強(qiáng)的泛化能力,PCA-FSA-MLR模型用于徑流預(yù)測(cè)是可行和有效的。
c)對(duì)于同一模型,經(jīng)PCA數(shù)據(jù)降維處理的模型的預(yù)測(cè)精度要優(yōu)于未經(jīng)降維處理的模型,降維處理能有效提高模型的預(yù)測(cè)精度和泛化能力。