林世巍
(營口市水利勘測建筑設(shè)計院,遼寧 營口 115000)
水利水電工程是國民經(jīng)濟發(fā)展中重要的基礎(chǔ)設(shè)施,對水資源的綜合利用起著關(guān)鍵作用。由于工程規(guī)模龐大、施工周期長、環(huán)境復(fù)雜等特點,水利水電工程建筑的造價估算與預(yù)測具有挑戰(zhàn)性[1-2]。傳統(tǒng)的預(yù)測方法主要依賴于經(jīng)驗判斷和統(tǒng)計分析,缺乏準(zhǔn)確性和可靠性。因此,研究人員開始應(yīng)用數(shù)據(jù)挖掘和機器學(xué)習(xí)技術(shù),以改善水利水電工程建筑工程造價的預(yù)測準(zhǔn)確度和可靠性[3-4]。目前,神經(jīng)網(wǎng)絡(luò)可以從數(shù)據(jù)中學(xué)習(xí)到模式和規(guī)律,從而對所需的數(shù)據(jù)進行預(yù)測,但該網(wǎng)絡(luò)對初始權(quán)重和學(xué)習(xí)率敏感度較高。而思維進化算法(Mind Envolutionary Algorithm,MEA)適用于多變量預(yù)測,可以對反向傳播(Back Propagation ,BP)神經(jīng)網(wǎng)絡(luò)的最優(yōu)權(quán)值和閾值進行計算。此外,GM(1,1)能夠捕捉到時間序列數(shù)據(jù),用于處理非線性、小樣本或缺少歷史數(shù)據(jù)的預(yù)測問題[5-7]。
鑒于此,本文提出MEA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)重,并結(jié)合GM(1,1)預(yù)測工料機單一造價指數(shù)的方法,為水利水電建筑工程的造價指數(shù)預(yù)測提供可行技術(shù)參考。研究創(chuàng)新點有兩個:①將MEA模型、BP神經(jīng)網(wǎng)絡(luò)和GM(1,1)模型有機結(jié)合起來,提高造價指數(shù)模型預(yù)測的準(zhǔn)確度和可靠性;②先對工料機單一造價指數(shù)進行預(yù)測,再利用單一造價指數(shù)和綜合指數(shù)之間的關(guān)系進行預(yù)測。
在水利水電工程建設(shè)過程中,準(zhǔn)確預(yù)測整個生命周期工程各階段的造價指數(shù),對于實現(xiàn)工程成本控制、資源優(yōu)化分配和項目管理至關(guān)重要。MEA是一種模仿人類進化過程的機器學(xué)習(xí)方法,它具有強大的全局尋優(yōu)能力,通過模擬進化過程中的選擇、交叉和變異等操作,來搜索最優(yōu)解。而BP神經(jīng)網(wǎng)絡(luò)是一種具有輸入層、隱含層和輸出層的前饋神經(jīng)網(wǎng)絡(luò),通過信號正向傳遞和誤差反向傳遞來進行學(xué)習(xí)和優(yōu)化[8]。本研究將MEA和BP神經(jīng)網(wǎng)絡(luò)結(jié)合起來,設(shè)計一種MEA-BP模型,以充分利用兩者的優(yōu)勢。該模型可以在預(yù)測水利水電工程建設(shè)過程中的造價指數(shù)時,同時考慮全局尋優(yōu)和學(xué)習(xí)優(yōu)化的能力,從而提高預(yù)測準(zhǔn)確性和精度。其具體流程見圖1。
圖1 MEA-BP模型運算流程圖
本研究所設(shè)計的MEA-BP模型流程為:使用Octave編程語言軟件,將處理過后的水利水電工程單一造價指數(shù)分為測試集和訓(xùn)練集;根據(jù)需要,設(shè)計相應(yīng)的BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),便于生成MEA的參數(shù);進行生成初始種群、生成子種群和優(yōu)勝子種群、趨同操作、異化操作等步驟,得到MEA的最優(yōu)輸出結(jié)果;對最優(yōu)輸出結(jié)果進行解碼計算,得出BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值;使用Octave編程語言軟件,構(gòu)建BP神經(jīng)網(wǎng)絡(luò),并設(shè)定初始權(quán)值和閾值;對該神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練。
MEA-BP模型利用MEA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,使其能更好地輸出符合期望值的結(jié)果。經(jīng)過MEA優(yōu)化的BP神經(jīng)網(wǎng)絡(luò),具有收斂速度更快、全局尋優(yōu)能力更佳的特點。上述方法只是籠統(tǒng)地對整個水利水電建筑工程造價指數(shù)的預(yù)測,如果對各工料機的權(quán)重占比參數(shù)設(shè)置不當(dāng),則對整個預(yù)測模型的結(jié)果影響較大。
因此,研究提出采用改進的GA(1,1),先對各工料機的指數(shù)進行預(yù)測,以更加精細(xì)地了解每個指數(shù)的趨勢和變化。研究改進的GM(1,1)模型,結(jié)合了灰色系統(tǒng)理論和最小二乘回歸分析,可以有效處理工料機單一造價指數(shù)數(shù)據(jù)[9]。結(jié)合改進GM(1,1)的MEA-BP模型結(jié)構(gòu)見圖2。
圖2 基于改進GM(1,1)的MEA-BP模型的框架結(jié)構(gòu)
研究構(gòu)建該模型的步驟為:收集2019年1月至2021年12月遼寧營口的工料機單一造價指數(shù)和水利水電綜合造價指數(shù)并整理,確保數(shù)據(jù)的準(zhǔn)確性和完整性;使用已知的工料機單一造價指數(shù)作為基礎(chǔ),利用改進的GM(1,1)模型進行預(yù)測,得到已知樣本的模擬值和預(yù)測值;對已知樣本數(shù)據(jù)和預(yù)測數(shù)據(jù)進行標(biāo)準(zhǔn)化處理,確保數(shù)據(jù)范圍在合適的區(qū)間內(nèi),以提高神經(jīng)網(wǎng)絡(luò)訓(xùn)練的效果;確定MEA-BP模型的結(jié)構(gòu),包括輸入層、隱藏層和輸出層的節(jié)點數(shù)。標(biāo)準(zhǔn)化后的中心逼近式GM(1,1)模型的模擬值可以作為輸入變量,而實際的水利水電工程綜合造價指數(shù)可以作為輸出變量;將已知樣本數(shù)據(jù)分為訓(xùn)練集和驗證集,用于模型的訓(xùn)練和評估;使用訓(xùn)練集,對MEA-BP模型進行訓(xùn)練。通過迭代訓(xùn)練過程中的正向傳播和反向傳播,調(diào)整神經(jīng)網(wǎng)絡(luò)的權(quán)重和偏置,以逼近樣本數(shù)據(jù)的輸出。通過上述步驟,就可得到所需時間段的水利水電綜合造價指數(shù)的預(yù)測結(jié)果。
為了提高研究所構(gòu)建的水利水電建筑工程造價指數(shù)預(yù)測模型的準(zhǔn)確率,需對模型的相關(guān)參數(shù)和采集的數(shù)據(jù)進行優(yōu)化和整理。研究所采用的BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)是傳統(tǒng)的3層網(wǎng)絡(luò)結(jié)構(gòu)。其中,輸入層為對水利水電建筑工程造價指數(shù)影響較大的11種工料機,包括人工、磚瓦、電、水泥、鋼材、沙石、機械、炸藥、燃油、鋼筋、板枋材。因此設(shè)置研究模型的輸入層為11個輸入向量,用X(x1,x2,x3,...,x11)的集合表示[10]。隱含層采用單層結(jié)構(gòu),隱含層的節(jié)點計算公式如下:
(1)
式中:h為隱含層節(jié)點數(shù);m為輸入層節(jié)點數(shù);n為輸出層節(jié)點數(shù);a為參數(shù)。
根據(jù)式(1),先設(shè)定隱含層神經(jīng)元的個數(shù)為5,再逐漸增加神經(jīng)元個數(shù)并訓(xùn)練神經(jīng)網(wǎng)絡(luò),然后重新進行網(wǎng)絡(luò)訓(xùn)練。在多次訓(xùn)練和比較模型過程中,確定具有最優(yōu)性能的網(wǎng)絡(luò)節(jié)點數(shù)為10。輸出層僅包含單個神經(jīng)元,用于表示水利水電建筑工程造價指數(shù),因此將輸出層設(shè)置為1,并用Y表示[11]。
構(gòu)建的11-10-1的網(wǎng)絡(luò)模型可以層與層之間相互聯(lián)系,確定工料機單一造價因子和綜合造價指數(shù)之間的關(guān)系?;诖?MEA-BP模型的參數(shù)類型選擇及設(shè)計見表1。
表1 MEA-BP模型的參數(shù)類型選擇及設(shè)計
水利水電建筑工程造價指數(shù)的預(yù)測,還需要定義預(yù)測指數(shù)的標(biāo)準(zhǔn)?,F(xiàn)階段,各指數(shù)的評判標(biāo)準(zhǔn)按照研究目的和方法分為許多種[12]。各種指數(shù)都有各自的含義,研究選取環(huán)比指數(shù)作為水利水電建筑工程工料機單一造價指數(shù)。選取環(huán)比指數(shù)作為工料機單一造價指數(shù)的優(yōu)勢有3點:通過與前一期或基準(zhǔn)期進行比較,環(huán)比指數(shù)能夠準(zhǔn)確反映出短期內(nèi)經(jīng)濟變化的趨勢,幫助研究及時掌握市場的動態(tài)。其次,環(huán)比指數(shù)對于季節(jié)性波動和短期變動能夠更為敏感地進行捕捉,從而更好地反映出市場的實際情況。此外,環(huán)比指數(shù)還可以用于預(yù)測和分析未來的趨勢,通過對連續(xù)期間的環(huán)比指數(shù)進行比較,可以判斷出經(jīng)濟的增長或下滑趨勢,并對未來作出預(yù)測。
由于模型選擇的單一造價指數(shù)種類,如果作為結(jié)果輸出則略顯繁瑣。因此,研究選取綜合造價指數(shù)作為輸出結(jié)果。綜合造價指數(shù)是基于多個工料機指標(biāo)綜合計算得出的一個相對數(shù)值,以衡量工程項目造價的整體水平和變化情況。本次研究使用BeautifulSoup網(wǎng)絡(luò)爬蟲軟件,進入遼寧省工程造價通(https://ln.zjtcn.com/facx/c_t0119_d_p1_k_qa_qi.html),爬取遼寧省營口市2019年1月至2021年12月水利水電建筑工程的工料機單一造價指數(shù)和綜合造價指數(shù)共36組數(shù)據(jù),作為原始數(shù)據(jù)。首先,根據(jù)觀察,人工剔除較為異常的兩組數(shù)據(jù)。然后,利用剔除后的2019年1月至2021年6月的28組工料機單一造價指數(shù)作為基礎(chǔ),采用研究改進的GA(1,1)模型,預(yù)測2021年7月至2021年7月6組工料機單一造價指數(shù)。以2019年1月的數(shù)據(jù)為例,簡單進行演示,2019年1月的各造價指數(shù)見表2。
表2 遼寧省營口市2019年1月工程造價指數(shù)
由表2可知,原始數(shù)據(jù)序列為X(t)=(115.2,100.7,111.2,116.3,144.3,102.3,110.2,100.6,114.3,120.3,111.8)。對原始數(shù)據(jù)進行累加,得到Y(jié)(t)序列:Y(t)=(115.2,215.9,327.1,443.4,587.7,690.0,800.2,900.8,1015.1,1135.4,1247.2);計算Y(t)序列相鄰兩項的均值,得到一個新的序列Z(t):Z(t)=(115.5,271.5,385.25,515.55,638.85,745.1,850.5,957.95,1075.25,1191.3)。構(gòu)建微分方程,公式如下:
x(k+1)+ax(k)=b
(2)
使用最小二乘法,求解參數(shù)a約為0.1223,b約為238.8736。據(jù)此,可得工料機單一造價指數(shù)預(yù)測模型,公式如下:
(3)
根據(jù)建立的灰色模型和參數(shù)估計值,可以對工料機單一指數(shù)進行預(yù)測。
為了研究所構(gòu)建預(yù)測模型性能的優(yōu)越性和仿真預(yù)測的準(zhǔn)確性,除了選取遼寧省營口市工程造價指數(shù)外,還以同樣方式選取了位于西南的四川省成都市工程造價指數(shù)數(shù)據(jù)作為訓(xùn)練和測試集,以形成不同工程造價指數(shù)預(yù)測對照。同時,選取遺傳算法(GA)、蟻群算法(ACO)與研究算法相同的試驗環(huán)境中進行測試,形成模型之間的性能對照。
首先,對不同算法尋最優(yōu)權(quán)值和閾值的誤差進行測試,結(jié)果見圖3。
圖3 最優(yōu)權(quán)值和閾值的誤差測試結(jié)果
圖3(a)為利用營口市數(shù)據(jù)測試3種算法尋最優(yōu)權(quán)值和閾值的誤差結(jié)果。結(jié)果表明,3種算法的初始誤差是GA>ACO>MEA;隨著迭代次數(shù)的增加,3種算法的誤差值均開始下降。GA和ACO分別迭代27次和23次趨于穩(wěn)定,穩(wěn)定后誤差值分別約為1.10和1.18;而研究算法MEA僅迭代16次便趨于穩(wěn)定,穩(wěn)定后誤差也是3種算法中最小的,約為1.06。
由圖3(b)成都市的測試結(jié)果可知,由于地理位置不同,南北方工程造價環(huán)比指數(shù)預(yù)測存在一定差異,但差異并不大。MEA、GA、ACO三種算法分別迭代17、36、34次趨于穩(wěn)定,穩(wěn)定后誤差值分別為1.14、1.17、1.26。表明MEA算法迭代次數(shù)較少,且能夠達到更小的穩(wěn)定誤差,在尋找最優(yōu)權(quán)值和閾值方面具有更高的效率和準(zhǔn)確性。
然后,利用選取的3種算法對神經(jīng)網(wǎng)絡(luò)進行優(yōu)化訓(xùn)練,具體結(jié)果見圖4。
圖4 神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果
圖4(a)為利用營口市數(shù)據(jù)測試3種算法對神經(jīng)網(wǎng)絡(luò)進行優(yōu)化訓(xùn)練的結(jié)果。結(jié)果表明,隨著訓(xùn)練的進行,各算法的均方差均開始減小。達到最佳訓(xùn)練狀況時,MEA、GA、ACO分別訓(xùn)練了801、912、974次。由圖4(b)可知,MEA、GA、ACO分別訓(xùn)練了791、883、924次達到最佳訓(xùn)練值。MEA算法在優(yōu)化訓(xùn)練神經(jīng)網(wǎng)絡(luò)時,能夠以較少的訓(xùn)練次數(shù)達到最佳訓(xùn)練狀態(tài),并減小均方差,表明MEA算法在訓(xùn)練效率和性能方面具有一定的優(yōu)勢。
然后,對整個預(yù)測模型(MEA-BP)的運算時間進行測試(定義1個預(yù)測數(shù)據(jù)量為一個月工程造價工料機單一指數(shù)和綜合指數(shù)),具體結(jié)果見圖5。
圖5 模型響應(yīng)時間測試結(jié)果
圖5為3種算法在網(wǎng)絡(luò)上爬取的100個數(shù)據(jù)集中運算時間對比結(jié)果。由圖5可知,隨著數(shù)據(jù)數(shù)量的增加,3種算法的運算時間均增加,但各算法增加幅度不同。約35個數(shù)據(jù)量之前,3種算法的運行時間幾乎一致;隨著數(shù)據(jù)量的增加,ACO和GA運算時間增長幅度越來越大。在100個數(shù)據(jù)量時,ACO運算時間約為8.8s;GA運算時間約為6.4s;MEA-GA運算時間幅度增長相對平和,預(yù)測100個數(shù)據(jù)量的運算時間約為2.4s。表明研究所建模型能夠更高效地處理大規(guī)模數(shù)據(jù),而這也是研究的目的。
最后,對兩個市的2021年7月至2021年12月的綜合造價指數(shù)進行仿真預(yù)測,結(jié)果見圖6。
圖6 綜合造價指數(shù)預(yù)測結(jié)果
圖6(a)為營口市2021年7月至2021年12月的綜合造價指數(shù)對比結(jié)果。結(jié)果表明,該市實際的綜合造價指數(shù)從7月份至11月份逐漸上漲,11月份至12月份略微下降。而研究模型的預(yù)測折線走勢幾乎與實際的綜合造價指數(shù)一致,相對預(yù)測誤差最大為8月份,約為0.25%。而GA和ACO模型的預(yù)測值,除了7月份誤差(分別約為0.56%和0.82%)較小以外,其他月份與實際相比,誤差均相對較大。并且這兩種模型的預(yù)測折線走勢是一直上升的,與實際不符。
由圖6(b)可知,成都市的實際綜合造價指數(shù)先升后降,8月份最高;研究模型的預(yù)測折線走勢同樣如此,且相對預(yù)測誤差最大不超過0.16%。而GA和ACO模型的預(yù)測值與實際值相比,均相差很大,二者最小預(yù)測誤差分別約為0.92%和1.07%。以上數(shù)據(jù)表明,研究模型在預(yù)測不同地區(qū)的工程綜合造價指數(shù)表現(xiàn)較好,可以準(zhǔn)確預(yù)測并反映實際走勢。
準(zhǔn)確預(yù)測工程造價指數(shù),對工程的管理和決策有著重要意義。本文利用改進的GM(1,1),對工料機單一造價指數(shù)進行預(yù)測。在此基礎(chǔ)上,結(jié)合MEA算法和BP神經(jīng)網(wǎng)絡(luò)的各自優(yōu)點,構(gòu)建了基于MEA-BP的工程造價指數(shù)預(yù)測模型。以營口市數(shù)據(jù)為例的測試結(jié)果顯示,MEA迭代27次后,達到穩(wěn)定誤差值1.10,并且訓(xùn)練801次,達到最佳訓(xùn)練值,相對于其他兩種算法,更快且更精準(zhǔn)。研究預(yù)測模型運算100個數(shù)據(jù)量用時2.4s,并且最終的預(yù)測結(jié)果和實際值相比,相對誤差不超過0.25%。以上數(shù)據(jù)表明,研究模型性能較優(yōu),預(yù)測結(jié)果精準(zhǔn),但研究所采用的方法與實際結(jié)果仍存在一定的偏差,有待進一步改進。