劉英杰 聶章琴 王博 許亞輝
摘 要:為了對水工隧洞工程施工成本進行精確預測,從工程、環(huán)境、市場以及管理4個方面分析了水工隧洞施工成本影響因素,構(gòu)建了水工隧洞施工成本影響因素量化方法。采用粒子群算法(PSO)優(yōu)化支持向量機(SVM)模型中的懲罰因子C和核函數(shù)參數(shù)g,建立基于PSO-SVM的水工隧洞施工成本預測模型。對比SVM模型的預測結(jié)果發(fā)現(xiàn),PSO-SVM模型的平均絕對百分比誤差和均方根誤差更小,訓練速度更快,預測效果更好。
關鍵詞:成本預測;支持向量機;粒子群算法;水工隧洞
中圖分類號:TV554
文獻標識碼:A
doi:10.3969/j.issn.1000-1379.2021.09.031
引用格式:劉英杰,聶章琴,王博,等.基于PSO-SVM的水工隧洞施工成本預測[J].人民黃河,2021,43(9):160-164.
Construction Cost Prediction of Hydraulic Tunnel Based on PSO-SVM
LIU Yingjie1,2,3, NIE Zhangqin1, WANG Bo1,2,3, XU Yahui1
(1.School of Water Conservancy, North China University of Water Resources and Electric Power, Zhengzhou 450046, China;
2.Collaborative Innovation Center of Water Resources Efficient Utilization and Support Engineering, Zhengzhou 450046, China;
3.Henan Key Laboratory of Water Environment Simulation and Treatment, Zhengzhou 450046, China)
Abstract: In order to accurately predict the construction cost of hydraulic tunnel engineering, this paper analyzed the influencing factors of hydraulic tunnel construction cost from four aspects of engineering, environment, market and management, and established a quantitative system of influencing factors of hydraulic tunnel construction cost. Particle Swarm Optimization (PSO) was used to optimize the penalty factor C and kernel function parameter G in the support vector machine (SVM) model, and the construction cost prediction model of hydraulic tunnel based on PSO-SVM was established. Compared with the prediction results of SVM model, the average absolute error percentage and root mean square error of PSO-SVM model are lower, the training speed is faster and the prediction effect is better.
Key words: cost forecast; support vector machine; particle swarm optimization; hydraulic tunnel
水工隧洞工程具有施工條件復雜、工期長、技術(shù)難度高、投資規(guī)模大等特點。準確預測水工隧洞成本是實現(xiàn)水工隧洞成本管理的首要任務。成本預測方法包括線性回歸法、時間序列法、灰色理論、神經(jīng)網(wǎng)絡、支持向量機(SVM)等。線性回歸法認為工程成本是線性變化的,時間序列法是研究歷史數(shù)據(jù)隨時間的推移而發(fā)生的變化,而水工隧洞成本受施工條件和氣象條件等多因素的限制是非線性和不確定的;灰色理論通過分析各影響因素間的關聯(lián)度來預測成本,適合低維數(shù)據(jù);神經(jīng)網(wǎng)絡的優(yōu)化算法為誤差梯度下降法,但容易陷入過擬合、局部最優(yōu)等問題。SVM算法可以避免過擬合,在樣本數(shù)據(jù)較少的情況下也能進行預測,在成本預測領域被廣泛使用,如:秦中伏等[1]將主成分分析法和支持向量機相結(jié)合,對住宅工程成本進行了預測;Zhang Y等[2]構(gòu)建了基于隨機森林-支持向量機的工程成本預測模型;李靜等[3]通過遺傳算法優(yōu)化支持向量機,完成了對輸電塔造價的預測;喬國華等[4]構(gòu)建了基于遺傳算法的最小二乘支持向量機模型,對變電站全壽命周期成本進行了預測;劉颯等[5]構(gòu)建了基于主成分分析法和支持向量機的企業(yè)成本預測模型。SVM的參數(shù)選擇與模型的訓練效果有密切的關系,選擇參數(shù)的傳統(tǒng)方法用時太長,且很難得到全局最優(yōu)解。粒子群優(yōu)化(PSO)算法在優(yōu)化領域中被大量使用,取得了良好的效果,如:黃敏等[6]基于粒子群算法優(yōu)化支持向量機構(gòu)建了山區(qū)公路隧道成本預測模型;高昆侖等[7]通過粒子群算法優(yōu)化支持向量機,預測了未來網(wǎng)絡安全態(tài)勢。本文針對SVM選擇參數(shù)時存在的盲目性問題,提出利用PSO算法優(yōu)化其模型參數(shù),對水工隧洞施工成本進行預測。
1 水工隧洞工程施工成本影響因素分析
1.1 影響因素識別
水工隧洞工程施工成本的影響因素很多,一般而言應考慮工程方面、環(huán)境方面、市場方面和管理方面的影響因素[8-15]。工程方面包括壓力狀態(tài)、長度、橫斷面面積、橫斷面形狀、襯砌類型、掘進方式等;環(huán)境方面包括圍巖類別、氣象條件、場地施工條件、場內(nèi)外臨時交通狀況等;市場方面包括人工、材料、機械的價格及其變化趨勢;管理方面包括業(yè)主管理水平、承包商管理水平、監(jiān)理管理水平、施工工期等。
1.2 主要影響因素量化
水工隧洞工程施工成本的影響因素量化方法見表1。
2 基于粒子群算法的支持向量機成本預測模型
2.1 支持向量機回歸模型
SVM基于結(jié)構(gòu)風險最小化,使用核函數(shù)將數(shù)據(jù)映射到高維空間,尋找其最優(yōu)超平面。
假設樣本數(shù)據(jù)D={(xi,yi)|i=1,2,…,n}(其中:xi為第i個樣本的輸入值,yi為輸出值),SVM找到一個與y相近的回歸函數(shù)f(x):
fx=[w,Φ(x)]+b(1)
式中:yi∈R;w為權(quán)值系數(shù);Ф(x)為映射函數(shù);b為偏置項。
SVM算法通過求解下述問題確定w和b:
min12‖w‖2+C∑ni=1(ξi+ξi)
s.t.yi-[w,Φ(x)]-b≤ε+ξi
[w,Φ(x)]+b-yi≤ε+ξi
ξi、ξi≥0(2)
式中:ξi、ξi*為松弛變量;C為懲罰因子,C>0;ε為容許誤差。
引入拉格朗日乘子可得:
L=12‖w‖2+C∑ni=1(ξi+ξ*i)+ ∑ni=1λi[yi-wΦ(xi)-b-ε-ξi]+∑ni=1λ*i[wΦ(xi)+b-yi-ε-ξ*i]-∑ni=1(ηiξi+η*iξ*i)(3)
其中λi、λ*i、ηi、η*i≥0。
則上述優(yōu)化問題的對偶形式為
max[-12∑ni=1∑nj=1(λi-λ*i)(λj-λ*j)K(xi,xj)+
∑ni=1(λi-λ*i)yi-∑ni=1(λi-λ*i)ε]s.t.∑ni=1(λi-λ*i)=0
0≤λi≤C,0≤λ*i≤C(4)
設由式(4)得到的最優(yōu)解為α={α1,α2,…,αn}、α*={α1*,α2*,…,αn*},則
w=∑ni=1(αi-αi)Φ(xi)(5)
b=1Nnsv{∑0<αi ∑0<αj 式中:Nnsv為支持向量個數(shù)。 于是,回歸函數(shù)為 fx=wΦ(x)+b=∑ni=1(αi-αi)Φ(xi)Φ(xj)+ b=∑ni=1(αi-αi)K(xi,xj)+b(7) 其中K(xi,xj)為核函數(shù),K(xi,xj)=Ф(xi)Ф(xj)。 徑向基函數(shù)為 kRBF(xi,xj)=exp[-g(xi-xj)2]? (g>0)(8) 式中:g為核函數(shù)方差,g=1/(2σ2)(σ為核函數(shù)的寬度參數(shù))。 2.2 粒子群優(yōu)化算法 粒子群算法(PSO)通過不斷迭代找到最優(yōu)解。設在一個D維空間中存在n個粒子構(gòu)成的群體x={x1,x2,…,xn},第i個粒子的位置為xi=(xi1,xi2,…,xiD),速度為vi=(vi1,vi2,…,viD),個體極值為Pi=(Pi1,Pi2,…,PiD),群體極值為Pg=(Pg1,Pg2,…,PgD),在不斷迭代過程中,根據(jù)式(9)和式(10)更新xi和vi,通過適應度函數(shù)F求適應度值并更新個體極值Pbest和群體極值Gbest,達到最大迭代次數(shù)或適應度值小于設定值時迭代終止。 xk+1iD=xkiD+vk+1iD(9) vk+1iD=ωvkiD+c1r1(PkiD-xkiD)+c2r2(PkiD-xkiD)(10) 式中:ω為慣性權(quán)重因子;k為當前迭代次數(shù);viD為速度;c1和c2為加速度因子;r1和r2為在[0,1]區(qū)間的隨機數(shù)。 2.3 基于粒子群算法的支持向量機成本預測流程 基于PSO-SVM的水工隧洞施工成本預測流程如圖1所示。 步驟1:收集水工隧洞的歷史施工成本數(shù)據(jù)并構(gòu)成數(shù)據(jù)集,把數(shù)據(jù)集分為訓練集和測試集。 步驟2:運用MATLAB軟件的mapminmax函數(shù)對數(shù)據(jù)進行歸一化處理。 步驟3:設定粒子群的參數(shù),得到粒子的位置與速度。 步驟4:根據(jù)粒子目前的位置,得到C、g值,利用svmtrain函數(shù)創(chuàng)建SVM預測模型,求解粒子適應度值,對比PkbestiD,如果現(xiàn)在的值更接近設定值則替代PkbestiD。 步驟5:對比每個粒子的適應度值與群粒子的適應度值,如果群粒子的適應度值大于每個粒子的適應度值,則用PkbestiD替代GkbestiD,根據(jù)式(9)、式(10)更新粒子的位置與速度。 步驟6:判斷是否達到終止條件,如果達到則PSO計算結(jié)束,輸出最優(yōu)值;如果未達到則重復步驟4。 步驟7:將PSO找到的參數(shù)C、g代入SVM模型重新訓練,得到較優(yōu)的SVM模型。 步驟8:利用svmpredict函數(shù)進行預測、mapminmax函數(shù)將結(jié)果反歸一化,得到水工隧洞施工成本預測結(jié)果。 2.4 預測結(jié)果分析指標 選取平均絕對百分比誤差(MAPE)和均方根誤差(RMSE)作為預測結(jié)果分析指標。MAPE與RMSE計算公式分別為 MAPE=1N∑Ni=1yi-y*iyi×100%(11) RMSE=1N∑Ni=1(yi-y*i)2(12) 式中:N為樣本數(shù)目;yi和yi*分別為第i個樣本的實際值與預測值。 3 案例分析 3.1 水工隧洞成本數(shù)據(jù)收集 共收集了22個水工隧洞工程項目的成本數(shù)據(jù),根據(jù)表1對原始數(shù)據(jù)進行量化,結(jié)果見表2。為了驗證基于PSO-SVM的水工隧洞項目成本預測模型的可靠性和準確性,將22個水工隧洞樣本分成兩組,其中前18個為訓練集,后4個為測試集。 3.2 基于SVM的成本預測 利用Matlab軟件的mapminmax函數(shù)對成本影響因素量化結(jié)果進行歸一化處理。利用libsvm軟件包中的svmtrain函數(shù)創(chuàng)建和訓練SVM模型,其中SVM模型使用v-SVR的默認參數(shù),利用libsvm軟件包中的svmpredict函數(shù)進行預測,利用函數(shù)mapminmax反歸一化,結(jié)果如圖2所示。 3.3 基于PSO-SVM的成本預測 利用Matlab軟件的mapminmax函數(shù)對成本影響因素量化結(jié)果進行歸一化處理;設定PSO的參數(shù),D=2,n=30,c1=1,c2=1.5,ω=1,C∈(0,200),g∈(0,500),F(xiàn)(GkbestiD)=MAPE≤5%,最大迭代次數(shù)為500。通過PSO工具箱進行SVM的參數(shù)尋優(yōu),輸出的最優(yōu)參數(shù)值為C=2.426 5、g=0.010 0,其適應度函數(shù)如圖3所示。由圖3可知,預測誤差在迭代20次后趨于穩(wěn)定,在迭代92次時MAPE≤5%。 將PSO工具箱尋優(yōu)結(jié)果代入SVM模型中,利用svmpredict函數(shù)進行預測,利用mapminmax函數(shù)反歸一化,結(jié)果如圖4所示。 3.4 預測結(jié)果分析 PSO-SVM模型的MAPE為4.98%,RMSE為1 930.07萬元;SVM模型的MAPE為10.79%,RMSE為3 456.47萬元。對比SVM模型的預測結(jié)果發(fā)現(xiàn)PSO-SVM模型預測的MAPE和RMSE更小,預測更準確。原因是SVM模型預測時使用的是默認參數(shù),最終解可能為局部最優(yōu)而非全局最優(yōu),而PSO-SVM模型中粒子群算法會隨著測試樣本的輸入而動態(tài)搜尋支持向量機的最優(yōu)參數(shù),能夠保證預測精度并盡量避免過擬合。 PSO-SVM及SVM模型的絕對誤差如圖5所示。由圖5可知,PSO-SVM模型比SVM模型具有更強的能力。PSO-SVM模型的誤差較小,其最大和最小絕對誤差分別為6.7%和3.8%,而SVM模型的誤差較大,其最大和最小絕對誤差分別為14.9%和7.8%。 對比PSO-SVM及SVM模型的訓練速度可知,PSO-SVM模型的訓練速度較快,最快和最慢訓練時間分別為1.5 s和1.9 s,SVM模型的訓練速度較慢,最快和最慢訓練時間分別為7.8 s和10.6 s。 4 結(jié) 論 從工程、環(huán)境、市場、管理4個方面分析并量化了水工隧洞成本影響因素,建立了基于PSO-SVM的水工隧洞施工成本預測模型?;?2組水工隧洞工程施工成本數(shù)據(jù),利用PSO算法對SVM的參數(shù)尋優(yōu),得到最優(yōu)C值為2.426 5,最優(yōu)g值為0.010 0,建立了基于PSO-SVM的水工隧洞成本預測模型,在Matlab平臺上進行預測,得到其MAPE為4.98%,RMSE為1 819.55萬元。預測結(jié)果表明,與SVM相比,PSO-SVM算法能夠在較短的時間內(nèi)更精確地預測出項目成本,且PSO-SVM模型具有較高的泛化性能。 參考文獻: [1] 秦中伏,雷小龍,翟東,等.基于SVM和LS-SVM的住宅工程造價預測研究[J].浙江大學學報(理學版),2016,43(3):357-363. [2] ZHANG Y,F(xiàn)ANG S. RSVRs Based on Feature Extraction:a Novel Method for Prediction of Construction Projects Costs[J]. KSCE Journal of Civil Engineering,2019,23(4):1436-1441. [3] 李靜,張卓群,李旭.基于GA-SVM的輸電塔結(jié)構(gòu)基礎施工成本預測[J].施工技術(shù),2016,45(12):100-102,114. [4] 喬國華,郭路遙,吳一敵,等.基于遺傳優(yōu)化最小二乘支持向量機的變電站全壽命周期成本預測模型[J].中國電力,2015,48(11):142-148. [5] 劉颯,萬壽義.高新技術(shù)企業(yè)研發(fā)成本的預測模型及方法探討[J].大連理工大學學報(社會科學版),2021,42(2):42-49. [6] 黃敏,吳立,姚沅.基于支持向量機-粒子群算法的山區(qū)公路隧道造價預測[J].公路,2015,60(7):285-288. [7] 高昆侖,劉建明,徐茹枝,等.基于支持向量機和粒子群算法的信息網(wǎng)絡安全態(tài)勢復合預測模型[J].電網(wǎng)技術(shù),2011,35(4):176-182. [8] 劉必君,葉雨辰.基于棧式降噪自動編碼器的建筑工程施工成本預測[J].同濟大學學報(自然科學版),2020,48(6):922-928. [9] 王穎慧,蘇懷智.基于PCA-GWO-SVM的大壩變形預測[J].人民黃河,2020,42(11):130-134. [10] 盧睿,李學偉.工程建筑企業(yè)投標中的項目成本預測研究[J].鐵道工程學報,2016,33(6):104-109. [11] 李萬慶,陳佳琪,孟文清,等.基于BSA-ELM模型的建筑工程施工成本預測研究[J].數(shù)學的實踐與認識,2019,49(23):10-17. [12] AI D, YANG J. A Machine Learning Approach for Cost Prediction Analysis in Environmental Governance Engineering[J].Neural Computing and Applications,2019,31(12):8195-8203. [13] 丁世飛,齊丙娟,譚紅艷.支持向量機理論與算法研究綜述[J].電子科技大學學報,2011,40(1):2-10. [14] 黃夢婧,楊海浪.基于PSO的SVM-ARIMA大壩安全監(jiān)控模型[J].人民黃河,2018,40(8):149-151,156. [15] OCK J H,PARK H K.A Study on the Algorithm of Cash Flow Forecasting Model in the Planning Stage of a Construction Project[J].KSCE Journal of Civil Engineering,2016,20(6):2170-2176. 【責任編輯 張華巖】