袁兆祥,張血琴,郭裕鈞,尹彩琴,寧曉雁
(1.國網經濟技術研究院有限公司,北京 102200;2.西南交通大學,四川 成都 611731)
輸電工程是電力工程建設的重要組成部分,對其進行準確的造價預測可以有效地推動項目評估、預算審核以及施工等方面工作[1]。電網公司對于輸電工程造價一般采用傳統的統計學方法如定額計算法、經驗值估算法等[2]。考慮到輸電工程的造價呈現復雜多變的特征,傳統的預測方法在很多方面具有一定的局限性,采用準確度高的預測工具是十分必要的。目前關于輸電工程的造價預測研究主要圍繞人工智能算法,諸如支持向量機[3]、BP 神經網絡[4-6]、灰色關聯理論以及聚類分析[7-8]等。武漢大學[9]通過識別影響特高壓輸電線路工程造價的主要因素,采用因子分析法選取了5 個因子作為輸入、工程單位造價作為輸出,構建了基于神經網絡的造價預測模型,并證實了預測模型對特高壓輸電線路的造假預測具有較高的準確性與可行性。盡管上述算法在某種程度上達到了所預想的效果,但有些算法還存在缺陷。如BP 神經網絡模型易陷入局部極小值,且對初始權值較敏感、收斂速度慢;而灰色模型僅適用于小樣本且對樣本規律要求嚴格[10]。
因此,很多學者致力于多種算法的融合研究。相較于單一的預測算法,融合算法能夠規避單一算法的局限性,揚長避短,提高預測精度。楊凱等人[11]考慮的BP 神經網絡容易陷入局部極小的問題,提出了GA-BP神經網絡的造價預測模型。周景宏等人[12]提出一種果蠅算法優化小波神經網絡參數,并與其他方法進行對比,結果表明混合算法的預測精度優于單一算法。王勝毅等人[13]通過討論K-Means 聚類、層次聚類以及模糊聚類三種聚類方式的特點,將其用于提升神經網絡和支持向量機的預測精度,基于上述模型提出一種輸電線路工程造價的綜合智能預測方法,結果表明層次聚類用于降低神經網絡算法誤差效果最好,而模糊聚類用于降低支持向量機算法誤差效果最好。
基于現有的多算法融合研究,針對單一的算法在進行造價預測時存在泛化性能差的缺陷,提出將支持向量機(Support Vector Machine,SVM)、反向傳播(Back Propagation,BP)神經網絡、隨機森林(Random Forest,RF)以及K-近鄰算法(K-Nearest Neighbor,KNN)多個學習器相融合,建立基于Stacking 集成模型的輸電工程造價預測模型。文章首先分析輸電工程造價建設的影響因素,選取典型的10 個特征量作為模型的輸入數據,并依據Stacking 集成模型的訓練流程,建立輸電工程造價預測模型,對電網輸電工程進行造價分析,結果證明該集成模型具有較好的泛化性能和較高的預測精度,能夠準確地預測線路的造價水平,可為輸電工程的造價預測研究提供參考。
影響輸電工程建設的因素多種多樣,且各個影響因素均具有非線性與不確定性[14],這就加大了對其進行造價管理的難度。通過對輸電工程造價影響因素的深入分析與研究,對關鍵因素重點把控,有利于提高工程造價預測的快速性和準確性,實現對輸電工程造價管理的優化把控[15]。
輸電線路的工程造價受到自然因素、市場環境因素以及工程因素的綜合影響,具體的影響因素見表1。隨著海拔高度的增加以及電壓等級的升高,對技術、材料以及施工的要求也更加嚴苛,由此導致了造價成本的提高。不同材料的市場價格也會影響造價水平。由于線路周邊環境復雜多變,沿線地形、地質、氣候條件并非由單一特征構成,故造價成本也相差甚遠。溫度、風速、濕度亦會影響線路造價,且很可能引發線路的安全問題,若想預防安全隱患,勢必要提高工程造價成本。

