張君君
(北票市自來水有限公司,遼寧 朝陽 122100)
本文以北票市城市自來水廠為例,供水量預(yù)測所需的氣候條件、水源信息、水質(zhì)參數(shù)等數(shù)據(jù)來源于水廠生產(chǎn)報(bào)表和設(shè)備在線監(jiān)測資料等,水文信息由相關(guān)水文網(wǎng)下載提供。
BP網(wǎng)絡(luò)輸入?yún)?shù)包括雨水情、氣溫等氣候條件,細(xì)菌總數(shù)、總硬度、CODMn、濁度、氯化物等水質(zhì)參數(shù),水源水文信息,網(wǎng)絡(luò)輸出為水廠供水量預(yù)測值,采用BP網(wǎng)絡(luò)模型預(yù)測2020年12月—2021年7月的水廠供水量。為增強(qiáng)模型預(yù)測結(jié)果的一致性、收斂性和準(zhǔn)確性,降低模型訓(xùn)練和預(yù)測受各參數(shù)單位量綱差異的影響,采用歸一化公式統(tǒng)一處理所有訓(xùn)練樣本數(shù)據(jù),處理后的樣本數(shù)據(jù)處于0~1范圍,具體如式(1):
(1)
BP網(wǎng)絡(luò)模型是一種具有運(yùn)算效率高、自學(xué)習(xí)能力強(qiáng)、適用范圍廣等特點(diǎn)的反向前饋性多層次評(píng)價(jià)方法,從上到下網(wǎng)絡(luò)系統(tǒng)分別為輸入層、隱含層和輸出層如圖1,對(duì)于預(yù)測城市自來水廠供水量具有較強(qiáng)適用性[1-2]。
圖1 BP網(wǎng)絡(luò)結(jié)構(gòu)
相鄰層級(jí)之間利用全連接的方式連接,通過調(diào)整權(quán)值可以控制相互之間的連接程度,而權(quán)值主要利用學(xué)習(xí)過程來控制,同一層級(jí)內(nèi)的神經(jīng)元之間不存在相互連接關(guān)系。網(wǎng)絡(luò)模型的計(jì)算模塊有誤差計(jì)算、函數(shù)傳遞、輸入輸出、自適應(yīng)學(xué)習(xí)等,通過輸入層可以實(shí)現(xiàn)系統(tǒng)信息的輸入,經(jīng)一系列運(yùn)算最終輸出符合預(yù)期誤差要求的預(yù)測結(jié)果[3]。其中,訊號(hào)從隱含層傳遞到輸出節(jié)點(diǎn)的運(yùn)算公式選用非線性Sigmoid激活函數(shù),其表達(dá)式(2)為:
f(x)=1/(1+e-x)
(2)
式中:x為標(biāo)準(zhǔn)化處理后的值。
一般采用非線性、強(qiáng)容錯(cuò)性的訓(xùn)練樣本,通過多次學(xué)習(xí)反映預(yù)測對(duì)象的復(fù)雜關(guān)系,其中訓(xùn)練樣本有輸入向量X、實(shí)際輸出Y、期望輸出Y*等內(nèi)容,并利用下降梯度法確定輸入向量的權(quán)重值。為了使Y與Y*之間的誤差達(dá)到最小必須進(jìn)行多次學(xué)習(xí),直至誤差達(dá)到預(yù)期精度則停止訓(xùn)練[4-6]。依據(jù)誤差計(jì)算模塊可以確定Y與Y*之間的誤差關(guān)系,利用下式(3)表達(dá)兩者的均方誤差:
(3)
因此,采用訓(xùn)練好的網(wǎng)絡(luò)結(jié)構(gòu)自動(dòng)計(jì)算相似樣本,可以保證輸出結(jié)果達(dá)到預(yù)期精度,并以此作為最終的預(yù)測結(jié)果。具體而言,就是以雨水情、氣溫、細(xì)菌總數(shù)、總硬度、CODMn、濁度、氯化物、水源水文信息等初始數(shù)據(jù)作為輸入向量,以水廠供水量預(yù)測結(jié)果作為網(wǎng)絡(luò)輸出值,設(shè)定網(wǎng)絡(luò)結(jié)構(gòu)并訓(xùn)練學(xué)習(xí)樣本,經(jīng)多次反復(fù)學(xué)習(xí)達(dá)到預(yù)期精度后停止運(yùn)算,然后利用該訓(xùn)練好的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行水廠供水量預(yù)測。
本文利用Matlab軟件創(chuàng)建BP網(wǎng)絡(luò)結(jié)構(gòu)(如確定隱含層數(shù)、神經(jīng)元數(shù)和網(wǎng)絡(luò)訓(xùn)練函數(shù)等),網(wǎng)絡(luò)層數(shù)越多則計(jì)算次數(shù)越多,運(yùn)算時(shí)間越長,相應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)也就越復(fù)雜。考慮到供水量預(yù)測輸入的參數(shù)較少,為保證實(shí)際值與輸出結(jié)果的一致性,對(duì)水廠日供水量利用3層級(jí)網(wǎng)絡(luò)進(jìn)行預(yù)測。樣本數(shù)據(jù)來源于2020年12月—2021年7月水廠生產(chǎn)報(bào)表和設(shè)備在線監(jiān)測資料,總樣本數(shù)共210組,從中隨機(jī)選取20%用于檢驗(yàn)樣本,其他80%為訓(xùn)練樣本,設(shè)定最小均方差0.0001,最大訓(xùn)練次數(shù)1000次,學(xué)習(xí)速率0.1。采用tansig、Purelin函數(shù)作為隱含層和輸出層神經(jīng)元運(yùn)算法則,利用L-M算法作為訓(xùn)練函數(shù),從而組成18-7-1網(wǎng)絡(luò)結(jié)構(gòu)。經(jīng)400次 仿真訓(xùn)練,該網(wǎng)絡(luò)結(jié)構(gòu)的計(jì)算精度就達(dá)到0.0001,絕對(duì)百分比平均誤差(MEAP)<5%滿足水廠供水量預(yù)測精度要求。
通過線性擬合建立回歸方程,即Output=0.98Target+0.0035,相關(guān)系數(shù)R2=0.9876。對(duì)于2020年12月—2021年7月水廠供水量,BP網(wǎng)絡(luò)模型預(yù)測結(jié)果未出現(xiàn)異常情況,變化波動(dòng)較小,表明預(yù)測結(jié)果受氣候條件、水質(zhì)參數(shù)和水源水文信息的影響較低,而部分時(shí)段內(nèi)水廠實(shí)際供水量出現(xiàn)一定波動(dòng),這可能與當(dāng)?shù)卣咦兓x表數(shù)據(jù)采集等因素有關(guān)。該時(shí)段內(nèi),水廠的實(shí)際供水量218×103t/d,BP網(wǎng)絡(luò)模型預(yù)測值212×103t/d。因此,水廠供水量實(shí)際值與預(yù)測值基本相同,即使個(gè)別數(shù)據(jù)的離散度較高,但平均誤差總體符合<5%的要求,對(duì)水廠供水量調(diào)度和產(chǎn)水預(yù)測等該BP網(wǎng)絡(luò)模型具有較好的實(shí)用性和可靠性[7-9]。
采用已訓(xùn)練好的網(wǎng)絡(luò)模型自動(dòng)計(jì)算2021年8—9月水廠日供水量,并對(duì)比分析實(shí)際值與預(yù)測值如表1。結(jié)果表明,2021年8月水廠供水量實(shí)際值和預(yù)測值為(245±15)×103t/d、(240±24)×103t/d,相對(duì)誤差2.1%;2021年9月水廠供水量實(shí)際值和預(yù)測值為(230±5)×103t/d、(215±20)×103t/d,相對(duì)誤差6.5%。因此,BP網(wǎng)絡(luò)模型能夠保證供水量預(yù)測精度,隨時(shí)間推移該預(yù)測模型能夠保持較好的準(zhǔn)確性,但實(shí)際值與預(yù)測結(jié)果的標(biāo)準(zhǔn)差有所增大,由此表明仍需進(jìn)一步提高模型的穩(wěn)定性,一般通過輸入更多的訓(xùn)練樣本,經(jīng)多次仿真學(xué)習(xí)可提高模型的精確性和穩(wěn)定性。
表1 水廠供水量預(yù)測值與實(shí)測值
(1)本文充分考慮日供水量受氣象條件、水質(zhì)參數(shù)、水源水文信息等因素的影響,通過BP網(wǎng)絡(luò)結(jié)構(gòu)創(chuàng)建供水量預(yù)測模型,通過樣本數(shù)據(jù)預(yù)處理調(diào)整可能引起供水量突變的數(shù)據(jù),從而保證模型的預(yù)測精度??傮w而言,水廠供水量實(shí)際值與預(yù)測值的平均相對(duì)誤差<5%,對(duì)水廠供水量調(diào)度和產(chǎn)水預(yù)測等該BP網(wǎng)絡(luò)模型具有較好的實(shí)用性和可靠性。
(2)較水廠實(shí)際供水量數(shù)據(jù)模型預(yù)測結(jié)果存在一定的偏差,與當(dāng)?shù)卣咦兓x表數(shù)據(jù)采集等因素有關(guān),為進(jìn)一步提高模型預(yù)測精度,還需采集更多的數(shù)據(jù)不斷優(yōu)化調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)。另外,隨著經(jīng)濟(jì)社會(huì)的發(fā)展和城市化的不斷推進(jìn),城市需水量也將明顯增加,為了實(shí)現(xiàn)水廠的智能化調(diào)度還需考慮各種社會(huì)因素,通過供水量精準(zhǔn)預(yù)測,為水廠調(diào)度運(yùn)行方案設(shè)計(jì)提供數(shù)據(jù)支持。