陳小波 ,張媛媛 ,崔 平
(1. 東北財(cái)經(jīng)大學(xué) 投資工程管理學(xué)院,遼寧 大連 116025,E-mail:xiaobo9017@163.com;2. 東北財(cái)經(jīng)大學(xué) 投資工程管理學(xué)院工程管理研究中心,遼寧 大連 116025;3. 中建二局熊兵勞模創(chuàng)新工作室,北京 100160)
建設(shè)工程項(xiàng)目具有復(fù)雜性、單件性、長期性的特點(diǎn),工程項(xiàng)目投資估算是項(xiàng)目投資決策的重要依據(jù),是指在整個(gè)投資決策過程中,依據(jù)現(xiàn)有資料和一定的方法,對建設(shè)項(xiàng)目的投資額進(jìn)行的估計(jì)[1]。建設(shè)項(xiàng)目前期成本估算的準(zhǔn)確性對于項(xiàng)目的投資決策有著直接的影響,也是項(xiàng)目建設(shè)過程順利進(jìn)行的重要基礎(chǔ)。因此,深入研究建設(shè)項(xiàng)目成本估算方法,建立一個(gè)高效科學(xué)的投資估算模型,對于建設(shè)項(xiàng)目前期的投資決策等一系列活動具有非常重大的意義。
建設(shè)項(xiàng)目的投資成本估算,可以看作是利用數(shù)學(xué)或者計(jì)算機(jī)建立模型并進(jìn)行求解的過程,目前很多國內(nèi)外學(xué)者對工程項(xiàng)目的快速投資估算方法進(jìn)行了研究,國外大致分為4個(gè)階段:英國工程造價(jià)信息服務(wù)部提出的 BCIS預(yù)測模型[2]、英國數(shù)學(xué)家Kouskoulas等[3]給出的模型—線性回歸方程、以計(jì)算機(jī)軟件系統(tǒng)和概率分析為基礎(chǔ)的Monte Carlo隨機(jī)估算模型[4]、應(yīng)用人工智能的,如神經(jīng)網(wǎng)絡(luò)、優(yōu)化算法[5]等工程造價(jià)預(yù)測模型。我國的發(fā)展進(jìn)程相對滯后,最早使用的建設(shè)項(xiàng)目投資估算方法,主要是采用擬建工程與已建工程的相似程度進(jìn)行類比得出擬建過程的估算造價(jià),有生產(chǎn)能力指數(shù)法、朗格系數(shù)法等,最近幾年來一些利用人工智能的估算方法,比如人工神經(jīng)網(wǎng)絡(luò)、灰色預(yù)測模型、模糊數(shù)學(xué)法等也在逐漸推廣并實(shí)現(xiàn)優(yōu)化,這在一定程度上大大提高了估算的準(zhǔn)確度,也節(jié)省了不少項(xiàng)目建設(shè)前期的寶貴時(shí)間。田雨晴[6]分別運(yùn)用 GM(1,1)模型、BP神經(jīng)網(wǎng)絡(luò)法、灰色系統(tǒng)理論優(yōu)化的BP人工神經(jīng)網(wǎng)絡(luò)建立估算模型,并采用實(shí)例進(jìn)行預(yù)測,最后驗(yàn)證改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)模型是有效可行的,蔣紅妍等[7]采用灰關(guān)聯(lián)分析與粒子群優(yōu)化的 BP神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法,構(gòu)建基于灰關(guān)聯(lián)的 PSO-BP神經(jīng)網(wǎng)絡(luò)的高層住宅造價(jià)估算模型,王佼等[8]提出用灰關(guān)聯(lián)分析篩選工程造價(jià)影響因素,再使用PSO優(yōu)化的SVR模型進(jìn)行優(yōu)化,從而建立PSO-SVR輸電工程造價(jià)模型。
以上研究在一定程度上豐富了投資估算的方法模型,提高了預(yù)測的準(zhǔn)確度。然而對于造價(jià)指標(biāo)的篩選,多數(shù)都是來源于文獻(xiàn)歸納與專家訪談,篩選方法不夠智能與科學(xué),對于所提出模型的有效性也缺少對比證實(shí)。因此,本文在對影響工程造價(jià)的特征指標(biāo)篩選時(shí)選用統(tǒng)計(jì)分析軟件 SPSS,之后使用Matlab建立基于SVR的工程建設(shè)項(xiàng)目投資智能估算模型,為了說明本文提出模型的預(yù)測準(zhǔn)確性,建立BP人工神經(jīng)網(wǎng)絡(luò)成本預(yù)測模型以實(shí)例來驗(yàn)證SVR模型的有效性并進(jìn)行預(yù)測結(jié)果對比。提出的模型可以作為實(shí)際工程項(xiàng)目投資估算的輔助計(jì)算,進(jìn)而為項(xiàng)目的投資決策提供合理依據(jù)。
支持向量機(jī)(Support Vector Machines,SVM)理論是在統(tǒng)計(jì)學(xué)習(xí)理論中發(fā)展起來的一種通用學(xué)習(xí)方法[9]。機(jī)近年來引起了人們的廣泛關(guān)注,該學(xué)習(xí)理論可作為多項(xiàng)式、徑向基函數(shù)和多層感知分類器的替代訓(xùn)練技術(shù),這種新的計(jì)算機(jī)訓(xùn)練技術(shù)與傳統(tǒng)訓(xùn)練技術(shù)相比可以有效地減小理論誤差的上界。
支持向量機(jī)是針對一般的估計(jì)和預(yù)測問題而開發(fā)的,除了使用支持向量機(jī)分類,還可以用來進(jìn)行函數(shù)回歸的擬合,即 SVR(Support Vector Regression)。SVR的目標(biāo)是通過最小化預(yù)測誤差,從而找到一個(gè)能夠很好地逼近訓(xùn)練實(shí)例的函數(shù),并且在誤差最小化時(shí),最大化函數(shù)的平整度來降低擬合的風(fēng)險(xiǎn)。
支持向量機(jī)回歸(SVR)是指用線性函數(shù)g(x)=wx+b來擬合樣本數(shù)據(jù)(xi,yi),i=1,2,…,n,xi∈Rd,yi∈R,在控制擬合精度ε的情況下,假設(shè)所有的樣本數(shù)據(jù)都可以視為沒有誤差地用以下線性函數(shù)來表示[10],
常數(shù)C>0同樣是對超出ε的樣本懲罰程度的控制,因此,問題可以轉(zhuǎn)化為:
其中,αi,為Lagrange因子,并最終得到回歸函數(shù)為:
這就是用支持 SVR進(jìn)行函數(shù)回歸擬合的數(shù)學(xué)過程。
SVR目前在理論上的研究較為豐富,而在實(shí)踐中的應(yīng)用研究則相對較少。對于支持向量機(jī)的研究,更多集中在傳統(tǒng)的分類和模式識別的功能上,而非線性函數(shù)回歸擬合這個(gè)功能,實(shí)踐應(yīng)用上的發(fā)掘不多,應(yīng)用于工程實(shí)踐問題中更是少之又少。因此,本文重點(diǎn)探索 SVR在快速投資估算方法中的應(yīng)用,并與BP人工神經(jīng)網(wǎng)絡(luò)對比以驗(yàn)證SVR模型的有效性。
本文選取了某市建設(shè)工程造價(jià)網(wǎng)所公布的 44組單項(xiàng)工程造價(jià)指標(biāo)具體案例,由于涉及的屬性繁多,通過閱讀大量文獻(xiàn)并結(jié)合專家經(jīng)驗(yàn)對指標(biāo)合并,初步選取以下18個(gè)工程特征指標(biāo):建筑面積、工程用途、質(zhì)量等級、結(jié)構(gòu)類型、基礎(chǔ)類型、門窗類型、砌體類型、土石方、基礎(chǔ)與樁基礎(chǔ)、砌筑工程、屋面防水保溫、砼、鋼筋工程、墻柱面工程、門窗工程、樓地面、天棚、部分措施項(xiàng)目(含模板、腳手架、垂直運(yùn)輸機(jī)械、安全文明施工費(fèi)),來建立工程特征指標(biāo)體系。
以上確立的指標(biāo)體系同時(shí)包含定性指標(biāo)與定量指標(biāo)兩類。定量指標(biāo)主要包括建筑面積等可以直接將原始數(shù)據(jù)輸入模型進(jìn)行處理的指標(biāo),而對于工程用途、質(zhì)量等級、結(jié)構(gòu)類型、基礎(chǔ)類型、砌體類型、門窗類型這幾項(xiàng)不能用數(shù)字來表示的定性特征指標(biāo),依據(jù)該工程特征對平米造價(jià)大小影響的程度,按從小到大的順序排序,從而進(jìn)行量化處理[11],如表1所示。
表1 定性指標(biāo)的量化處理
由于不同工程特征指標(biāo)的量綱不同,因此需要將各指標(biāo)進(jìn)行標(biāo)準(zhǔn)化處理,以消除不同特征指標(biāo)量綱之間的差異性。本文對搜集的 44個(gè)工程造價(jià)案例的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,具體由 Matlab自帶的mapminmax函數(shù)來實(shí)現(xiàn),從而實(shí)現(xiàn)將數(shù)據(jù)歸一化到[-1,1]之間的數(shù),標(biāo)準(zhǔn)化的具體公式如下:
如果某行的數(shù)據(jù)全部相同,即xmax=xmin,除數(shù)為0,此時(shí)數(shù)據(jù)不變。
數(shù)據(jù)約簡是指“壓縮”原有龐大的數(shù)據(jù)集以獲得一個(gè)精簡的數(shù)據(jù)集合,同時(shí)保持原有數(shù)據(jù)集的完整性,使得數(shù)據(jù)挖掘效率更高,精簡前后數(shù)據(jù)挖掘結(jié)果基本相同。本文指標(biāo)特征的選擇,屬于屬性約簡,即維數(shù)的約簡,使用統(tǒng)計(jì)分析軟件SPSS的相關(guān)性分析來進(jìn)行工程特征指標(biāo)的約簡,將 44個(gè)案例的工程造價(jià)指標(biāo)數(shù)據(jù)導(dǎo)入 SPSS,使用主成分分析功能,將平米造價(jià)設(shè)置為因變量,其余 18個(gè)特征指標(biāo)作為自變量,得到 19個(gè)因素的相關(guān)性系數(shù)矩陣,本文主要采用SPSS軟件的Pearson相關(guān)系數(shù)來解決變量冗余的問題,相關(guān)系數(shù)的數(shù)學(xué)定義為:
式中,n為樣本數(shù);xi和yi分別是變量的值;r是兩個(gè)變量之間的相關(guān)度,-1?r≤1,如果r=0則代表二者不存在相關(guān)關(guān)系,r>0則代表二者存在正相關(guān)關(guān)系,|r|越大,表示因變量與自變量之間的相關(guān)程度越大。
本文的因變量(平米造價(jià))與自變量之間的相關(guān)性如圖1所示。
圖1 因變量與自變量相關(guān)性
為了保證模型預(yù)測的準(zhǔn)確性,需要選取適量的與因變量相關(guān)程度較大的指標(biāo)。在篩選指標(biāo)時(shí),考慮到相關(guān)性定的太高滿足條件的的指標(biāo)數(shù)量太少,不能夠精確預(yù)測因變量,相關(guān)性定的太低又不能達(dá)到篩選有代表性指標(biāo)的目的,導(dǎo)致指標(biāo)冗余繁多,根據(jù)以上原則,經(jīng)過多次調(diào)試,本文擬定選取相關(guān)性在0.3以上的工程特征指標(biāo),恰好可以滿足指標(biāo)數(shù)量選取的原則。據(jù)此標(biāo)準(zhǔn)最終按照相關(guān)性大小排序,依次選取前 12個(gè)指標(biāo)作為本文所建立模型的輸入指標(biāo)。
不同核函數(shù)類型對于模型性能的好壞有直接的影響,因此需要選擇最佳的核函數(shù)類型。本文通過多次試驗(yàn),在模型中采用的是 RBF核函數(shù)與其他核函數(shù)相比來說,RBF核函數(shù)對應(yīng)模型具有的泛化性能是最佳的。
采用RBF核函數(shù)以后,模型訓(xùn)練階段的主要任務(wù)是確定參數(shù)c(懲罰因子)和 g(RBF內(nèi)核的方差)。如果是第一次運(yùn)行,上述兩個(gè)參數(shù)的值可以任意定義。但是,如果重復(fù)多次,優(yōu)化訓(xùn)練參數(shù)的步驟就會開始工作。本文所采用的訓(xùn)練參數(shù)優(yōu)化算法是利用Matlab工具箱中優(yōu)化工具箱的功能。對于參數(shù)c和g的搜尋,本文主要采用交叉驗(yàn)證技術(shù),具體應(yīng)用是指首先用該方法來尋找最佳的參數(shù)c和g,然后使用尋找到的參數(shù)組合來訓(xùn)練本文的模型。如果此時(shí)模型的性能大致相近,為了達(dá)到快速建模的目的、減少迭代次數(shù),首先考慮的便是c參數(shù)較小的參數(shù)組合,此外,在模型建立時(shí)也需要預(yù)先設(shè)定ε的值。
使用libsvm工具箱在訓(xùn)練模型時(shí),需要用到交叉驗(yàn)證方法,交叉驗(yàn)證是一種著名的估計(jì)泛化誤差的技術(shù)[12]。libsvm的k次交叉驗(yàn)證將訓(xùn)練樣本平均分為k個(gè)部分,每次以k-1個(gè)部分作為訓(xùn)練數(shù)據(jù),其余的部分作為測試數(shù)據(jù)。重復(fù)k次,得到k次交叉驗(yàn)證的平均精度。
在支持向量機(jī)的回歸問題中,交叉驗(yàn)證使用SVMtrain的-V參數(shù),返回交叉驗(yàn)證下的平均均方根誤差。此外,還可以快速找到最佳參數(shù)c和g。最終建立的SVR模型如圖2所示[13]。
圖2 SVR模型
本文使用的 44組案例數(shù)據(jù)均來源于實(shí)際的工程項(xiàng)目,數(shù)據(jù)搜集不易,為了充分利用案例數(shù)據(jù),更全面地捕捉案例數(shù)據(jù)的特征,以便達(dá)到更好的預(yù)測效果,需要對案例數(shù)據(jù)進(jìn)行插值來完成樣本擴(kuò)充。本文所用的插值方法是采用Matlab自帶的均分計(jì)算函數(shù) linspace,在案例數(shù)據(jù)的最大值與最小值之間等距進(jìn)行插值,插值數(shù)量設(shè)置為 100,由此生成100個(gè)新的樣本數(shù)據(jù),再加上原有44個(gè)案例數(shù)據(jù),總計(jì)144個(gè)樣本數(shù)據(jù)。為不失一般性,采用Matlab中的 randperm函數(shù)隨機(jī)劃分 115個(gè)樣本作為訓(xùn)練集,剩余的29個(gè)樣本作為測試集。
使用Matlab編寫程序建立SVR模型,模型中核函數(shù)類型采用RBF核函數(shù)用隨機(jī)劃分好的115個(gè)訓(xùn)練集樣本訓(xùn)練該模型。訓(xùn)練過程中交叉驗(yàn)證技術(shù)會自動調(diào)試SVR模型參數(shù)c和 g,并對參數(shù)進(jìn)行尋找最優(yōu),等到模型訓(xùn)練到誤差最小、性能最佳之后程序便自動開始測試集樣本的預(yù)測過程,最終得出訓(xùn)練集的訓(xùn)練效果和測試集的預(yù)測效果。由于測試集的預(yù)測效果代表的是最終模型性能的好壞,因此在這里給出測試集預(yù)測結(jié)果(測試集真實(shí)值和預(yù)測值的對比),如圖 3所示??芍琒VR模型的擬合優(yōu)度R2高達(dá) 0.97,均方誤差 MSE僅有 0.0032,平均絕對百分比誤差 MAPE約為5%,模型的預(yù)測誤差很低,說明該SVR模型具有良好泛化能力和預(yù)測精度,預(yù)測結(jié)果比較滿意。
圖3 SVR模型預(yù)測結(jié)果
為了有效驗(yàn)證 SVR模型的預(yù)測性能,本文采取BP人工神經(jīng)網(wǎng)絡(luò)(BPNN)建立的預(yù)測模型作為對照模型。BP神經(jīng)網(wǎng)絡(luò)采用誤差反向傳播算法(Error Back Propagation)進(jìn)行學(xué)習(xí),學(xué)習(xí)算法主要是快速下降法[14]。
在建立BPNN預(yù)測模型時(shí),需要提前設(shè)置好各種網(wǎng)絡(luò)所需參數(shù):
(1)網(wǎng)絡(luò)層數(shù)的確定。根據(jù)相關(guān)研究,當(dāng)BP神經(jīng)網(wǎng)絡(luò)的隱含層數(shù)為1時(shí),幾乎所有的連續(xù)函數(shù)都可以被擬合出來,只有當(dāng)需要去擬合的函數(shù)為非連續(xù)性函數(shù)時(shí),此時(shí)所需要的網(wǎng)絡(luò)隱含層數(shù)變?yōu)?2層[11],所以本文建立的BP神經(jīng)網(wǎng)絡(luò)模型只包含一個(gè)隱含層。
(2)各層節(jié)點(diǎn)數(shù)的選擇。BP神經(jīng)網(wǎng)絡(luò)的輸入層和輸出層的節(jié)點(diǎn)數(shù)由案例中的樣本集確定。本文中輸入層節(jié)點(diǎn)數(shù)為12,輸出層節(jié)點(diǎn)數(shù)為1,對于隱含層節(jié)點(diǎn)數(shù)的確定主要是通過逐步嘗試得到當(dāng)隱含層節(jié)點(diǎn)數(shù)為24時(shí),模型訓(xùn)練效果最好。
(3)訓(xùn)練函數(shù)的選擇。BP神經(jīng)網(wǎng)絡(luò)的性能好壞由許多因素決定,比如問題的復(fù)雜程度、權(quán)重、訓(xùn)練集等。為了達(dá)到期望誤差,本文選取 Tan-Sigmoid函數(shù)作為傳遞函數(shù),輸出層函數(shù)選取purelin線性函數(shù),訓(xùn)練函數(shù)選取 traingdm,并選取 LM(Levenberg-Marquardt)算法來改進(jìn)優(yōu)化最速下降BP法,可使誤差收斂速度較快,訓(xùn)練精度較高。
設(shè)置好相關(guān)參數(shù)后,建立并訓(xùn)練BPNN模型,然后使用測試集測試該模型預(yù)測的準(zhǔn)確性,圖4為BPNN進(jìn)程執(zhí)行圖,圖5為BPNN模型的預(yù)測效果。
訓(xùn)練結(jié)果的評價(jià)是對訓(xùn)練得出的模型推廣(或稱泛化)能力進(jìn)行驗(yàn)證。所謂泛化能力是指經(jīng)訓(xùn)練(學(xué)習(xí))后模型的優(yōu)良性能在測試集做出良好表現(xiàn)的能力,通常需要用到 MSE(均方誤差)、MAPE(平均絕對百分比誤差)、R2(可決系數(shù))這 3個(gè)
圖4 BP神經(jīng)網(wǎng)絡(luò)執(zhí)行圖
圖5 BPNN預(yù)測結(jié)果
指標(biāo)來衡量,它們的定義分別是:
如果算出的MSE和MAPE值比較小,則說明該訓(xùn)練模型的泛化能力強(qiáng),反之則說明模型的泛化能力較差,R2是可決系數(shù),用來描述模型擬合的好壞程度。將本文提出的SVR模型和BPNN模型的預(yù)測結(jié)果對比如表2所示、預(yù)測誤差如圖6所示。
表2 SVR 與BPNN的預(yù)測性能對比
由表2可以得出兩個(gè)模型的訓(xùn)練效果,SVR模型的均方誤差MSE僅有0.003181,而BP神經(jīng)網(wǎng)絡(luò)
圖6 預(yù)測誤差對比圖
預(yù)測模型的均方誤差MSE為0.043367,同時(shí)模型訓(xùn)練速度較快,完全滿足預(yù)期目標(biāo)。SVR模型與BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型相比,其平均絕對百分比誤差僅約為5%,遠(yuǎn)小于BP模型約為14%的誤差率,并且其擬合程度R2已達(dá)到 0.9671,均方誤差也很小。由此看來,本文提出的 SVR模型的預(yù)測精度要遠(yuǎn)遠(yuǎn)高于BP神經(jīng)網(wǎng)絡(luò)的預(yù)測模型,可以完全滿足投資決策階段對于估算精度的要求,也表明該模型對建筑業(yè)建設(shè)項(xiàng)目成本估算具有較高的性能適用性。通過使用本文所提出的 SVR成本估算回歸模型,項(xiàng)目經(jīng)理可以做出適當(dāng)?shù)臎Q策來評估建設(shè)項(xiàng)目,特別是在可行性研究中,如此也大大提高工作效率,增加工程建設(shè)項(xiàng)目成功的機(jī)會。
工程建設(shè)項(xiàng)目的投資估算對于一個(gè)項(xiàng)目能否上馬至關(guān)重要,提出科學(xué)有效的估算方法意義重大。本文所提出的建設(shè)項(xiàng)目成本估算模型采用SVR的方法,先使用 SPSS主成分分析功能的 Pearson相關(guān)系數(shù)篩選出工程特征指標(biāo),作為模型的輸入變量,然后利用具有可靠性估計(jì)特點(diǎn)的交叉驗(yàn)證技術(shù)尋找最佳的參數(shù)組合,建立 SVR模型。預(yù)測結(jié)果表明:SVR模型的平均絕對百分比誤差率大約在5%,擬合優(yōu)度約為0.97。建立BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型來驗(yàn)證本文所提出模型的有效性并進(jìn)行結(jié)果對比,得到BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的平均絕對百分比誤差率大約為14%,擬合優(yōu)度約為0.84,這表明SVR模型的泛化能力非常好,顯著強(qiáng)于BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型,具有訓(xùn)練效果更強(qiáng),預(yù)測精度更高,可靠性高、避免過擬合等優(yōu)點(diǎn),同時(shí)使用 SVR模型也避免了BP神經(jīng)網(wǎng)絡(luò)容易陷入局部最優(yōu)這一缺點(diǎn)以及對隨機(jī)初始權(quán)重的敏感性。仿真測試結(jié)果表明,在已有建筑工程歷史數(shù)據(jù)案例的情況下,利用SVR模型進(jìn)行工程造價(jià)估算是可行有效的。進(jìn)一步研究中,需要對模型進(jìn)行深度的優(yōu)化,以提高泛化能力。