表1 工程造價影響因素
Stacking 算法是一種集成學習的算法,通過將不同的分類算法進行融合以使其比組成它的基分類算法具有更高的準確率和更強的泛化性能[16]。如圖1所示,Stacking 集成學習的基本原理是將基學習器的輸出結果作為下一層學習器的輸入特征,以此實現模型的堆疊,依次類推,最后一層模型的輸出結果即為該算法的最終分類預測結果[17-18]。李陽等人[19]將該集成算法用于預測電廠NOx的排放量,取得了較高的預測精度。

圖1 基于Stacking的集成學習
綜合考慮自然、市場環境、工程三方面的因素,選取SVM、BP 神經網絡、KNN、RF 的4 個機器學習算法進行Stacking融合模型的訓練。
支持向量機在小樣本學習方面具有較好的“魯棒性”和泛化性能[20],該算法進行模型訓練的思想是求解能夠正確劃分訓練數據集以及幾何間隔最大的分離超平面。算法性能的優劣主要取決于核函數的選取。
BP 神經網絡被廣泛地用于各個領域的預測問題[21-23]。標準的BP 算法包括前向傳播與后向傳播兩個階段,如果最終未能得到預想的輸出值,可通過誤差進一步調節各層的閾值與權值,直至達到理想結果才結束算法,因此該算法具有高度的自適應能力。BP神經網絡的結構模型如圖2所示。

圖2 BP神經網絡結構模型
KNN 算法其結果與離其最近的K個數據有關,是經典的有監督學習算法之一[24-26]。KNN 最大的優點在于原理簡潔、易于理解與上手且預測精度高。KNN 算法的原理相當簡單,即當預測某個值x時,依據與它距離最近的K個點的所屬類別來判斷x的歸屬,核心在于選擇K值與計算距離。K值的選取有個臨界值,當等于臨界值時,準確率較高,繼續增大或減小都會使算法的錯誤率提高。KNN算法常用歐式距離來衡量近鄰關系[27],以多維空間為例,給定兩個n維樣本xi=[xi1,xi2,....,xin]和xj=[xj1,xj2,....,xjn],歐氏距離計算式為

RF 算法具有預測精度高、泛化能力可控、收斂速度快等優點[28]。該算法主要是采取有放回的抽樣方式構建互不相關的多棵決策樹,以此涵蓋所有決策的可能性,從而使得少數優秀的決策樹輸出一個很好的預測結果[29]。隨機森林在處理樣本數據的高維特征時無須進行降維處理便可評估各個特征在分類問題上的重要性,不僅對于缺省值問題有很好的預測效果,還能在數據集較大時保持有效運行,不足之處在于,可能會因為有較多相似的決策樹而掩蓋了真實的結果,影響模型最終的預測精度。
選取樣本來自某地區電網220 kV輸電工程的實際造價數據,共計148組,部分樣本數據如表2所示。選取80%的樣本數據進行模型訓練,其余數據用于測試,以檢驗模型預測的準確率。

表2 部分輸電工程樣本數據采集表
樣本數據中既包含定性指標也包含定量指標,定量指標中將長度單位統一為m,價格單位統一為萬元;定性指標則需要對不同取值進行賦值處理。由于樣本數據的數量級與量綱不同造成數據之間的差異較大,直接用于模型訓練可能會影響預測精度,故需要提前對數據進行預處理操作,以提高數據之間的可比性。常規處理便是采用歸一化的方法將結果映射至[0,1]區間,采用的歸一化式為

式中:x'為歸一化處理后的數據值;x為輸入數據值;xmax為輸入數據中的最大值;xmin為輸入數據中的最小值。
參照電氣、技術等相關技術指標[30],并綜合考慮諸多影響因素對造價費用的貢獻度,選取表3 中的10個特征量作為輸入變量,單位造價作為輸出變量,所選的10個特征量足以反映輸電工程的造價水平。

