彭 燦,李群善,劉浩忠
(1.重慶交通大學經濟與管理學院,重慶 400074;2. 青海省交通建設工程造價管理站,青海 西寧 810008)
?
隧道工程
高海拔地區隧道總造價預測
——基于粗糙集-支持向量機模型
彭 燦1,李群善2,劉浩忠2
(1.重慶交通大學經濟與管理學院,重慶 400074;2. 青海省交通建設工程造價管理站,青海 西寧 810008)
利用粗糙集理論對 5個影響隧道總造價的初始因子進行屬性約減,篩選出影響隧道總造價的核因子集,然后基于所篩選的核因子集建立支持向量回歸模型,最后通過該模型對高海拔地區隧道總造價進行預測。通過實例驗證,結果表明測試樣本的預測值與實測值相差不大,即證明本文所構建模型是一種有效的隧道總造價預測方法。
粗糙集;支持向量機;隧道;總造價
1.1 粗糙集理論
粗糙集理論(RS理論)是一種處理含糊、不確定性、不一致性問題的智能算法。粗糙集理論通過將研究對象視為一個知識表達系統(也稱為信息系統、信息表),根據知識表達中不同屬性的重要性,得到有用知識,去掉不重要的與學習任務無關的知識,以此簡化表達空間。
(1) 外部數據獲取形成決策表
原始數據可以形成一張決策表,輸入變量作為條件屬性,輸出變量(目標)作為決策屬性。粗集理論中一個信息表可表示為如下式子
S=(U,A,V,f)
(1)
式中:U為論域;A=C∪D;C為條件屬性(對應評價因子),D為決策屬性,兩者病機構成的集合A為非空有限集;V=∪α?AVa為屬性值的集合,Va是屬性α?A的值域;f:U×A→V,f(xj,a)∈V,是一個信息函數,賦予每個信息對象信息值。
(2)屬性離散化
對決策表中的決策屬性值(包括連續型或整數型變量)進行離散化處理,從而改變屬性值的粒度,提高分類準確性。
(3)屬性約簡
找出相關屬性的最小子集,并且保存決策表原始屬性的分類能力,簡化信息表,可以借助一些軟件來進行屬性約簡。
1.2 支持向量機
(1)支持向量機基本原理
支持向量機(簡稱SVM)是用于解決回歸預測問題的智能算法。SVM可處理線性回歸與非線性回歸問題,本文所研究的問題——隧道總造價預測屬于非線性問題。通過引入核函數方法,將輸入空間的非線性樣本變換到一個高維空間的線性樣本,并在此空間中利用線性方法解決非線性問題。
(2)支持向量機MATLAB實現過程
步驟一:定義功能函數,獲取原始樣本數據。本文根據支持向量機的簡稱將這一程序命名為svmfitting,其中定義函數如下:
functionsvmfittingout=svmfitting(fun,rawdata,sigs)
即定義SVM算法的功能函數svmfitting,其中等號左邊為輸入變量,主要為原始樣本的標簽、數據及最大迭代次數,等號右邊為輸出變量,主要為優化后的參數值及實際迭代次數。
步驟二:設置算法運行參數。其中包括學習因子,,最大權重,最大迭代步數;
步驟三:設置參數初始值,實數矩陣進行二進制編碼,參數初始值設置為0;
步驟四:訓練初始數據,創建適應度函數,計算最優參數。本文以隧道總造價成本預測結果的精度作為適應度函數,若預測結果符合精度要求,則停止算法,若不符合精度要求,則繼續進行運算。
步驟五:繪制適應度迭代曲線,輸出優化結果。
1.3 模型預測流程
結合粗集理論和支持向量機,得到本文預測模型的建立過程,過程如下:

圖1 基于RS-SVM的隧道總造價預測流程圖
2.1 粗糙集指標篩選
利用粗糙集進行指標篩選遵循了有效性和關鍵性兩個方面,去掉一些不重要的指標,保留對高海拔隧道總造價預測有重要影響的指標。

表1 隧道造價預測指標體系
2.2 數據收集
通過多方努力,收集到了近幾年高海拔地區隧道項目的實際數據,收集的數據如表2所示:

表2 實際工程數據
2.3 屬性約簡
(1)屬性集確定
本文將上述影響隧道造價的指標因素作為條件因素,隧道造價作為決策屬性,從而確定屬性集S=(U,A,V,f)。
(2)屬性量化表
對于定性數據要進行量化處理,其中圍巖等級和洞門類型有多種方式,這里以取最主要的一種類型代表該隧道的圍巖等級和洞門形式,量化處理如表3所示

