劉英杰 聶章琴 王博 許亞輝



摘 要:為了對水工隧洞工程施工成本進行精確預測,從工程、環境、市場以及管理4個方面分析了水工隧洞施工成本影響因素,構建了水工隧洞施工成本影響因素量化方法。采用粒子群算法(PSO)優化支持向量機(SVM)模型中的懲罰因子C和核函數參數g,建立基于PSO-SVM的水工隧洞施工成本預測模型。對比SVM模型的預測結果發現,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
水工隧洞工程具有施工條件復雜、工期長、技術難度高、投資規模大等特點。準確預測水工隧洞成本是實現水工隧洞成本管理的首要任務。成本預測方法包括線性回歸法、時間序列法、灰色理論、神經網絡、支持向量機(SVM)等。線性回歸法認為工程成本是線性變化的,時間序列法是研究歷史數據隨時間的推移而發生的變化,而水工隧洞成本受施工條件和氣象條件等多因素的限制是非線性和不確定的;灰色理論通過分析各影響因素間的關聯度來預測成本,適合低維數據;神經網絡的優化算法為誤差梯度下降法,但容易陷入過擬合、局部最優等問題。SVM算法可以避免過擬合,在樣本數據較少的情況下也能進行預測,在成本預測領域被廣泛使用,如:秦中伏等[1]將主成分分析法和支持向量機相結合,對住宅工程成本進行了預測;Zhang Y等[2]構建了基于隨機森林-支持向量機的工程成本預測模型;李靜等[3]通過遺傳算法優化支持向量機,完成了對輸電塔造價的預測;喬國華等[4]構建了基于遺傳算法的最小二乘支持向量機模型,對變電站全壽命周期成本進行了預測;劉颯等[5]構建了基于主成分分析法和支持向量機的企業成本預測模型。SVM的參數選擇與模型的訓練效果有密切的關系,選擇參數的傳統方法用時太長,且很難得到全局最優解。粒子群優化(PSO)算法在優化領域中被大量使用,取得了良好的效果,如:黃敏等[6]基于粒子群算法優化支持向量機構建了山區公路隧道成本預測模型;高昆侖等[7]通過粒子群算法優化支持向量機,預測了未來網絡安全態勢。本文針對SVM選擇參數時存在的盲目性問題,提出利用PSO算法優化其模型參數,對水工隧洞施工成本進行預測。
1 水工隧洞工程施工成本影響因素分析
1.1 影響因素識別
水工隧洞工程施工成本的影響因素很多,一般而言應考慮工程方面、環境方面、市場方面和管理方面的影響因素[8-15]。工程方面包括壓力狀態、長度、橫斷面面積、橫斷面形狀、襯砌類型、掘進方式等;環境方面包括圍巖類別、氣象條件、場地施工條件、場內外臨時交通狀況等;市場方面包括人工、材料、機械的價格及其變化趨勢;管理方面包括業主管理水平、承包商管理水平、監理管理水平、施工工期等。
1.2 主要影響因素量化
水工隧洞工程施工成本的影響因素量化方法見表1。
2 基于粒子群算法的支持向量機成本預測模型
2.1 支持向量機回歸模型
SVM基于結構風險最小化,使用核函數將數據映射到高維空間,尋找其最優超平面。
假設樣本數據D={(xi,yi)|i=1,2,…,n}(其中:xi為第i個樣本的輸入值,yi為輸出值),SVM找到一個與y相近的回歸函數f(x):
fx=[w,Φ(x)]+b(1)
式中:yi∈R;w為權值系數;Ф(x)為映射函數;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。
則上述優化問題的對偶形式為
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)得到的最優解為α={α1,α2,…,αn}、α*={α1*,α2*,…,αn*},則
w=∑ni=1(αi-αi)Φ(xi)(5)
b=1Nnsv{∑0<αi ∑0<αj 式中:Nnsv為支持向量個數。 于是,回歸函數為 fx=wΦ(x)+b=∑ni=1(αi-αi)Φ(xi)Φ(xj)+ b=∑ni=1(αi-αi)K(xi,xj)+b(7) 其中K(xi,xj)為核函數,K(xi,xj)=Ф(xi)Ф(xj)。 徑向基函數為 kRBF(xi,xj)=exp[-g(xi-xj)2]? (g>0)(8) 式中:g為核函數方差,g=1/(2σ2)(σ為核函數的寬度參數)。 2.2 粒子群優化算法 粒子群算法(PSO)通過不斷迭代找到最優解。設在一個D維空間中存在n個粒子構成的群體x={x1,x2,…,xn},第i個粒子的位置為xi=(xi1,xi2,…,xiD),速度為vi=(vi1,vi2,…,viD),個體極值為Pi=(Pi1,Pi2,…,PiD),群體極值為Pg=(Pg1,Pg2,…,PgD),在不斷迭代過程中,根據式(9)和式(10)更新xi和vi,通過適應度函數F求適應度值并更新個體極值Pbest和群體極值Gbest,達到最大迭代次數或適應度值小于設定值時迭代終止。 xk+1iD=xkiD+vk+1iD(9) vk+1iD=ωvkiD+c1r1(PkiD-xkiD)+c2r2(PkiD-xkiD)(10) 式中:ω為慣性權重因子;k為當前迭代次數;viD為速度;c1和c2為加速度因子;r1和r2為在[0,1]區間的隨機數。 2.3 基于粒子群算法的支持向量機成本預測流程 基于PSO-SVM的水工隧洞施工成本預測流程如圖1所示。 步驟1:收集水工隧洞的歷史施工成本數據并構成數據集,把數據集分為訓練集和測試集。 步驟2:運用MATLAB軟件的mapminmax函數對數據進行歸一化處理。 步驟3:設定粒子群的參數,得到粒子的位置與速度。 步驟4:根據粒子目前的位置,得到C、g值,利用svmtrain函數創建SVM預測模型,求解粒子適應度值,對比PkbestiD,如果現在的值更接近設定值則替代PkbestiD。 步驟5:對比每個粒子的適應度值與群粒子的適應度值,如果群粒子的適應度值大于每個粒子的適應度值,則用PkbestiD替代GkbestiD,根據式(9)、式(10)更新粒子的位置與速度。 步驟6:判斷是否達到終止條件,如果達到則PSO計算結束,輸出最優值;如果未達到則重復步驟4。 步驟7:將PSO找到的參數C、g代入SVM模型重新訓練,得到較優的SVM模型。 步驟8:利用svmpredict函數進行預測、mapminmax函數將結果反歸一化,得到水工隧洞施工成本預測結果。 2.4 預測結果分析指標 選取平均絕對百分比誤差(MAPE)和均方根誤差(RMSE)作為預測結果分析指標。MAPE與RMSE計算公式分別為 MAPE=1N∑Ni=1yi-y*iyi×100%(11) RMSE=1N∑Ni=1(yi-y*i)2(12) 式中:N為樣本數目;yi和yi*分別為第i個樣本的實際值與預測值。 3 案例分析 3.1 水工隧洞成本數據收集 共收集了22個水工隧洞工程項目的成本數據,根據表1對原始數據進行量化,結果見表2。為了驗證基于PSO-SVM的水工隧洞項目成本預測模型的可靠性和準確性,將22個水工隧洞樣本分成兩組,其中前18個為訓練集,后4個為測試集。 3.2 基于SVM的成本預測 利用Matlab軟件的mapminmax函數對成本影響因素量化結果進行歸一化處理。利用libsvm軟件包中的svmtrain函數創建和訓練SVM模型,其中SVM模型使用v-SVR的默認參數,利用libsvm軟件包中的svmpredict函數進行預測,利用函數mapminmax反歸一化,結果如圖2所示。 3.3 基于PSO-SVM的成本預測 利用Matlab軟件的mapminmax函數對成本影響因素量化結果進行歸一化處理;設定PSO的參數,D=2,n=30,c1=1,c2=1.5,ω=1,C∈(0,200),g∈(0,500),F(GkbestiD)=MAPE≤5%,最大迭代次數為500。通過PSO工具箱進行SVM的參數尋優,輸出的最優參數值為C=2.426 5、g=0.010 0,其適應度函數如圖3所示。由圖3可知,預測誤差在迭代20次后趨于穩定,在迭代92次時MAPE≤5%。 將PSO工具箱尋優結果代入SVM模型中,利用svmpredict函數進行預測,利用mapminmax函數反歸一化,結果如圖4所示。 3.4 預測結果分析 PSO-SVM模型的MAPE為4.98%,RMSE為1 930.07萬元;SVM模型的MAPE為10.79%,RMSE為3 456.47萬元。對比SVM模型的預測結果發現PSO-SVM模型預測的MAPE和RMSE更小,預測更準確。原因是SVM模型預測時使用的是默認參數,最終解可能為局部最優而非全局最優,而PSO-SVM模型中粒子群算法會隨著測試樣本的輸入而動態搜尋支持向量機的最優參數,能夠保證預測精度并盡量避免過擬合。 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 結 論 從工程、環境、市場、管理4個方面分析并量化了水工隧洞成本影響因素,建立了基于PSO-SVM的水工隧洞施工成本預測模型。基于22組水工隧洞工程施工成本數據,利用PSO算法對SVM的參數尋優,得到最優C值為2.426 5,最優g值為0.010 0,建立了基于PSO-SVM的水工隧洞成本預測模型,在Matlab平臺上進行預測,得到其MAPE為4.98%,RMSE為1 819.55萬元。預測結果表明,與SVM相比,PSO-SVM算法能夠在較短的時間內更精確地預測出項目成本,且PSO-SVM模型具有較高的泛化性能。 參考文獻: [1] 秦中伏,雷小龍,翟東,等.基于SVM和LS-SVM的住宅工程造價預測研究[J].浙江大學學報(理學版),2016,43(3):357-363. [2] ZHANG Y,FANG 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的輸電塔結構基礎施工成本預測[J].施工技術,2016,45(12):100-102,114. [4] 喬國華,郭路遙,吳一敵,等.基于遺傳優化最小二乘支持向量機的變電站全壽命周期成本預測模型[J].中國電力,2015,48(11):142-148. [5] 劉颯,萬壽義.高新技術企業研發成本的預測模型及方法探討[J].大連理工大學學報(社會科學版),2021,42(2):42-49. [6] 黃敏,吳立,姚沅.基于支持向量機-粒子群算法的山區公路隧道造價預測[J].公路,2015,60(7):285-288. [7] 高昆侖,劉建明,徐茹枝,等.基于支持向量機和粒子群算法的信息網絡安全態勢復合預測模型[J].電網技術,2011,35(4):176-182. [8] 劉必君,葉雨辰.基于棧式降噪自動編碼器的建筑工程施工成本預測[J].同濟大學學報(自然科學版),2020,48(6):922-928. [9] 王穎慧,蘇懷智.基于PCA-GWO-SVM的大壩變形預測[J].人民黃河,2020,42(11):130-134. [10] 盧睿,李學偉.工程建筑企業投標中的項目成本預測研究[J].鐵道工程學報,2016,33(6):104-109. [11] 李萬慶,陳佳琪,孟文清,等.基于BSA-ELM模型的建筑工程施工成本預測研究[J].數學的實踐與認識,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大壩安全監控模型[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. 【責任編輯 張華巖】