表3 特征變量
對部分特征數據進行賦值處理,賦值原則如下:
1)回路數1、2、3、4 分別代表單回路、雙回路、三回路與四回路。如果一條線路包含回路類別不唯一,則須依據不同回路數占總線路的比例采取加權平均法進行取值。
2)地質特征1~8 分別代表松軟土、普通土、堅土、沙礫堅土、軟石、次堅石、堅石、特堅石。如果一條線路地質條件具有多樣性,則須依據不同地質所占比例采取加權平均法進行取值。
3)地形特征1~6 分別代表平原、丘陵、山地、高原、平地、河網。如果一條線路包含多種地形,則須依據不同地形所占比例采取加權平均法進行取值。
基學習器是Stacking 集成學習模型最重要的部分,其選取原則遵循“優且互異”,即要選取學習性能好且互相之間盡量有差異的基學習器。文章提出的分別以KNN、SVM 以及BP 神經網絡作為基分類器,利用Stacking集成學習進行融合,所建立的集成學習模型如圖3 所示。基于Stacking 集成學習建立的輸電工程造價預測模型屬于動態模型,任意時刻的預測結果與前一時刻的預測值和特征量相關。首先將樣本數據劃分為訓練集與測試集,利用KNN、SVM以及BP 神經網絡進行基學習器的訓練,最后輸入元學習器中,并用測試集進行驗證,輸出最終的預測結果。

圖3 Stacking集成學習模型架構
基于文章選取的電壓等級、回路數、導線價格、塔材價格、桿塔價格、地質、地形、平均風速、平均溫度、平均濕度10個特征量,以SVM、BP神經網絡以及KNN 算法為基分類器,建立基于Stacking 的集成學習的輸電工程造價預測模型,并利用MATLAB 軟件進行機器學習模型的建立與訓練,圖4、圖5 分別給出基分類器與集成學習模型的預測結果。

圖4 基分類器造價預測對比

圖5 Stacking預測結果
由圖4 可知,BP 神經網絡、SVM 以及KNN 各單一學習器用于造價預測的準確性互有差異,且隨著樣本的變化各學習器的預測情況隨之波動。圖5 中Stacking 集成學習模型在樣本一定時,預測值與真實值所差無幾。對比圖4 與圖5 可知,Stacking 集成模型可彌補單一學習器的差異性,具有更好的泛化性能與預測精度。
為驗證文中所提基于Stacking 的集成模型用于造價預測的優越性,將最大相對誤差、均方誤差(Mean Square Error,MSE)以及均方根誤差(Root Mean Squared Error,RMSE)作為評估指標來衡量各個模型的造價預測結果,其表達式為:

式中:yi為實際值;pi為預測值;n為樣本數。
單一學習器和Stacking 集成學習模型的評價指標對比如表4所示。由表4可知,集成模型的最大相對誤差、MSE 以及RMSE 均明顯低于其余的基學習器,由此也驗證了所提集成學習模型的預測精度以及泛化能力優于單一學習器的論述,即基學習器的預測效果一般,性能較差,而Stacking 集成模型預測的誤差值較小,具有較好的泛化性能。表5 給出了其中10 個樣本的預測結果,由表5 可知,Stacking 集成學習模型進行造價預測的相對誤差可控制在較小范圍內,具有比單一學習器更強的穩定性與準確性。綜合表4 與表5 的結果可知,利用基于Stacking 的集成學習模型進行輸電線路的造價預測,相較于單一的學習器,具有較高的預測精度以及泛化能力,后續可通過實驗研究將其應用于輸電工程的造價預測場景,實現對輸電工程造價的精準預測。

表4 各分類器預測結果

表5 部分樣本預測結果
針對輸電工程造價難以精確預測的問題,提出了一種基于Stacking 集成模型的輸電工程造價預測方法,并以某地區電網輸電工程的造價數據進行實例分析。
選取SVM、BP 神經網絡、KNN 多個機器學習算法作為基學習器,建立基于Stacking集成學習的輸電工程造價預測模型,以此實現對工程造價的精準預測。
相較于單一的學習器,Stacking 集成學習模型的預測效果更佳。針對輸電工程造價預測的實例展開研究,其模型預測的最大相對誤差僅為4.94%,均方誤差為1.23%以及均方根誤差只有1.11%;Stacking模型在預測樣本時可以將其相對誤差控制在±0.5%左右。該集成模型充分融合了基學習器的優勢與差異,通過放大各個基學習器的優勢并彌補其模型的不足之處,實現“揚長避短”的功能,能夠有效地提高模型的泛化能力與預測精度,可用于實際輸電工程的造價評估工作中。