表3 屬性量化表
(3)連續屬性離散化
粗糙集理論知識發現要求決策表中的值用離散數據表達。因此需要對指標因素中的連續性指標進行離散化處理,連續值的離散化的基本原則是:屬性離散化的空間維數盡可能小,丟失的信息盡可能少。本文利用SPSS軟件對各組數據中的連續性數據進行離散化處理,需要離散化的連續變量有海拔高度d、隧道長度e和隧道造價f,然后結合上面的屬性量化表得到初始決策信息表,如表4所示。

表4 初始項目決策表DT
其中各屬性對應的指標分別為圍巖等級、洞門類型、是否是凍土地區、海拔高度、隧道長度、隧道總造價。論域為U={1,2,3,4,5,6,7,8,9,10},其中1,2,3…10分別表示前10個隧道項目,C={a,b,c,d,e}表示與隧道項目有關的條件屬性集,D={f}表示與隧道項目有關的決策屬性集,Va={3,4,5},Vb={1,2,3},Vc={1,2}。
(4)指標屬性約簡
運用粗糙集軟件Rosetta的Genetic algorithm屬性約簡方法對預測知識系統進行知識約簡得到相應屬性集合A的核為{a,d},并以此核為起點計算,得到屬性的重要性,并逐步選擇最重要的屬性來進行屬性的約簡,得到以下五個約簡分別為:{a,d,e},{a,b,d,e},{a,c,d},{a,c,d,e}運用另一種常用的Johnson's algorithm屬性約簡方法得到的約簡為{a,d,e},規則不沖突。因此,選用{a,d,e}作為支持向量機輸入層的指標數,其中a是圍巖等級,d海拔高度,e是隧道長度。
2.4 支持向量機模型的建立
(1)首先對約減后的核因子集{圍巖等級,海拔高度,隧道長度},和隧道總造價進行等進行數據預處理,消除不同量綱的影響,將其歸一化到0到1之間。
(2)將隧道總造價對應的核因子集數據分成兩部分,其中第1~10隧道項目的數據作為模型訓練樣本,第11個隧道項目(大峽隧道)和第12個隧道項目(白馬寺隧道)的數據為模型預測及檢驗樣本。
(3)利用MATLAB對支持向量機編碼建模進行計算,設置初始參數,令,學習因子取值范圍為1.8~2.0,權重系數取值范圍,種群規模25~50,迭代步數為100~200,然后搜索得到支持向量機的懲罰因子參數和Gauss徑向基核函數參數。利用獲得的最佳模型參數對樣本數據進行學習,建立隧道總造價與隧道造價影響因子之間的響應模型。
(4)通過上述所建立模型對樣本進行預測計算。
2.5 預測結果與分析
利用上述步驟對對第11個和第12個項目大峽隧道和白馬寺隧道測試樣本進行預測。為了與一般的預測模型SVM進行對比分析,再直接將影響隧道總造價的5個初始影響因子直接作為支持向量機模型的輸入集,不經過粗集理論進行約簡。兩種模型的擬合與預測結果如表5所示。

表5 測試樣本模型預測值及誤差
比較兩種方法的計算結果和相對誤差可以發現,采用RS-SVM方法的預測結果準確性明顯高于SVM算法,即采用RS-SVM方法與實際結果更為接近,表明了本文預測方法是有效的。
本文基于粗糙集理論和SVM算法,對高海拔凍土地區的隧道造價進行預測,為造價行業提供一種快速精確的估算方法。通過以上理論分析以及實例驗證,得出基于RS-SVM模型預測隧道總造價具有以下特點和優勢:通過粗糙集篩選得出圍巖等級、海拔高度及隧道長度是影響隧道總造價的主要因素;利用粗糙集理論進行屬性約減,篩選出影響隧道總造價的核因子集,建立基于核因子集的支持向量回歸預測模型,對隧道總造價進行預測,其預測值與實際值相對誤差較小,該方法可以為隧道造價提供一種快速精確的估算方法。
[1] 劉勇健,劉義建,張伯友.基于粗糙集—支持向量機的震害預測模型及應用[J].地震研究,2008,31(3):289-295,303.
[2] 黃敏,吳立,姚沅.基于支持向量機-粒子群算法的山區公路隧道造價預測[J].公路,2015,(7):285-288.
[3] 趙艷南,牛瑞卿,彭令,程溫鳴.基于粗糙集和粒子群優化支持向量機的滑坡變形預測[J].中南大學學報(自然科學版),2015, 46(6): 2324-2332.
2016-06-08
彭燦(1991-),女,河北石家莊人,在讀研究生,研究方向:工程項目管理。
U
C