寇智聰
中鐵第五勘察設(shè)計(jì)院集團(tuán)有限公司,北京,102600
鐵路工期進(jìn)度指標(biāo)是進(jìn)行鐵路施工組織編制的基礎(chǔ)和依據(jù),獲取準(zhǔn)確的進(jìn)度指標(biāo)值能夠?yàn)榻M織施工方案和優(yōu)化施工工期提供更為可靠的數(shù)據(jù)支撐。中國(guó)鐵路總公司發(fā)布的《鐵路工程施工組織設(shè)計(jì)規(guī)范》(Q/CR 9004-2018)[1]是施工組織編制的綱領(lǐng)性文件,其中對(duì)施工工期的主要參考指標(biāo)進(jìn)行了明確。該指標(biāo)主要用于指導(dǎo)性的施工組織設(shè)計(jì),然而各建設(shè)項(xiàng)目所在區(qū)域與施工條件各具特點(diǎn),現(xiàn)場(chǎng)施工常會(huì)受到多種因素的影響,使得工期參考指標(biāo)指導(dǎo)實(shí)際施工的意義大打折扣,容易造成計(jì)劃與實(shí)際的脫節(jié)[2]。
部分專家學(xué)者通過(guò)實(shí)際調(diào)研與典型案例相結(jié)合的方法,收集相關(guān)數(shù)據(jù)作為確定工期指標(biāo)的參照[3],而這種研究方法需要廣泛收集資料,使得及時(shí)、準(zhǔn)確地獲得工期指標(biāo)的難度較大。隨著大數(shù)據(jù)和計(jì)算機(jī)科學(xué)的不斷發(fā)展,新的信息技術(shù)和智能算法被越來(lái)越多地應(yīng)用于工程建設(shè)領(lǐng)域[4-5]。一些學(xué)者也開(kāi)始嘗試應(yīng)用智能算法來(lái)進(jìn)行工期預(yù)測(cè)的研究[6-7],但目前此類研究仍處于起步階段。上述相關(guān)研究中大多采用的是單一的回歸預(yù)測(cè)模型且樣本數(shù)量較少,雖然有效地解決了工期預(yù)測(cè)中出現(xiàn)的一些問(wèn)題,提高了預(yù)測(cè)效率,但仍存在算法高度依賴數(shù)據(jù)準(zhǔn)確性的問(wèn)題,易陷入局部最優(yōu)等缺陷,可能會(huì)導(dǎo)致實(shí)際使用時(shí)的預(yù)測(cè)結(jié)果不可靠。此外,針對(duì)鐵路工期指標(biāo)預(yù)測(cè)影響因素多、噪聲干擾復(fù)雜的特點(diǎn),需要有效地選擇關(guān)鍵的影響因素,才能得到更為準(zhǔn)確的預(yù)測(cè)結(jié)果。
為此,本文引入機(jī)器學(xué)習(xí)中的隨機(jī)森林(RF)和XGBoost算法,提出一種結(jié)合兩種算法的工期指標(biāo)預(yù)測(cè)模型。使用RF對(duì)輸入的影響因素進(jìn)行重要程度排序,結(jié)合特征選擇中的循序向后選擇法對(duì)無(wú)關(guān)影響因素進(jìn)行剔除,得到工期指標(biāo)預(yù)測(cè)的最優(yōu)影響因素集,然后以此為模型輸入建立基于XGBoost的工期指標(biāo)預(yù)測(cè)模型,從而實(shí)現(xiàn)對(duì)工期指標(biāo)的準(zhǔn)確預(yù)測(cè)。
隨機(jī)森林(RF,random forest)作為一種綜合的算法,最先由Breiman[8]在2001年提出,主要應(yīng)用于預(yù)測(cè)和特征選擇等問(wèn)題。該算法結(jié)合了CART樹和Bagging方法,利用Bootstrap對(duì)原始樣本集進(jìn)行有放回的抽樣,使用抽取出的每一個(gè)樣本集來(lái)構(gòu)建對(duì)應(yīng)的決策樹模型,所有決策樹的內(nèi)部節(jié)點(diǎn)均采用隨機(jī)選擇特征的方式對(duì)屬性進(jìn)行分裂,最后組成一個(gè)完整的隨機(jī)森林,在綜合各決策樹所產(chǎn)生結(jié)果的基礎(chǔ)上,投票得到最終結(jié)果。
1.1.1 模型的泛化誤差
在對(duì)樣本集進(jìn)行有放回抽樣時(shí),會(huì)產(chǎn)生36.8%的袋外數(shù)據(jù)(OBB),可作為計(jì)算模型泛化誤差的依據(jù)。模型的泛化誤差可以用下式表示:
在RF中,隨著決策樹的數(shù)目不斷增多,模型的泛化誤差將會(huì)趨近一個(gè)有限的上界。即:
1.1.2 特征的重要度
隨機(jī)森林中某個(gè)特征的重要程度為:
式(3)中,N為隨機(jī)森林中決策樹的個(gè)數(shù),和分別對(duì)應(yīng)未變換以及隨機(jī)對(duì)數(shù)據(jù)中某個(gè)特征順序進(jìn)行變換后的袋外數(shù)據(jù)的誤差值。
計(jì)算所有特征的重要度之后,使用循序向后的特征選擇方法對(duì)重要度最低的特征進(jìn)行分步去除,最終找出最合適的特征數(shù)量[9]。
XGBoost是2014年2月由Chen[10]提出的基于決策樹模型的提升算法,因其優(yōu)良的學(xué)習(xí)效果以及較高的訓(xùn)練速度獲得大量關(guān)注,廣泛應(yīng)用于解決工程領(lǐng)域的分類和回歸預(yù)測(cè)等問(wèn)題[11]。該算法是對(duì)梯度提升樹方法的改進(jìn),適用于大規(guī)模的稀疏數(shù)據(jù),具有運(yùn)算速度快、準(zhǔn)確率高等優(yōu)點(diǎn)?;诙鄠€(gè)決策樹的組合模型可寫作K個(gè)可加函數(shù)的和:
對(duì)于固定的樹形結(jié)構(gòu),用二階近似方法優(yōu)化得到葉子權(quán)重的最優(yōu)解。之后根據(jù)權(quán)重的值來(lái)計(jì)算樹形結(jié)構(gòu)的得分函數(shù),以該得分為評(píng)價(jià)指標(biāo),最后使用貪婪算法進(jìn)行樹的生長(zhǎng)和剪枝。
基于RF-XGBoost的工期指標(biāo)預(yù)測(cè)模型的建模流程如圖1所示,分為工期指標(biāo)影響因素篩選和工期指標(biāo)預(yù)測(cè)兩個(gè)主要的過(guò)程。
圖1 基于RF-XGBoost的工期指標(biāo)預(yù)測(cè)建模流程
2.1.1 確定初始數(shù)據(jù)集
對(duì)相關(guān)文獻(xiàn)資料和工程實(shí)踐經(jīng)驗(yàn)進(jìn)行學(xué)習(xí)總結(jié),從人機(jī)料法環(huán)等多個(gè)維度進(jìn)行考慮,以現(xiàn)場(chǎng)收集到的工期影響因素作為輸入、鐵路工期進(jìn)度指標(biāo)作為輸出,建立工期指標(biāo)預(yù)測(cè)的初始數(shù)據(jù)集。
2.1.2 工期影響因素篩選
直接使用原始的數(shù)據(jù)集進(jìn)行訓(xùn)練,得到的工期指標(biāo)預(yù)測(cè)模型精度未必很高,還會(huì)增加模型訓(xùn)練所需的時(shí)間。結(jié)合RF算法與循序向后選擇法對(duì)初始影響因素進(jìn)行剔除,篩選出最優(yōu)影響因素集,可作為后續(xù)預(yù)測(cè)模型的輸入變量。在利用RF分析影響因素的大小時(shí),有兩個(gè)重要的模型參數(shù)需要設(shè)置,分別是決策樹的隨機(jī)特征數(shù)量mtry和決策樹個(gè)數(shù)Ntree。為使模型預(yù)測(cè)結(jié)果穩(wěn)定,建議將mtry設(shè)置為特征數(shù)的1/3,Ntree的取值大于500。同時(shí),采用k-折交叉驗(yàn)證的方法以提高模型的預(yù)測(cè)精度。
2.2.1 數(shù)據(jù)預(yù)處理
2.2.2 XGBoost模型超參數(shù)選擇
XGBoost模型中主要的超參數(shù)包括樹的個(gè)數(shù)、樹的最大深度、學(xué)習(xí)速率以及最小葉子節(jié)點(diǎn)的樣本權(quán)重和等。在參數(shù)調(diào)整過(guò)程中,可采用網(wǎng)格搜索法和5折交叉驗(yàn)證的尋優(yōu)策略,對(duì)以上超參數(shù)進(jìn)行優(yōu)化。
2.2.3 預(yù)測(cè)效果評(píng)價(jià)
選取均方誤差(Rmse)和擬合優(yōu)度(R2)作為XGBoost模型的預(yù)測(cè)性能評(píng)價(jià)指標(biāo)。Rmse衡量的是預(yù)測(cè)值與真實(shí)值之間的偏差,R2用于評(píng)價(jià)模型的擬合效果,兩個(gè)指標(biāo)的計(jì)算公式如下:
式(9)~(10)中,yi和分別為實(shí)際值和預(yù)測(cè)值;為樣本的均值; n表示樣本數(shù)據(jù)的個(gè)數(shù)。
以新村隧道工程某工點(diǎn)為研究對(duì)象,從隧道施工臺(tái)賬中獲取隧道施工進(jìn)度的數(shù)據(jù)樣本,其中工期指標(biāo)為隧道正洞開(kāi)挖進(jìn)尺長(zhǎng)度,共收集了731組施工進(jìn)度數(shù)據(jù)作為樣本集,部分?jǐn)?shù)據(jù)如表1所示。
表1 隧道施工臺(tái)賬部分初始數(shù)據(jù)
3.2.1 數(shù)據(jù)預(yù)處理
為使數(shù)據(jù)能夠讓算法正確識(shí)別且更易學(xué)習(xí),需對(duì)數(shù)據(jù)進(jìn)行特征轉(zhuǎn)換從而獲取更佳的數(shù)據(jù)表示方式。本研究中將初始數(shù)據(jù)集中的日期轉(zhuǎn)換為季節(jié),將施工時(shí)間轉(zhuǎn)換為工作時(shí)長(zhǎng),同時(shí)去除了部分重復(fù)特征,得到變換后的數(shù)據(jù)集,如表2所示。采用獨(dú)熱編碼對(duì)上述數(shù)據(jù)進(jìn)行進(jìn)一步處理。
表2 經(jīng)特征變換后的數(shù)據(jù)集
3.2.2 影響因素重要度排序
載入Python語(yǔ)言里專門用于機(jī)器學(xué)習(xí)的sklearn庫(kù),調(diào)取庫(kù)中與RF相關(guān)的函數(shù)命令建立分析模型,計(jì)算得到初始數(shù)據(jù)集中工期指標(biāo)影響因素的重要度,并對(duì)結(jié)果進(jìn)行排序,如圖3所示。由圖中信息可得,重要度排名較高的影響因素包括圍巖等級(jí)、工作時(shí)長(zhǎng)、季節(jié)等,從工程實(shí)踐經(jīng)驗(yàn)來(lái)看,圍巖等級(jí)的影響最為明顯,而季節(jié)和施工部位與工期指標(biāo)的相關(guān)性也較大,因此RF算法得到的分析結(jié)果具有合理性。
圖3 影響因素的重要性排序圖
3.2.3 關(guān)鍵影響因素篩選
設(shè)定RF模型中參數(shù)mtry的取值為5,Ntree的取值為600,選擇使用5折交叉驗(yàn)證的方式測(cè)試模型精度。根據(jù)圖3給出的重要性排序結(jié)果,使用循序向后的特征選擇方法,得到不同特征組合個(gè)數(shù)下模型預(yù)測(cè)精度的變化曲線,如圖4所示。
圖4 不同影響因素組合時(shí)模型精度變化趨勢(shì)圖
由圖中分析可知,隨著特征數(shù)量的減少,模型預(yù)測(cè)精度有了一定程度的提高,這意味著某些冗余的影響因素被剔除了;在到達(dá)某一個(gè)值時(shí),繼續(xù)減少特征個(gè)數(shù),模型的精度也隨之下降;隨著特征數(shù)量的進(jìn)一步減少,模型精度開(kāi)始急劇下降,說(shuō)明一些重要的影響因素被刪除了。在本案例中,當(dāng)影響因素集合中的特征個(gè)數(shù)為9時(shí),可以訓(xùn)練得到預(yù)測(cè)精度最高的模型。篩選出的關(guān)鍵工期影響因素為圍巖等級(jí)_V加、工作時(shí)長(zhǎng)、圍巖等級(jí)_Ⅳ加、季節(jié)_秋、實(shí)際方量、圍巖等級(jí)_Ⅲ一般、圍巖等級(jí)_Ⅳ一般、施工部位_上臺(tái)階、施工部位_全斷面。
3.3.1 數(shù)據(jù)預(yù)處理
將3.2節(jié)篩選出的工期影響因素結(jié)果作為XGBoost預(yù)測(cè)模型的輸入特征參數(shù),將隧道進(jìn)度指標(biāo)作為輸出,收集多組隧道工期指標(biāo)數(shù)據(jù)作為樣本數(shù)據(jù)集,并對(duì)輸入和輸出特征數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。將數(shù)據(jù)集進(jìn)行隨機(jī)劃分,抽取全部樣本的70%作為模型的訓(xùn)練集,剩余30%的樣本則作為測(cè)試集,用來(lái)評(píng)價(jià)模型的泛化性能。
3.3.2 模型調(diào)參
加載Python語(yǔ)言sklearn庫(kù)中的網(wǎng)格搜索函數(shù)GridSearchCV搜尋XGBoost模型的最優(yōu)超參數(shù)集合,該函數(shù)命令自帶交叉驗(yàn)證功能。最終的工期指標(biāo)預(yù)測(cè)模型采用的超參數(shù)值如表3所示。
表3 工期指標(biāo)預(yù)測(cè)模型中超參數(shù)的最優(yōu)值
3.3.3 預(yù)測(cè)結(jié)果評(píng)價(jià)與比較
根據(jù)所確定的模型參數(shù)最優(yōu)值訓(xùn)練XGBoost模型,對(duì)工期指標(biāo)進(jìn)行預(yù)測(cè)。分別在訓(xùn)練集和測(cè)試集上對(duì)其進(jìn)行測(cè)試,預(yù)測(cè)結(jié)果如圖5和圖6所示。從圖中結(jié)果可得,該模型通過(guò)對(duì)訓(xùn)練集數(shù)據(jù)的學(xué)習(xí),得到了較好的擬合效果。模型在測(cè)試集數(shù)據(jù)上的預(yù)測(cè)值與實(shí)際值相貼近,說(shuō)明該模型對(duì)工期指標(biāo)的預(yù)測(cè)效果良好。
圖5 工期指標(biāo)預(yù)測(cè)模型訓(xùn)練集預(yù)測(cè)結(jié)果與實(shí)際結(jié)果對(duì)比
圖6 工期指標(biāo)預(yù)測(cè)模型測(cè)試集預(yù)測(cè)結(jié)果與實(shí)際結(jié)果對(duì)比
為了進(jìn)一步評(píng)估提出的RF-XGBoost方法在工期指標(biāo)預(yù)測(cè)上的性能,將其與支持向量機(jī)(SVM)、人工神經(jīng)網(wǎng)絡(luò)(BPNN)和多元線性回歸等預(yù)測(cè)方法構(gòu)建的模型相比較,不同預(yù)測(cè)模型得到的結(jié)果對(duì)比見(jiàn)表4。該結(jié)果包含了各個(gè)模型對(duì)案例數(shù)據(jù)預(yù)測(cè)結(jié)果的RMSE和R2的值。一般來(lái)說(shuō),R2越接近1、RMSE越接近0表明模型的預(yù)測(cè)性能越好。
表4 模型性能比較
由表中結(jié)果可知,RF-XGBoost模型的RMSE在所有參與比較的模型中最小,R2也更加接近1,說(shuō)明該模型的擬合效果和預(yù)測(cè)精度優(yōu)于其他模型,預(yù)測(cè)結(jié)果更加接近實(shí)際值,具有不錯(cuò)的泛化性能。綜上所述,使用基于RF-XGBoost模型對(duì)工期指標(biāo)進(jìn)行預(yù)測(cè),獲得的預(yù)測(cè)結(jié)果具有較高的準(zhǔn)確性和可靠性。
本文建立了一種基于RF-XGBoost的工期指標(biāo)預(yù)測(cè)模型,利用RF算法對(duì)工期指標(biāo)的影響因素進(jìn)行篩選,得到最優(yōu)影響因素集作為XGBoost模型的輸入,為鐵路工期指標(biāo)高精度預(yù)測(cè)提供了分析方法。以某隧道項(xiàng)目為背景,提取施工臺(tái)賬中的數(shù)據(jù)作為分析樣本,建立了RF-XGBoost工期指標(biāo)預(yù)測(cè)模型,通過(guò)將預(yù)測(cè)結(jié)果與實(shí)際數(shù)值相對(duì)比驗(yàn)證了模型在工期指標(biāo)預(yù)測(cè)中的有效性。與其他常用預(yù)測(cè)模型相比較,該模型的預(yù)測(cè)效果更加準(zhǔn)確和穩(wěn)定,在鐵路工期指標(biāo)預(yù)測(cè)中,具有一定的指導(dǎo)意義和實(shí)用價(jià)值。