李北振
(中國交通建設集團煙臺環保疏浚有限公司,山東 煙臺 264000)
工程項目投資估算是進行項目可行性研究的重要內容,投資估算的準確性將直接影響投資者的投資決策和項目經濟效益評價的質量[1]。在工程項目的可行性研究階段,工程資料的缺失致使很難通過定額法進行投資估算[2]。水電工程項目的投資者也希望對項目的投資額進行有效地控制[3]。因此,建立一種快速、高效、可行的用于工程項目建設前期的投資估算方法具有深遠意義[4]。有學者采用多元線性回歸方法建立估算模型[5- 6],但是隨著工程項目施工過程的日益復雜,工程投資額與其影響因素之間開始呈現非線性映射的特點[7],這給機器學習算法的應用提供了機會。部分學者已成功將其應用于住宅、綜合管廊、橋梁等工程的投資估算中[8- 10]。在水利工程中,主要應用在徑流預測、水輪發電機組信號振動故障預報等領域[11- 12],學者對于使用該類方法進行投資估算的研究較少,缺乏構建水利工程投資估算指標體系的方法,也存在應該如何選擇機器學習方法的問題。基于上述分析,本文綜合運用多種降維方法篩選得到模型的輸入向量,得到構建水利工程投資費用估算指標體系的方法,對2種機器學習算法所構建的模型的性能進行比較分析,為將機器學習算法引入水利工程投資估算領域提供參考。
人工神經網絡是通過模擬人的大腦而建立起來的一種機器學習方法,其在預測估算領域具有很強的應用潛力。本文使用神經網絡中結構較為簡單的BP神經網絡構建模型,其拓撲結構包含輸入層、隱含層和輸出層3部分。網絡結構的選擇主要包括輸入向量和輸出向量的確定、隱含層數目的確定以及隱含層節點數的選擇,本文選擇試錯法確定相關參數。
支持向量機算法由Vapnilk等人于20世紀60年代提出,其理論基礎是統計學習理論。在高維特征空間中,輸出結果與輸入數據之間的關系可由下式所示的函數關系式表達:
f(x)=ω·Φ(x)+b
(1)
式中,Φ(x)—非線性映射函數;ω—權向量;b—偏置量,由結構風險最小化原理確定。
引入ε線性不敏感損失函數,松弛變量ξi、ξi*(ξi,ξi*≥0)和拉格朗日函數,求解后得到回歸函數:

表1 施工臨時工程費輸入向量篩選及冗余處理結果表

(2)
式中,αi,αi*—拉格朗日系數( 0≤αi,αi*≤C);K(xi,xj)—核函數,其表達式為K(xi,xj)=Φ(xi)TΦ(xj)。
由此可知,正則化參數C、核函數K及其參數和不敏感系數ε是模型的重要參數,將對預測結果產生影響。本文采用交叉驗證法和試錯法確定各參數取值。
本文以水庫除險加固工程投資費用中的臨時施工費為研究對象。《水利工程設計概(估)算編制規定》(水總[2014]429號)中指出,投資估算可以通過對設計概算編制規定的內容進行適當簡化、合并或調整得到。因此,通過對工程項目概預算書的分析,結合《水利建筑工程概算定額》,選擇因素費用占總投資額比率較大和因素完整度較高的因素作為初步篩選的輸入向量,結果見表1。
對初步篩選得到的估算指標進行冗余處理的目的是為了降低模型輸入向量的維度,避免所構建的模型陷入“維數災難”,同時冗余處理后的指標應該是對投資額影響程度較大的指標。基于上述分析,本文綜合運用3種方法進行輸入向量的冗余處理:使用SPSS22軟件進行主成分分析和因子分析,因子旋轉采用方差最大法,以累計貢獻率大于85%為指標選取主成分和因子。在分析過程中,只考察各輸入向量是否被新的主成分和因子所提取;使各指標在±20%范圍內變動,計算得到各指標的敏感性系數,具體結果見表1。
根據2.1和2.2的計算結果,價格占比以3%為界,因素完整度以50%為界,敏感性系數以0.05為界,主成分分析系數以0.5為界,因子分析系數以0.8為界,剔除冗余因素。由于按計算規則,辦公及福利費和其他臨時工程費應由估算值乘以相應的百分率得到,因此,不將其作為參與模型構建的輸入向量,而是在得到滿足精度要求的投資估算值后再乘以相應的百分率得到。最終的輸入向量結果見表2。

表2 水庫除險加固工程施工臨時工程費估算模型輸入向量結果表
數據預處理的目的是將所收集到的樣本數據轉換為可供建模使用的樣本數據集。首先檢查原始數據信息,剔除有數據缺失的樣本,取其中85%的樣本構成訓練集,其余樣本為測試集。同時,為避免數據由于量綱不同對模型權重分配的準確性和各分量自我調節的能力造成影響,進而影響模型估算精度,采用最大最小化方法對樣本數據進行歸一化處理,處理后的樣本數據區間為[0,1]。
本文以2.3確定的投資影響因素指標體系為輸入向量,以各工程的投資估算值為輸出向量,以訓練集樣本為建模數據,運用試錯法確定參數取值,分別構建基于2種機器學習算法的估算模型。將測試集樣本數據輸入模型,得到測試集各工程的投資費用估算值。上述過程使用MATLAB軟件編程實現。
采用平均相對誤差(MRE)、均方誤差(MSE)和決定系數(R2)指標對模型的估算性能進行評價,各指標計算結果見表3。

表3 模型結果對比分析表
從表3可分析得出,使用BP神經網絡算法和支持向量機算法構建的投資估算模型,均可以滿足目前我國對可行性研究階段投資估算精度(±20%)的要求,因此將機器學習方法應用于構建水利工程項目投資估算模型具有可行性。
通過對2種機器學習方法估算結果的比較可知:從估算精度角度看,基于SVM算法的投資估算模型要優于基于BP神經網絡算法的估算模型。同時,基于SVM的估算模型的MSE和R2指標也較優,因此其具有更好的估算性能。
本文通過構建基于機器學習的投資估算模型,證明了將機器學習方法應用于構建水庫除險加固工程投資估算模型具有可行性,并比較了由2種機器學習方法所構建的估算模型的性能,同時探索了模型輸入向量的確定方法,具體研究結論如下:
(1)從預測結果精度角度分析,基于BP神經網絡算法和支持向量機算法構建的投資估算模型均滿足目前在可行性研究階段對工程項目進行投資估算的精度要求,因此將機器學習方法應用于構建水利工程投資估算模型具有可行性。綜合考慮平均相對誤差、均方誤差和決定系數等評價指標,基于支持向量機算法構建的投資估算模型具有更優的性能。
(2)在構建投資估算指標體系即模型的輸入向量時,可以在充分分析工程項目特點的基礎上,根據《水利建筑工程概算定額》初步得到估算指標,再運用敏感性分析方法分析各指標對投資額的影響程度,使用主成分分析及因子分析方法對指標進行降維處理,進而得到經過冗余處理的模型輸入向量,該方法既能夠降低模型輸入向量的維度,同時能夠保證模型的精度。