李北振
(中國交通建設(shè)集團煙臺環(huán)保疏浚有限公司,山東 煙臺 264000)
工程項目投資估算是進行項目可行性研究的重要內(nèi)容,投資估算的準(zhǔn)確性將直接影響投資者的投資決策和項目經(jīng)濟效益評價的質(zhì)量[1]。在工程項目的可行性研究階段,工程資料的缺失致使很難通過定額法進行投資估算[2]。水電工程項目的投資者也希望對項目的投資額進行有效地控制[3]。因此,建立一種快速、高效、可行的用于工程項目建設(shè)前期的投資估算方法具有深遠意義[4]。有學(xué)者采用多元線性回歸方法建立估算模型[5- 6],但是隨著工程項目施工過程的日益復(fù)雜,工程投資額與其影響因素之間開始呈現(xiàn)非線性映射的特點[7],這給機器學(xué)習(xí)算法的應(yīng)用提供了機會。部分學(xué)者已成功將其應(yīng)用于住宅、綜合管廊、橋梁等工程的投資估算中[8- 10]。在水利工程中,主要應(yīng)用在徑流預(yù)測、水輪發(fā)電機組信號振動故障預(yù)報等領(lǐng)域[11- 12],學(xué)者對于使用該類方法進行投資估算的研究較少,缺乏構(gòu)建水利工程投資估算指標(biāo)體系的方法,也存在應(yīng)該如何選擇機器學(xué)習(xí)方法的問題?;谏鲜龇治?,本文綜合運用多種降維方法篩選得到模型的輸入向量,得到構(gòu)建水利工程投資費用估算指標(biāo)體系的方法,對2種機器學(xué)習(xí)算法所構(gòu)建的模型的性能進行比較分析,為將機器學(xué)習(xí)算法引入水利工程投資估算領(lǐng)域提供參考。
人工神經(jīng)網(wǎng)絡(luò)是通過模擬人的大腦而建立起來的一種機器學(xué)習(xí)方法,其在預(yù)測估算領(lǐng)域具有很強的應(yīng)用潛力。本文使用神經(jīng)網(wǎng)絡(luò)中結(jié)構(gòu)較為簡單的BP神經(jīng)網(wǎng)絡(luò)構(gòu)建模型,其拓撲結(jié)構(gòu)包含輸入層、隱含層和輸出層3部分。網(wǎng)絡(luò)結(jié)構(gòu)的選擇主要包括輸入向量和輸出向量的確定、隱含層數(shù)目的確定以及隱含層節(jié)點數(shù)的選擇,本文選擇試錯法確定相關(guān)參數(shù)。
支持向量機算法由Vapnilk等人于20世紀60年代提出,其理論基礎(chǔ)是統(tǒng)計學(xué)習(xí)理論。在高維特征空間中,輸出結(jié)果與輸入數(shù)據(jù)之間的關(guān)系可由下式所示的函數(shù)關(guān)系式表達:
f(x)=ω·Φ(x)+b
(1)
式中,Φ(x)—非線性映射函數(shù);ω—權(quán)向量;b—偏置量,由結(jié)構(gòu)風(fēng)險最小化原理確定。
引入ε線性不敏感損失函數(shù),松弛變量ξi、ξi*(ξi,ξi*≥0)和拉格朗日函數(shù),求解后得到回歸函數(shù):
表1 施工臨時工程費輸入向量篩選及冗余處理結(jié)果表
(2)
式中,αi,αi*—拉格朗日系數(shù)( 0≤αi,αi*≤C);K(xi,xj)—核函數(shù),其表達式為K(xi,xj)=Φ(xi)TΦ(xj)。
由此可知,正則化參數(shù)C、核函數(shù)K及其參數(shù)和不敏感系數(shù)ε是模型的重要參數(shù),將對預(yù)測結(jié)果產(chǎn)生影響。本文采用交叉驗證法和試錯法確定各參數(shù)取值。
本文以水庫除險加固工程投資費用中的臨時施工費為研究對象?!端こ淘O(shè)計概(估)算編制規(guī)定》(水總[2014]429號)中指出,投資估算可以通過對設(shè)計概算編制規(guī)定的內(nèi)容進行適當(dāng)簡化、合并或調(diào)整得到。因此,通過對工程項目概預(yù)算書的分析,結(jié)合《水利建筑工程概算定額》,選擇因素費用占總投資額比率較大和因素完整度較高的因素作為初步篩選的輸入向量,結(jié)果見表1。
對初步篩選得到的估算指標(biāo)進行冗余處理的目的是為了降低模型輸入向量的維度,避免所構(gòu)建的模型陷入“維數(shù)災(zāi)難”,同時冗余處理后的指標(biāo)應(yīng)該是對投資額影響程度較大的指標(biāo)?;谏鲜龇治?,本文綜合運用3種方法進行輸入向量的冗余處理:使用SPSS22軟件進行主成分分析和因子分析,因子旋轉(zhuǎn)采用方差最大法,以累計貢獻率大于85%為指標(biāo)選取主成分和因子。在分析過程中,只考察各輸入向量是否被新的主成分和因子所提??;使各指標(biāo)在±20%范圍內(nèi)變動,計算得到各指標(biāo)的敏感性系數(shù),具體結(jié)果見表1。
根據(jù)2.1和2.2的計算結(jié)果,價格占比以3%為界,因素完整度以50%為界,敏感性系數(shù)以0.05為界,主成分分析系數(shù)以0.5為界,因子分析系數(shù)以0.8為界,剔除冗余因素。由于按計算規(guī)則,辦公及福利費和其他臨時工程費應(yīng)由估算值乘以相應(yīng)的百分率得到,因此,不將其作為參與模型構(gòu)建的輸入向量,而是在得到滿足精度要求的投資估算值后再乘以相應(yīng)的百分率得到。最終的輸入向量結(jié)果見表2。
表2 水庫除險加固工程施工臨時工程費估算模型輸入向量結(jié)果表
數(shù)據(jù)預(yù)處理的目的是將所收集到的樣本數(shù)據(jù)轉(zhuǎn)換為可供建模使用的樣本數(shù)據(jù)集。首先檢查原始數(shù)據(jù)信息,剔除有數(shù)據(jù)缺失的樣本,取其中85%的樣本構(gòu)成訓(xùn)練集,其余樣本為測試集。同時,為避免數(shù)據(jù)由于量綱不同對模型權(quán)重分配的準(zhǔn)確性和各分量自我調(diào)節(jié)的能力造成影響,進而影響模型估算精度,采用最大最小化方法對樣本數(shù)據(jù)進行歸一化處理,處理后的樣本數(shù)據(jù)區(qū)間為[0,1]。
本文以2.3確定的投資影響因素指標(biāo)體系為輸入向量,以各工程的投資估算值為輸出向量,以訓(xùn)練集樣本為建模數(shù)據(jù),運用試錯法確定參數(shù)取值,分別構(gòu)建基于2種機器學(xué)習(xí)算法的估算模型。將測試集樣本數(shù)據(jù)輸入模型,得到測試集各工程的投資費用估算值。上述過程使用MATLAB軟件編程實現(xiàn)。
采用平均相對誤差(MRE)、均方誤差(MSE)和決定系數(shù)(R2)指標(biāo)對模型的估算性能進行評價,各指標(biāo)計算結(jié)果見表3。
表3 模型結(jié)果對比分析表
從表3可分析得出,使用BP神經(jīng)網(wǎng)絡(luò)算法和支持向量機算法構(gòu)建的投資估算模型,均可以滿足目前我國對可行性研究階段投資估算精度(±20%)的要求,因此將機器學(xué)習(xí)方法應(yīng)用于構(gòu)建水利工程項目投資估算模型具有可行性。
通過對2種機器學(xué)習(xí)方法估算結(jié)果的比較可知:從估算精度角度看,基于SVM算法的投資估算模型要優(yōu)于基于BP神經(jīng)網(wǎng)絡(luò)算法的估算模型。同時,基于SVM的估算模型的MSE和R2指標(biāo)也較優(yōu),因此其具有更好的估算性能。
本文通過構(gòu)建基于機器學(xué)習(xí)的投資估算模型,證明了將機器學(xué)習(xí)方法應(yīng)用于構(gòu)建水庫除險加固工程投資估算模型具有可行性,并比較了由2種機器學(xué)習(xí)方法所構(gòu)建的估算模型的性能,同時探索了模型輸入向量的確定方法,具體研究結(jié)論如下:
(1)從預(yù)測結(jié)果精度角度分析,基于BP神經(jīng)網(wǎng)絡(luò)算法和支持向量機算法構(gòu)建的投資估算模型均滿足目前在可行性研究階段對工程項目進行投資估算的精度要求,因此將機器學(xué)習(xí)方法應(yīng)用于構(gòu)建水利工程投資估算模型具有可行性。綜合考慮平均相對誤差、均方誤差和決定系數(shù)等評價指標(biāo),基于支持向量機算法構(gòu)建的投資估算模型具有更優(yōu)的性能。
(2)在構(gòu)建投資估算指標(biāo)體系即模型的輸入向量時,可以在充分分析工程項目特點的基礎(chǔ)上,根據(jù)《水利建筑工程概算定額》初步得到估算指標(biāo),再運用敏感性分析方法分析各指標(biāo)對投資額的影響程度,使用主成分分析及因子分析方法對指標(biāo)進行降維處理,進而得到經(jīng)過冗余處理的模型輸入向量,該方法既能夠降低模型輸入向量的維度,同時能夠保證模型的精度。