郭存文,崔東文
(1.云南省水文水資源局文山分局,云南 文山 655000;2.云南省文山州水務局,云南 文山 663000)
研究提出具有較好預報精度的模型及方法一直是水文學領域研究的重點和熱點。目前,用于徑流預報的方法有BP[1-2]、GRNN[3]、Elman[4]、RBF[5]等人工神經網絡法以及多元回分析法[6-7]、集對分析法[8]、灰色預測法[9]、支持向量機法[10-11]、投影尋蹤回歸法[12]、小波分析法[13]、隨機森林法[14-15]、組合預測法[16-17]等,均在徑流預測中獲得較好的預測效果。多元線性回歸(multiple linear regression,MLR)雖已在徑流預測中得到應用[7],但存在以下問題和不足:①MLR對異常值敏感,預測精度不高;②影響因子(變量)較多時難以精確估計MLR常數項和偏回歸系數,目前普遍采用最小二乘法(least squares,LS)估計MLR相關參數,但LS求解方法復雜且精度不高。
為消除MLR受異常值的影響,精確估計MLR常數項和偏回歸系數,提高MLR模型預測精度,本文提出建立基于主成分分析(principal component analysis,PCA)、未來搜索算法(Future search algorithm,FSA)、MLR多種策略相融合的PCA-FSA-MLR徑流預測模型。首先利用PCA對樣本數據進行降維處理,使數據樣本簡潔且更具代表性,以消除異常值對MLR的影響;其次選取8個標準測試函數在5維、10維、20維、30維、100維和500維條件下對FSA進行仿真測試,以檢驗FSA能否滿足MLR常數項和偏回歸系數的尋優要求;最后利用FSA對MLR常數項和偏回歸系數進行尋優,建立PCA-FSA-MLR預測模型,并將該模型應用于云南省龍潭站年徑流及同年枯水期12月月徑流預測,預測結果與經PCA降維處理的PCA-LS-MLR、PCA-FSA-支持向量機(support vector machines,SVM)、PCA-SVM模型和未經降維處理的FSA-MLR、LS-MLR、FSA-SVM、SVM模型作對比,以檢驗PCA-FSA-MLR模型的預測性能和預測效果。
主成分分析(PCA)是一種通過降維技術把多個變量化為少數幾個主成分的多元統計方法。設具有n個變量(x1,x2,…,xn)、k個樣本的數據矩陣為[18-19]:
(1)
式中,Xi=[x1ix2i…xki]T。

(2)
式中F1、F2、Fm——第一主成分、第二主成分、第m主成分;aij——主成分系數。
2.2.1FSA數據描述
未來搜索算法(FSA)是M.Elsisi[20]于2018年通過模仿人類向往美好生活而提出的一種新穎搜索算法。該算法通過建立數學模型模擬人與人之間最優生活(局部搜索)和歷史最優生活(全局搜索)來獲得最優解。與其他算法相比,FSA具有調節參數少、收斂速度快、尋優能力強等優點。參考文獻[20],FSA數學描述簡述如下:
a)算法初始化。FSA通過式(3)初始化當前解:
S(i,:)=Lb+(Ub-Lb)*rand(1,d)
(3)
式中S(i,:)——第i個國家/地區當前解;Ub、Lb——搜索空間的上、下限;rand——均勻分布隨機數;d——問題維數。
b)局部解和全局最優解。FSA將每個國家/地區當前最優解定義為局部最優解LS,將所有國家/地區當前最優解定義為全局最優解GS,并通過迭代過程獲得待優化問題最優解。FSA通過式(4)、(5)實現局部解和全局最優解的更新:
S(i,:)L=(LS(i,:)-S(i,:))*rand
(4)
S(i,:)G=(GS-S(i,:))*rand
(5)
式中S(i,:)L、S(i,:)G——第i個國家/地區局部解和全局最優解;LS(i,:)——第i個國家/地區局部最優解;GS——所有國家/地區全局最優解;rand——[0,1]范圍內隨機數。
c)定義新解。在獲得第i個國家/地區局部解和全局最優解后,利用式(6)重新定義當前解:
S(i,:)=S(i,:)+S(i,:)L+S(i,:)G
(6)
d)更新隨機初始值。FSA在更新局部最優解LS和全局最優解GS后,利用式(7)更新式(3)的隨機初始值:
S(i,:)=GS+[GS-LS(i,:)]*rand
(7)
2.2.2FSA仿真測試
參考文獻[21-23],選取Spher等8個典型測試函數在5維、10維、20維、30維、100維和500維條件下對FSA進行仿真驗證。單峰函數主要測試FSA的尋優精度,多峰函數主要測試FSA的全局搜索能力,并利用20次尋優平均值對FSA尋優性能進行評估,見表1。FSA參數設置:最大迭代次數T=1000,種群規模N=50,其他參數采用FSA默認值。

