肖立華,張 博,胡 偉,陳繼軍,韓智忠
(1. 清華大學 電機工程系,北京 100084; 2. 國網湖南省電力有限公司 建設部,長沙 410004; 3. 湖南電力工程咨詢有限公司,長沙 410116; 4. 湖南華杰工程咨詢有限公司,長沙 410000)
《電力建設工程工程量清單計價規范》是電網工程建設的經濟標準,并進一步規范了電網工程的招投標計價行為,促進了電網建設招投標市場健康有序協調發展[1].工程量清單[2-3]是目前國際上通用的一種招投標方式,招標人在投標前根據項目情況提供工程量清單,投標人根據工程量清單及相關要求計算綜合單價.采用工程量清單模式招投標,能充分體現量價分離、風險共擔的原則,逐步放開價格,形成市場競爭機制.招標人承擔工程量變更的風險,投標人承擔價格風險,因此綜合單價[4-5]的確定是工程量清單計價的核心內容,是投標人能否中標、盈利的關鍵.
胡丹萍[6]利用層次分析法建立了基于風險動態量化的綜合單價預測模型,以工程項目施工階段為劃分,計算每一階段的綜合單價風險系數;王維方等[7]分析了綜合單價的風險因素,將三角模糊數引入構建風險因素的判斷矩陣,計算出風險因素的權重,利用模糊綜合評價法結合投標人的預期利潤率得到綜合單價的綜合風險系數;劉必君[8]分析了工程施工成本的主要影響因素及控制因素,通過構建影響因素指標體系明確影響施工成本的各個組成部分,選取棧式降噪自動編碼器算法進行成本預測.

工程量清單計價規則是目前電網工程項目招投標普遍推廣的一種計價方式.招標人根據電網工程招投標文件的要求和工程圖紙,按照電力行業統一的工程量計算規則及工程項目劃分,為投標人提供電網工程項目的實體工程量清單和技術措施;投標人根據招標人提供的工程量清單及施工組織方案,并結合工程情況且考慮企業自身管理水平、技術水平、設備水平,綜合各種風險因素,以自主報價的方式填報規定計量單位項目的綜合單價,以此作為工程結算時價格調整的依據.
工程量清單計價實施搜集的資料包括完整的工程施工圖紙、工程計價依據、市場價格信息、人工費調整文件等.工程量的計算是最終工程造價計算的基礎,其工作量龐大且繁瑣,因此,應在計算過程中添加層次、位置、軸線等標注,以便清晰地按照順序逐項計算,防止復算和漏算.
工程造價包括分部/分項工程費、措施項目費、其他項目費、零星項目費、規費項目費以及稅金的計算,最后,對工程造價款進行復核并編制相關情況說明,包括但不限于工程量清單的編制依據、工程圖紙編號、計價規則依據等.
綜合單價[9-10]指完成一個單位清單項目需要的人工費、材料和工程設備費、施工機具使用費、企業管理費、利潤以及可能存在的風險費.人工費主要受日工價格影響;材料和工程設備費隨著所有清單項目中材料和設備的價格變化而變化,并且波動性較大,風險性較高;施工機具使用費同樣受材料價格的影響,主要包括水電費、油價的波動;企業管理費和利潤無論采用何種綜合單價計算方式,均是在人工費、材料和工程設備費、施工機具使用費三者之間的組合基礎上乘以對應的費率(利率)來進行計算的.因此,人工費、材料和工程設備費、施工機具使用費是綜合單價的重要組成部分及影響因素.
機器學習[11-12]是一門集計算機學、統計學、概率學、經濟學等多領域學科為一體的綜合交叉學科.本質上屬于算法范疇,通過確定一個目標函數f,使輸入變量X到輸出變量Y可以形成最優映射.
根據算法的功能和形式的類似性,機器學習常見算法包括回歸類的最小二乘法、以決策樹為基礎的集成算法、基于概率論的樸素貝葉斯及適用于推薦關聯規則的人工神經網絡等.綜合單價預測模型屬于有監督學習,需要標識數據,回歸類、決策樹類、貝葉斯類、人工神經網絡類算法均可適用于預測模型.綜合單價的主要影響因素均屬于典型的時間序列[13-15],且樣本數據集較小,因此,選擇決策樹類中隨機森林算法進行預測.
電網工程項目中,綜合單價相關的信息數據基本由人工進行采集,存在一定的缺失及異常值.數據建模的前提是要保證數據的準確性及完整性,因此需要對數據進行預處理.本文采用箱線圖方法進行異常值的判定,采用線性填充法進行缺失值的處理.圖1為某地混凝土C30從2016年1月到2019年12月的月均價格,明顯可以看到2017年5月,混凝土C30的價格為520元/m3,遠高于其余月均價格,屬于異常值.

