王德美, 陳 慧, 肖之鴻, 夏松林, 范淑倩, 崔常輝, 張清華
(1. 煙臺(tái)大學(xué) 土木工程學(xué)院, 山東 煙臺(tái) 264005; 2. 廣東海龍建筑科技有限公司, 廣東 深圳 518110;3. 煙臺(tái)天海房地產(chǎn)開(kāi)發(fā)有限公司, 山東 煙臺(tái) 264003)
隨著工程建設(shè)的高速發(fā)展,工程建設(shè)領(lǐng)域各相關(guān)單位都積累了大量的歷史工程建設(shè)數(shù)據(jù),但多數(shù)單位沒(méi)有對(duì)數(shù)據(jù)進(jìn)行充分挖掘利用,存在“數(shù)據(jù)豐富,知識(shí)貧乏”的現(xiàn)象。工程建設(shè)的各項(xiàng)數(shù)據(jù)和指標(biāo)之間存在著千絲萬(wàn)縷的關(guān)系,利用數(shù)據(jù)挖掘技術(shù)深度挖掘隱藏在繁雜數(shù)據(jù)背后的規(guī)律,可以為快速計(jì)價(jià)和工程決策提供數(shù)據(jù)基礎(chǔ)。
建筑工程造價(jià)預(yù)測(cè)最初是通過(guò)概算指標(biāo)估算法[1],分別套用概算指標(biāo)來(lái)估算投資額。然而由于項(xiàng)目相關(guān)數(shù)據(jù)的準(zhǔn)確性較差,且估算指標(biāo)過(guò)于統(tǒng)一,故投資估算的精度較低。統(tǒng)計(jì)分析中的線性回歸方法是比較常見(jiàn)的回歸方法,但這種方法對(duì)異常值較敏感,面對(duì)維度較大、較復(fù)雜數(shù)據(jù)集時(shí)模型性能差[2]?;疑碚摽捎靡越鉀Q“小樣本、貧信息”的問(wèn)題,算法相對(duì)簡(jiǎn)單,屬于一種非線性預(yù)測(cè)方法,但是受初始數(shù)據(jù)序列波動(dòng)較大,對(duì)高維數(shù)據(jù)并不友好,因此預(yù)測(cè)模型的精度較低[3]。隨著信息技術(shù)和機(jī)器學(xué)習(xí)人工智能的不斷發(fā)展,近年來(lái)國(guó)內(nèi)外逐步興起了遺傳算法、人工神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)、極限學(xué)習(xí)機(jī)等機(jī)器學(xué)習(xí)算法。其中人工神經(jīng)網(wǎng)絡(luò)(Artificial Neutral Network,ANN)和支持向量機(jī)算法(Support Vector Machine,SVM)相對(duì)更適合于建筑工程造價(jià)預(yù)測(cè)建模。很多學(xué)者使用人工神經(jīng)網(wǎng)絡(luò)的方式進(jìn)行建筑工程的造價(jià)預(yù)測(cè)研究[4,5],雖然ANN與傳統(tǒng)的統(tǒng)計(jì)方法相比,模型預(yù)測(cè)精度有所改善,但是ANN在大樣本下才能得到較優(yōu)結(jié)果,且ANN容易出現(xiàn)局部最優(yōu)的缺陷。相對(duì)于ANN,SVM在小樣本預(yù)測(cè)領(lǐng)域有獨(dú)特優(yōu)勢(shì)。
本研究利用歷史住宅工程造價(jià)信息進(jìn)行數(shù)據(jù)挖掘,并進(jìn)行造價(jià)預(yù)測(cè)研究和分析。通過(guò)數(shù)據(jù)清洗和異常值篩除得到的有效樣本,分別利用不同的特征指標(biāo)選取方式構(gòu)建SVM模型,選取更為合理的預(yù)測(cè)模型。此外,對(duì)單方造價(jià)、分部分項(xiàng)工程費(fèi)、措施項(xiàng)目費(fèi)等多種費(fèi)用進(jìn)行預(yù)測(cè),探究何種費(fèi)用項(xiàng)預(yù)測(cè)性高,可以用SVM方法得到良好的預(yù)測(cè)結(jié)果,進(jìn)而應(yīng)用于工程實(shí)際。
在通過(guò)機(jī)器學(xué)習(xí)方法進(jìn)行住宅工程各造價(jià)項(xiàng)的預(yù)測(cè)研究時(shí),具備一個(gè)完備的數(shù)據(jù)集是重要前提,實(shí)際上,原始數(shù)據(jù)的搜集和預(yù)處理工作往往占整個(gè)數(shù)據(jù)分析工作的70%以上。本研究的數(shù)據(jù)來(lái)源于廣聯(lián)達(dá)指標(biāo)網(wǎng),陜西省西安市2014—2017年簽約的住宅工程。擬預(yù)測(cè)的造價(jià)項(xiàng)包括含其他項(xiàng)目費(fèi)的單方造價(jià)(指標(biāo)名稱為原單方造價(jià)),不含其他項(xiàng)目費(fèi)的單方造價(jià)(指標(biāo)名稱為單方造價(jià)),以及單位建筑面積的分部分項(xiàng)工程費(fèi)、措施項(xiàng)目費(fèi)、其他項(xiàng)目費(fèi)、規(guī)費(fèi)、稅金等,如表1輸出指標(biāo)所示。結(jié)合文獻(xiàn)調(diào)研及專家訪談,本研究確定了19個(gè)特征指標(biāo)作為造價(jià)預(yù)測(cè)模型的輸入指標(biāo),如表1所示。輸入指標(biāo)又分為定性指標(biāo)和定量指標(biāo)。定量指標(biāo)按原數(shù)值輸入,定性指標(biāo)按表2的編碼方式處理。機(jī)器學(xué)習(xí)中定性指標(biāo)的編碼方式有多種,各有其優(yōu)劣。本文采用特征哈希的思想,對(duì)定性指標(biāo)進(jìn)行編碼,每種定性指標(biāo)的編碼為相鄰的自然數(shù),此外,為了增強(qiáng)哈希特征工程的可解釋性,對(duì)“是否有人防”“抗震烈度”“裝修類別”“外立面裝飾”和“室內(nèi)裝飾”五個(gè)定性指標(biāo),按相應(yīng)各類別造價(jià)由低到高的順序依次進(jìn)行由小到大的編碼,如表2所示。
表1 住宅工程造價(jià)預(yù)測(cè)指標(biāo)
原始數(shù)據(jù)集易出現(xiàn)混亂、不完整、有噪音、數(shù)據(jù)不一致、數(shù)據(jù)冗余、數(shù)據(jù)類型不合理等現(xiàn)象。數(shù)據(jù)的預(yù)處理包括數(shù)據(jù)清洗、數(shù)據(jù)類型轉(zhuǎn)換、異常值處理等工作。在進(jìn)行初步的數(shù)據(jù)清洗剔除無(wú)效樣本后,共保留180條有效樣本,并按表2的方式進(jìn)行定性指標(biāo)的數(shù)據(jù)類型轉(zhuǎn)換。
表2 定性指標(biāo)編碼
除此之外,數(shù)據(jù)預(yù)處理還包括異常值處理。在住宅工程造價(jià)預(yù)測(cè)樣本量很少的情況下,離群點(diǎn)以及異常值的存在對(duì)模型性能的影響非常大。本文采用K均值聚類方法實(shí)現(xiàn)異常值以及離群點(diǎn)的識(shí)別和篩除。K均值聚類可將相似度高的樣本聚在一起,將相似度差距大的樣本分開(kāi),具有收斂速度快,解釋性強(qiáng),聚類效果好的優(yōu)點(diǎn)。但是K均值聚類需要提前確定聚類數(shù)K值,K的取值對(duì)聚類結(jié)果影響較大,因此,在聚類數(shù)未知的情況下,合理確定聚類數(shù)K值是關(guān)鍵。本文借助MATLAB軟件繪制拐點(diǎn)圖的方法合理確定最優(yōu)K值,實(shí)現(xiàn)對(duì)傳統(tǒng)K均值聚類的改進(jìn)。
如圖1所示,橫坐標(biāo)代表聚類數(shù),縱坐標(biāo)D=組內(nèi)平均距離/組間平均距離,由D的定義可知,D越小代表聚類效果越好,但是D過(guò)小,所劃分的類別數(shù)過(guò)多,則其實(shí)際應(yīng)用價(jià)值就會(huì)降低,故K的取值需適宜。根據(jù)肘部法則,圖線突變點(diǎn)的位置為最優(yōu)K值,由圖1可知最優(yōu)K值為10。K值確定后,本研究選用SPSS工具進(jìn)行K均值聚類,聚類結(jié)果如表3,第2~4,7~10類樣本呈零星分布狀態(tài),視為離群點(diǎn),需篩除,保留樣本最為集中的第1,5,6類共160條項(xiàng)目為最終樣本。部分樣本數(shù)據(jù)如表4所示。
圖1 最優(yōu)K值確定
表3 改進(jìn)的K均值聚類結(jié)果
表4 樣本造價(jià)數(shù)據(jù)分布節(jié)選
支持向量機(jī)(SVM)理論是從線性可分情況下的最優(yōu)分類線發(fā)展而來(lái)的[6],作為機(jī)器學(xué)習(xí)領(lǐng)域的經(jīng)典算法,可應(yīng)用于多分類以及回歸問(wèn)題。為了提高SVM的適應(yīng)性,使用軟間隔支持向量機(jī),引入松弛變量。SVM的關(guān)鍵在于核函數(shù),低維空間向量集通常難于劃分,解決的方法是將它們映射到高維空間。核函數(shù)的存在使得SVM算法既能找到最優(yōu)低維向高維的映射方式,又能巧妙降低模型的計(jì)算復(fù)雜度。本文選取的核函數(shù)為非線性支持向量機(jī)常用的徑向基核函數(shù)(Radial Basis Function,RBF),此外,利用SMO(Sequential Minimal Optimization)算法進(jìn)行模型優(yōu)化,以降低模型訓(xùn)練時(shí)間和計(jì)算過(guò)程的復(fù)雜化[7,8]。SVM引入了結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理和核函數(shù),特別適合小樣本工程造價(jià)預(yù)測(cè)。
本研究利用上述160條樣本構(gòu)建SVM模型預(yù)測(cè)單方造價(jià),模型樣本分為訓(xùn)練集和測(cè)試集。預(yù)測(cè)集數(shù)量較小時(shí),容易產(chǎn)生過(guò)擬合問(wèn)題,但是在小樣本的前提下,預(yù)測(cè)集數(shù)量較多又可能造成測(cè)試集“浪費(fèi)”太多的訓(xùn)練數(shù)據(jù),出現(xiàn)欠擬合。因此,選取其中127條數(shù)據(jù)(占比79%)為訓(xùn)練集,33條數(shù)據(jù)(占比21%)為測(cè)試集。
模型結(jié)果分別如圖2,3所示。此處的R2衡量的是回歸方程整體的擬合度,表示預(yù)測(cè)精度。訓(xùn)練集的R2為0.90141,測(cè)試集的R2為0.92836,均為高水平,模型良好。
圖2 SVM訓(xùn)練集單方造價(jià)預(yù)測(cè)結(jié)果對(duì)比
圖3 SVM測(cè)試集單方造價(jià)預(yù)測(cè)結(jié)果對(duì)比
造價(jià)預(yù)測(cè)模型初步建立好之后,通過(guò)啟發(fā)式方法進(jìn)行指標(biāo)的二次確認(rèn),依次將單個(gè)特征指標(biāo)(如建筑外形)和組合指標(biāo)(如地上建筑面積和地下建筑面積)刪除后,重新運(yùn)行程序?qū)Ρ阮A(yù)測(cè)結(jié)果的精度,發(fā)現(xiàn)任何單個(gè)指標(biāo)或組合指標(biāo)的刪除都會(huì)或多或少降低模型精度,尤其是刪除基礎(chǔ)類型指標(biāo),或是刪除地上地下層數(shù),這兩種指標(biāo)的刪除都會(huì)導(dǎo)致模型精度大幅降低,因此現(xiàn)有的指標(biāo)需要全部保留。
為了提高訓(xùn)練和預(yù)測(cè)效率,降維也是數(shù)據(jù)挖掘分析的重要環(huán)節(jié),主成分分析(Principal Component Analysis,PCA)是常用的降維方法,通過(guò)正交變換的方式將原始變量線性組合成幾個(gè)互不相關(guān)的綜合變量,再選出其中少數(shù)幾個(gè)有代表性的綜合變量作為主成分,實(shí)現(xiàn)對(duì)高維變量空間的降維。然而PCA應(yīng)用在回歸中的降維僅僅根據(jù)自變量系統(tǒng)選取出主成分,并不考慮對(duì)因變量的影響程度,導(dǎo)致會(huì)出現(xiàn)在自變量系統(tǒng)中貢獻(xiàn)率低而對(duì)因變量有著重要影響的指標(biāo)會(huì)被誤刪,而在自變量系統(tǒng)中貢獻(xiàn)率高卻對(duì)因變量解釋能力差的指標(biāo)反而被選為主成分等問(wèn)題。偏最小二乘回歸(Partial Least Squares Regression,PLSR)巧妙解決了這個(gè)問(wèn)題,PLSR在主成分分析的基礎(chǔ)上引入了多元線性回歸分析以及典型相關(guān)分析,建立起自變量系統(tǒng)和因變量之間的聯(lián)系,要求所提取的主成分必須對(duì)因變量有最強(qiáng)的解釋性[9,10]。PLSR可用于回歸,也可僅用于指標(biāo)降維。
因此,針對(duì)目前有學(xué)者在研究建筑工程造價(jià)預(yù)測(cè)時(shí),使用PCA降維后的指標(biāo)構(gòu)建SVM預(yù)測(cè)建模的PCA-SVM方法[11,5]。本文提出一種改進(jìn)算法,使用PLSR降維后的指標(biāo)構(gòu)建SVM造價(jià)預(yù)測(cè)模型,即PLSR-SVM。
圖4 主成分貢獻(xiàn)率
圖5 PLSR測(cè)試集預(yù)測(cè)結(jié)果
圖6 PLSR-SVM訓(xùn)練集預(yù)測(cè)結(jié)果
圖7 PLSR-SVM測(cè)試集預(yù)測(cè)結(jié)果
在用上述樣本做PLSR時(shí),當(dāng)主成分?jǐn)?shù)量為10時(shí),PLSR的預(yù)測(cè)精度能達(dá)到最高,為0.29456,如圖4,5所示,此時(shí)的累計(jì)方差貢獻(xiàn)率接近100%,遠(yuǎn)大于85%,可提取。利用得到的10個(gè)綜合指標(biāo)構(gòu)建 SVM模型,得到PLSR-SVM的預(yù)測(cè)結(jié)果,如圖6,7所示,訓(xùn)練集和測(cè)試集的R2分別為0.97496和0.44531。SVM和PLSR-SVM的R2高于PLSR,可看出單獨(dú)利用PLSR方法做造價(jià)預(yù)測(cè)是不可取的,因?yàn)檩斎胫笜?biāo)與輸出指標(biāo)之間并不是單純的線性組合關(guān)系。故接下來(lái)不再單獨(dú)考慮PLSR方法進(jìn)行回歸建模,而是進(jìn)行SVM與PLSR-SVM的進(jìn)一步對(duì)比分析。
將上述基于SVM和PLSR-SVM兩種方法的單方造價(jià)預(yù)測(cè)結(jié)果匯總于表5,各模型評(píng)價(jià)指標(biāo)匯總于表6。其中MSE為損失函數(shù),是衡量平均誤差的指標(biāo),值越小代表預(yù)測(cè)的精度越高。由對(duì)比結(jié)果可知,相對(duì)誤差和絕對(duì)誤差的極差與誤差平方和SSE,均是SVM模型更優(yōu),故SVM魯棒性優(yōu)于PLSR-SVM模型;SVM模型的R2和MSE性能更優(yōu),故SVM模型精度優(yōu)于PLSR-SVM模型。因此,SVM模型的魯棒性和預(yù)測(cè)精度更優(yōu)。PLSR-SVM模型唯一優(yōu)于SVM的一點(diǎn)在于運(yùn)行時(shí)間更短,但是筆者認(rèn)為,在實(shí)際應(yīng)用過(guò)程中,幾秒鐘的時(shí)間差的影響是微乎其微的。故綜合考慮預(yù)測(cè)精度、魯棒性以及運(yùn)行時(shí)間,SVM明顯優(yōu)于PLSR-SVM。
表5 基于SVM和PLSR-SVM模型的預(yù)測(cè)效果對(duì)比
表6 基于SVM和PLSR-SVM模型評(píng)價(jià)
分別利用SVM和PLSR-SVM兩種方法,對(duì)單方造價(jià)、原單方造價(jià)、分部分項(xiàng)工程費(fèi)和措施項(xiàng)目費(fèi)等進(jìn)行預(yù)測(cè),結(jié)果匯總于表7。通過(guò)縱向?qū)Ρ劝l(fā)現(xiàn),利用PLSR-SVM的預(yù)測(cè)精度普遍低于SVM。正如前文所述PCA方法降維的弊端,本研究使用性能更優(yōu)的PLSR方法進(jìn)行降維,卻發(fā)現(xiàn)PLSR-SVM的預(yù)測(cè)性能依然遠(yuǎn)不如原SVM模型,說(shuō)明無(wú)論是PCA還是PLSR進(jìn)行指標(biāo)降維,都是一種線性的指標(biāo)綜合方式,而實(shí)際的特征指標(biāo)與造價(jià)之間是一種復(fù)雜的非線性關(guān)系,故而將特征指標(biāo)進(jìn)行降維后再建立SVM非線性回歸模型,反而使得特征指標(biāo)與輸出指標(biāo)的關(guān)系更混亂,對(duì)預(yù)測(cè)精度及魯棒性造成了惡劣的影響,因此,這樣的特征指標(biāo)降維處理不適用于工程造價(jià)的預(yù)測(cè)。
表7 各費(fèi)用項(xiàng)預(yù)測(cè)結(jié)果對(duì)比
通過(guò)上述分析,原始特征指標(biāo)構(gòu)建的SVM模型更適用于住宅工程造價(jià)預(yù)測(cè),故進(jìn)一步對(duì)表6的各費(fèi)用項(xiàng)的SVM預(yù)測(cè)精度進(jìn)行對(duì)比分析。單方造價(jià)的R2能達(dá)到93%,而原單方造價(jià)僅能達(dá)到38%,差距較大。究其原因,本文定義的原單方造價(jià)中其他工程費(fèi)和其他取費(fèi)是包含在里面的,而其他項(xiàng)目費(fèi)主要包括暫列金額、計(jì)日工和總承包服務(wù)費(fèi),這些費(fèi)用項(xiàng)都是施工合同簽訂時(shí)暫定或暫估的費(fèi)用項(xiàng)目,具有很強(qiáng)的主觀性,規(guī)律性差,可預(yù)測(cè)性差,由表7也可證明利用SVM進(jìn)行其他項(xiàng)目費(fèi)和其他取費(fèi)的預(yù)測(cè)精度極低,在0.2以下。故本文將對(duì)原單方造價(jià)減去其他項(xiàng)目費(fèi)以及其他取費(fèi)后得到的單方造價(jià)進(jìn)行分析,結(jié)果可靠。
此外,分部分項(xiàng)工程費(fèi)的預(yù)測(cè)精度較高,接近0.9,而措施項(xiàng)目費(fèi)、規(guī)費(fèi)、稅金的預(yù)測(cè)精度為0.5左右,精度較低。這是因?yàn)榉植糠猪?xiàng)工程費(fèi)是指構(gòu)成工程實(shí)體的費(fèi)用,與工程特征指標(biāo)之間具有很強(qiáng)的相關(guān)性,而且在當(dāng)今建筑市場(chǎng)競(jìng)爭(zhēng)激烈的情況下,分部分項(xiàng)工程費(fèi)的調(diào)價(jià)空間非常有限,因此,分部分項(xiàng)工程費(fèi)的規(guī)律性強(qiáng),可預(yù)測(cè)性較好。而措施項(xiàng)目費(fèi)是非實(shí)體費(fèi)用,是投標(biāo)報(bào)價(jià)中調(diào)價(jià)最主觀的費(fèi)用項(xiàng)目,因此,在同樣的特征指標(biāo)下,措施項(xiàng)目費(fèi)的預(yù)測(cè)精度遠(yuǎn)遠(yuǎn)低于分部分項(xiàng)工程費(fèi)。而規(guī)費(fèi)和稅金是以分部分項(xiàng)工程費(fèi)、措施項(xiàng)目費(fèi)、其他項(xiàng)目費(fèi)之和按費(fèi)率取費(fèi)的,故規(guī)費(fèi)與稅金的可預(yù)測(cè)性亦較低,不適用于造價(jià)預(yù)測(cè)。
分部分項(xiàng)工程費(fèi)在建安工程費(fèi)中占比較大且相對(duì)穩(wěn)定,也再次證明工程造價(jià)的可預(yù)測(cè)性,進(jìn)而證明利用機(jī)器學(xué)習(xí)方法進(jìn)行工程建設(shè)數(shù)據(jù)挖掘分析的可行性。
本研究通過(guò)進(jìn)行一定的數(shù)據(jù)預(yù)處理,以及對(duì)各造價(jià)預(yù)測(cè)模型結(jié)果進(jìn)行對(duì)比分析得到以下結(jié)論:
(1)本文提出的改進(jìn)的K均值聚類進(jìn)行異常值識(shí)別和篩除是有效的,對(duì)其他研究的異常值處理有一定的借鑒意義;
(2)PLSR是一種很好的線性指標(biāo)降維方法,但并不適用于利用SVM方法進(jìn)行住宅工程造價(jià)預(yù)測(cè)時(shí)的指標(biāo)構(gòu)建過(guò)程,利用原始特征指標(biāo)構(gòu)建的SVM模型,預(yù)測(cè)性能更優(yōu);
(3)措施項(xiàng)目費(fèi)、其他項(xiàng)目費(fèi)等可預(yù)測(cè)性相對(duì)較差,這與工程差異性大,費(fèi)用主觀性強(qiáng)等原因有關(guān)。而剔除其他項(xiàng)目費(fèi)的單方造價(jià)與分部分項(xiàng)工程費(fèi)兩個(gè)費(fèi)用項(xiàng)的可預(yù)測(cè)性強(qiáng),可用SVM方法得到良好的預(yù)測(cè)結(jié)果,進(jìn)而用于工程實(shí)際。