表1 FSA標準測試函數尋優結果
a)對于Sphere、Schwefel 2.22、Schwefel 2.21 3個單峰函數,FSA在不同維度條件下20次尋優均獲得理論最優值0;對于極難極小化的多維病態二次函數Rosenbrock,FSA在不同維度條件下20次尋優同樣獲得理論最優值0。對于單峰函數,FSA表現出理想的尋優精度。
b)對于多峰函數Griewank、Rastrigin,FSA在不同維度條件下20次尋優均獲得理論最優值0;對于Ackley多峰函數,FSA 20次尋優獲得相對理論最優值8.88E-16;對于使用正弦函數產生大量局部極小值多峰函數Penalized,FSA在不同維度條件下20次尋優精度均在9.43E-32以上,且隨著維度的增加,其尋優精度呈提高趨勢。對于多峰函數,FSA具有較好的全局尋優能力。
綜上,FSA在低維和高維條件下對上述8個測試函數均具有較好的尋優精度和全局尋優能力,將其用于MLR常數項和偏回歸系數尋優是可靠的。
多元線性回歸(MLR)是指在相關變量中將一個變量視為因變量,其他一個或多個變量視為自變量,建立多個變量之間線性或非線性數學模型數量關系式并利用樣本數據進行分析的統計分析方法[19,24],關系式如下:
Q=β0+β1F1+β2F2+…+βmFm
(8)
式中Q——徑流量預測值;β0——常數項;β1,…,βm——MLR偏回歸系數;F1,F2,…,Fm——自變量,即第一、第二,…,第m個主成分或未經降維處理的徑流預報影響因子。
步驟一利用SPSS17.0對實例原始數據進行降維處理,合理劃分訓練樣本和預測樣本,將處理后的數據作為FSA-MLR模型的樣本數據進行輸入訓練。
步驟二采用相對誤差絕對值之和作為適應度函數:
(9)

步驟三設置FSA最大迭代次數T、群體規模N等參數。利用式(3)初始化當前解,并令當前迭代次數t=1。
步驟四定義局部最優解LS和全局最優解GS;通過式(4)、(5)計算局部解和全局最優解。
步驟五利用式(6)定義新解;更新局部最優解LS和全局最優解GS。
步驟六利用式(7)更新式(3)的隨機初始值,計算并保留全局最優解GS。
步驟七令t=t+1。判斷當前迭代次數t是否等于最大迭代次數T,若是,輸出全局最優解GS;否則重復步驟四至七。
步驟八輸出全局最優解GS,GS即為待優化模型常數項及偏回歸系數。將優化結果代入PCA-FSA-MLR模型對預測樣本進行預測。
a)數據來源及分析。利用云南省龍潭站1952—2005年實測水文資料為研究對象,分別利用實測1—10月月平均流量和實測1—11月月平均流量對同年度年徑流和12月月徑流進行預測。經分析,該水文站1—10月月平均流量與年徑流的相關系數分別為0.455、0.441、0.333、0.486、0.497、0.519、0.616、0.822、0.782、0.798,具有較好的相關性;該水文站1—11月月平均流量與12月月徑流的相關系數分別為0.189、0.192、0.220、0.463、0.245、0.180、0.348、0.596、0.511、0.680,最大相關系數僅為0.680,相關性并不十分顯著。本文分別選取1—10月月平均流量和1—11月月平均流量分別作為年徑流和12月月徑流預報因子,1952—1991年實測數據作為訓練樣本,1992—2005年作為預測樣本。
利用SPSS17.0軟件對實例數據進行主成分分析降維處理。對于年徑流和月徑流預測預報因子,前5個特征值累計貢獻率分別達89.063%和85.827%,根據累計貢獻率大于85%的原則,故選取前5個變量代替原10、11個變量進行年徑流和月徑流預測。主成分分析結果及降維后的數據統計見表2、3,原始數據限于篇幅從略。

