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