圖1 混凝土C30價格Fig.1 Concrete C30 price
采用箱線圖的方式對該異常判定進行量化,即
R=U-L
(1)
Ulim=U+1.5R
(2)
Llim=L-1.5R
(3)
式中:U為該組數據的上四分位數;L為該組數據的下四分位數;Ulim為上界值;Llim為下界值.計算該組數據的中位數及均值,繪制箱線圖如圖2所示.其中“×”表示均值,高于上界值或低于下界值均判定為異常值.異常值可視為缺失值處理,采用線性方式對缺失值進行填充.2017年5月的混凝土C30價格填充為2017年4月與2017年6月的均值353.8元/m3.

圖2 混凝土C30價格箱線圖Fig.2 Boxplot of concrete C30 price
隨機森林是一種以決策樹為基礎的評估器袋裝式集成算法,隨機森林模型的構建流程如圖3所示.輸入容量為N、特征為M的樣本,隨機且有放回地抽取N次,每次抽取一個樣本,作為一棵決策樹跟節點處樣本;隨機選擇m個特征(m≤M),由于綜合單價的預測屬于回歸問題,通常采取方差或最小二乘擬合法進行節點分裂,直到節點不能繼續分裂形成一棵決策樹;當決策樹的棵樹小于設定值,重復以上步驟繼續建立決策樹,直至達到設定值,形成森林.

圖3 隨機森林模型構建流程Fig.3 Construction process of random forest model
當用于綜合單價預測時,輸入新的樣本數據,森林中的每一棵決策樹分別進行預測,所有決策樹的預測均值將作為隨機森林模型的輸出預測結果.當模型表現效果較差時,說明模型的泛化程度不足,泛化誤差大.泛化誤差受到模型的結構復雜度影響,模型結構過于復雜或者簡單均使泛化誤差增大,故需要通過模型調參確定最優模型復雜度.
對于隨機森林中的單棵決策樹而言,節點分裂次數越多則深度越深,樹的模型越復雜.默認的決策樹參數可以讓樹無限生長下去直到滿足停止條件,因此決策樹一般容易過擬合.調參時需要注意減少模型復雜度,本文使用的重要影響參數如表1所示.
選取100個電網工程項目的現澆基礎清單項進行兩組對比實驗,一組不考慮特征價格隨時間的波動性,一組考慮市場價格的波動性.根據綜合單價影響因素分析,綜合單價中人工費、材料和工程設備費以及施工機具使用費的主要影響因素包括:人工、板方材、混凝土C30、汽車起重機、載重汽車等,收集相關數據并進行預處理,結果如表2所示.樣本容量N為100,特征M為5,綜合單價為模型的預測目標.
采用Python開發工具將前70個樣本數據作為訓練集構建綜合單價預測模型(使用默認參數),后30個樣本作為測試集驗證模型的預測效果,結果如圖4所示.訓練集中,真實值與預測值的平均絕對誤差(MAE)等于9.83,平均絕對誤差率(MAPE)為1.51%,說明訓練集的模型擬合效果較好;測試集中,MAE為24.59,MAPE為3.86%,則說明預測模型存在過擬合的情況,泛化誤差大.除了模型參數影響外,經分析影響綜合單價的因素均受市場價格波動的影響,因此在建立模型時應考慮時間特征.

表1 隨機森林模型重要參數Tab.1 Important parameters of random forest model

表2 現澆基礎清單項相關數據Tab.2 Relevant data of cast-in-place foundation bills

圖4 隨機森林模型預測結果Fig.4 Forecasting results of random forest model
收集所有工程前12個月的特征價格信息,與綜合單價進行皮爾遜相關性分析,即
(4)

通過學習曲線方法確定最優參數,以n_estimators參數為例,考慮模型的運行效率,經驗上n_estimators參數從1開始每隔10取1個數,直到取到201,保持其余參數不變,測試每一次模型訓練集的得分,得分越接近1表示模型訓練效果越好,其學習曲線如圖6所示.當n_estimators參數等于81時,得分最高為0.97,因此從82開始每隔1取1個數,直到取到90,訓練集得分最高為0.975.按照此方法依次對其余參數進行調優,最后結果max_depth=3,min_samples_leaf=2,min_samples_split=2,max_feature=5.測試集中真實值、優化前預測值、優化后預測值的對比如圖7所示.優化后MAE值為9.67,MAPE為1.55%,明顯預測效果優于優化前的預測模型.

圖5 前12個月特征價格與綜合單價的相關系數Fig.5 Correlation coefficient between characteristic price and comprehensive unit price in first 12 months

圖6 學習曲線(n_estimators參數)Fig.6 Learning curve (n_estimators parameter)

圖7 優化前后測試集預測效果對比Fig.7 Comparison of forecasting effect of test set before and after optimization
工程量清單計價的核心為綜合單價的確定,綜合單價的確定主要受人工費、材料和工程設備費及施工機具使用費的影響.考慮市場價格波動的影響,選取機器學習中回歸預測效果較好的隨機森林算法,加入各項影響因素的時間特征進行建模.與優化前相比,優化后的綜合單價預測結果MAE減小了14.92,MAPE降低了2.31%,由此驗證了所提模型的精確性和可行性.但本文只收集了電網工程項目中現基礎清單項的數據進行綜合單價預測,后期將收集一個項目完整的清單項數據建立綜合單價預測模型,研究如何進一步提高測試集上的預測精度.