表2 年徑流和月徑流主成分分析結果

表3 年徑流和月徑流預測影響因子降維統計
b)參數設置。FSA參數設置同上;經PCA降維處理的MLR常數項、偏回歸系數搜索范圍∈[±50,±10,±5,±2,±2,±2];未經降維處理的MLR常數項、偏回歸系數搜索范圍∈[-1,1];SVM模型懲罰因子C、核函數參數g、不敏感系數ε搜索范圍∈[10010-310-3;103100100],交叉驗證折數V=3,并采用[-1,1]對原始數據進行歸一化處理;PCA-SVM、SVM模型最佳懲罰因子C、核函數參數g、不敏感系數ε采用試算方法獲得。
c)預測及分析。建立PCA-FSA-MLR、PCA-LS-MLR、PCA-FSA-SVM、PCA-SVM、FSA-MLR、LS-MLR、FSA-SVM、SVM模型對年徑流及枯水期12月月徑流進行訓練及預測。通過平均相對誤差絕對值MRE(%)、最大相對誤差MaxRE(%)、決定系數R2對上述8種模型的預測結果進行評價,結果見表4,相對誤差效果見圖1、2。

圖1 年徑流訓練-預測相對誤差
經FSA優化獲得MLR徑流與各主成分之間的最優線性回歸函數關系式如下:
年徑流: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 月徑流訓練-預測相對誤差
依據表4及圖1、2可以得出以下結論。
a)PCA-FSA-MLR模型對實例年徑流、枯水期12月月徑流預測的平均相對誤差絕對值分別為1.63%、3.91%,預測精度略優于PCA-FSA-SVM、FSA-MLR模型,優于PCA-LS-MLR、FSA-SVM模型,大幅優于LS-MLR、PCA-SVM模型,遠優于SVM模型,模型具有更高的預測精度和更強的泛化能力,表明PCA能對大量原始數據進行有效降維處理,FSA能有效優化MLR常數項及偏回歸系數,PCA-FSA-MLR模型用于徑流預測是可行和有效的。
b)從圖1、2來看,PCA-FSA-MLR模型無論是擬合精度還是預測精度均優于其他模型;從預測樣本決定系數和最大相對誤差來看,PCA-FSA-MLR模型同樣優于其他模型,表明采用多種混合策略改進的MLR模型同樣具有,甚至優于SVM模型的預測精度。
c)對于同一模型,經PCA數據降維處理的模型的預測精度要優于未經降維處理的模型,說明數據降維處理可使數據樣本簡潔且更具代表性,能有效提高模型的預測精度和泛化能力。
本文利用8個標準測試函數對FSA進行仿真測試,并構建PCA-FSA-MLR、PCA-LS-MLR、PCA-FSA-SVM、PCA-SVM、FSA-MLR、LS-MLR、FSA-SVM、SVM徑流預測模型,以云南省龍潭寨年徑流和月徑流預測為例對各模型預測性能進行驗證,結論如下。
a)FSA在5維、10維、20維、30維、100維、500維條件下均具有較好的尋優精度和全局極值搜索能力,將FSA用于本實例相關參數尋優是可行、可靠的。
b)PCA-FSA-MLR模型的擬合、預測精度均優于PCA-FSA-SVM等7種模型,表明同時采用PCA數據降維處理和FSA參數尋優策略改進的MLR模型具有更高的預測精度和更強的泛化能力,PCA-FSA-MLR模型用于徑流預測是可行和有效的。
c)對于同一模型,經PCA數據降維處理的模型的預測精度要優于未經降維處理的模型,降維處理能有效提高模型的預測精度和泛化能力。