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