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