一種供水預(yù)測方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種供水預(yù)測方法及系統(tǒng),方法包括:分析歷史數(shù)據(jù)并建立供水預(yù)測模型,得到輸入層參數(shù)與輸出層輸出的供水量之間的函數(shù)關(guān)系;根據(jù)建立的供水預(yù)測模型和所需預(yù)測日期進行實時供水量預(yù)測;分析歷史數(shù)據(jù)并建立供水預(yù)測模型的過程包括但不限于采用移動平均法對輸入的歷史數(shù)據(jù)進行預(yù)處理過程,采用神經(jīng)網(wǎng)絡(luò)算法確定供水預(yù)測模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu)過程,根據(jù)預(yù)處理后的歷史數(shù)據(jù)以及相應(yīng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)確定供水預(yù)測模型過程。本發(fā)明綜合采用了移動平均法和神經(jīng)網(wǎng)絡(luò)算法來進行供水量預(yù)測,計算的復雜度低,具有明顯的周期性和強非線性,實時性好,能準確描述各種因素對供水量的影響,能加快神經(jīng)網(wǎng)絡(luò)模型的收斂速度,可廣泛應(yīng)用于供水分析領(lǐng)域。
【專利說明】
-種供水預(yù)測方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001 ]本發(fā)明設(shè)及供水分析領(lǐng)域,尤其是一種供水預(yù)測方法及系統(tǒng)。
【背景技術(shù)】
[0002] 城市供水量預(yù)測是指利用過去已有的信息去推求未來某一段時間的城市供水負 荷。城市供水量預(yù)測是城市供水系統(tǒng)規(guī)劃建設(shè)和改造優(yōu)化的重要前期工作,它的準確性與 否將直接影響到工程量大小、工程費用、調(diào)度決策的可靠性和實用性。
[0003] 城市供水量預(yù)測從時間上分類大致分為兩種:短期供水量預(yù)測及中長期供水量預(yù) 。前者是指根據(jù)歷史的供水量數(shù)據(jù)結(jié)合影響短期供水量的各種因素對未來較短時間段的 供水量進行預(yù)測(如小時預(yù)測、日預(yù)測或周預(yù)測),短期預(yù)測的目的是為供水系統(tǒng)的優(yōu)化調(diào) 度管理服務(wù);后者是指根據(jù)歷史的供水量數(shù)據(jù)結(jié)合影響中長期供水量的各種因數(shù)對未來一 年甚至幾年的城市供水量進行預(yù)測,中長期預(yù)測主要為未來長期的規(guī)劃和城市供水管網(wǎng)改 造服務(wù)。城市供水量預(yù)測從空間上分類大致分為兩種:城市總供水量預(yù)測及節(jié)點供水量預(yù) 測,前者服務(wù)于宏觀調(diào)度;后者服務(wù)為城市供水量分配的微觀調(diào)度。
[0004] 優(yōu)化調(diào)度供水量預(yù)測的方法一般分為兩大類:解釋性預(yù)測方法(即回歸分析方法) 和時間序列分析方法,前者認為系統(tǒng)的輸入?yún)?shù)與輸出結(jié)果之間存在著某種復雜的因果關(guān) 系,故W此關(guān)系來構(gòu)造預(yù)測模型進行預(yù)測,該類模型對輸入?yún)?shù)的精度及可靠性要求較高; 后者是把系統(tǒng)看作一個暗箱,可W不管其影響因素,而只關(guān)屯、預(yù)測和預(yù)測的結(jié)果,其預(yù)測過 程只依賴于歷史觀測數(shù)據(jù)。
[0005] 供水量預(yù)測的方法有很多,比較常用的有:指數(shù)平滑模型、移動平均(即MA)模型、 自回歸(即AR)預(yù)測模型、灰色預(yù)測模型和神經(jīng)網(wǎng)絡(luò)預(yù)測等。然而,現(xiàn)有的運些供水量預(yù)測方 法存在著較大的缺陷或不足:指數(shù)平滑模型需要的數(shù)據(jù)量大,計算復雜高;移動平均(M)模 型在周期的選擇上存在一定的困難性,非線性的特征被一定程度的削弱;自回歸(AR)預(yù)測 模型具有明顯的滯后性,當實際數(shù)據(jù)發(fā)生異常變化時,預(yù)測數(shù)據(jù)因模型的平滑作用而無法 反應(yīng)出異常變化,使得其在預(yù)測一些異常值時造成較大誤差甚至失真;灰色預(yù)測模型很難 準確描述各種因素對供水量的影響;傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型收斂慢,容易陷入局部最小值的 情形。
【發(fā)明內(nèi)容】
[0006] 為解決上述技術(shù)問題,本發(fā)明的目的在于:提供一種計算復雜度低、實時、預(yù)測精 度高、能準確描述各種因素和收斂快的,對供水量的影響供水預(yù)測方法。
[0007] 本發(fā)明的另一目的在于:提供一種計算簡單、實時、預(yù)測精度高、能準確描述各種 因素和收斂快的,供水預(yù)測系統(tǒng)。
[000引本發(fā)明所采取的技術(shù)方案是:
[0009] -種供水預(yù)測方法,包括W下步驟:
[0010] S1、分析歷史數(shù)據(jù)并建立供水預(yù)測模型,得到輸入層參數(shù)與輸出層輸出的供水量 之間的函數(shù)關(guān)系;
[0011] S2、根據(jù)建立的供水預(yù)測模型和所需預(yù)測日期進行實時供水量預(yù)測;
[0012] 所述分析歷史數(shù)據(jù)并建立供水預(yù)測模型的過程包括但不限于采用移動平均法對 輸入的歷史數(shù)據(jù)進行預(yù)處理過程,采用神經(jīng)網(wǎng)絡(luò)算法確定供水預(yù)測模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu)過 程,根據(jù)預(yù)處理后的歷史數(shù)據(jù)W及相應(yīng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)確定供水預(yù)測模型過程。
[OOU] 進一步,所述步驟Sl包括;
[0014] S11、根據(jù)供水過程的特性確定供水預(yù)測模型的輸入?yún)?shù);
[0015] S12、采用移動平均法對輸入的歷史數(shù)據(jù)進行預(yù)處理;
[0016] S13、采用S層BP神經(jīng)網(wǎng)絡(luò)模型建立供水預(yù)測模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu);
[0017] S14、確定S層BP神經(jīng)網(wǎng)絡(luò)模型的計算參數(shù);
[0018] S15、根據(jù)預(yù)處理后的歷史數(shù)據(jù)W及S層BP神經(jīng)網(wǎng)絡(luò)模型相應(yīng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)進 行訓練,然后根據(jù)訓練的結(jié)果確定供水預(yù)測模型。
[0019] 進一步,所述步驟S12包括:
[0020] S121、對初始樣本中輸入的歷史數(shù)據(jù)進行平滑處理,得到去除突變異常點后的樣 本數(shù)據(jù),所述突變異常點滿足:
[0021]
[0022] 其中,Qin為第n個樣本的歷史供水量值,n=l,2,…,N;N為最大樣本數(shù),O(Q)
[0023] 為歷史供水量樣本的均方差,O(Q)的計算公式為:
[0024]
[0025] S122、對去除突變異常點后的樣本數(shù)據(jù)中小范圍內(nèi)的波動點和斜率突然變化的樣 本點進行優(yōu)化,得到優(yōu)化后的樣本數(shù)據(jù);
[0026] S123、對優(yōu)化后的樣本數(shù)據(jù)進行移動平均處理,所述移動平均處理所采用的公式 為:
[0027]
[0028] 其中,耐為優(yōu)化后的樣本數(shù)據(jù)中第9個樣本的樣本值,^^為優(yōu)化后的樣本數(shù)據(jù)中第 q個樣本的移動平均值,h為移動平均的周期數(shù);
[0029] S124、對移動平均處理后的所有樣本數(shù)據(jù)進行歸一化處理,所述歸一化處理所采 用的公式為:
[0030]
[0031] 其中,巧^ >分別為移動平均處理后的所有樣本中第j個字段歸一化處理前的 值和歸一化處理后的值,分別表示所有樣本中第j個字段歸一化處理前的最大 值和歸一化處理后的最大值,。分別表示所有樣本中第j個字段歸一化處理前的 最小值和歸一化處理后的最小值,if >的取范圍為[0,1]。
[0032] 進一步,所述供水預(yù)測模型的輸入?yún)?shù)包括但不限于歷史用水量、天氣情況、溫 度、濕度、節(jié)假日情況、工業(yè)情況、城鎮(zhèn)居民生活條件、人口和GDP中的任意一種或多種,每個 參數(shù)構(gòu)成輸入層的一個節(jié)點,輸出層輸出第二天的供水量,并采用相關(guān)性分析的方法對輸 入?yún)?shù)進行分析,計算各參數(shù)與供水量的之間的相關(guān)系數(shù)及各參數(shù)對供水量的貢獻率,然 后選取與供水量相關(guān)系數(shù)高的參數(shù)作為影響日供水量的主要因子,并設(shè)定闊值作為神經(jīng)網(wǎng) 絡(luò)流出神經(jīng)元的控制量;所述神經(jīng)網(wǎng)絡(luò)算法采用神經(jīng)元為基本處理單元,所述神經(jīng)元為多 輸入、單輸出的非線性器件;所述S層BP神經(jīng)網(wǎng)絡(luò)模型的計算參數(shù)包括但不限于各層神經(jīng) 元之間的權(quán)值、神經(jīng)元中的激勵函數(shù)及數(shù)據(jù)流出神經(jīng)元的闊值,所述各層神經(jīng)元之間的權(quán) 值W及數(shù)據(jù)流出神經(jīng)元的闊值由random函數(shù)隨機生成的20種初始的權(quán)值矩陣和闊值輸入 S層BP神經(jīng)網(wǎng)絡(luò)模型計算而來,所述初始的權(quán)值和闊值均在(0,1)之間隨機取值,所述神經(jīng) 元中的激勵函數(shù)采用Log-S i gmo i d函1
[0033] 進一步,所述供水預(yù)測模型WS層BP神經(jīng)網(wǎng)絡(luò)作為網(wǎng)絡(luò)拓撲結(jié)構(gòu),所述輸入層與 輸出層之間設(shè)置有隱含層,所述=層BP神經(jīng)網(wǎng)絡(luò)的輸入層數(shù)目m、輸出層數(shù)目m和隱含層數(shù) 目02滿足:n2 = sqd(ni+m)+a,其中,sqd函數(shù)為平方根函數(shù),a為常數(shù),且a取1到10的自然 數(shù);所述隱含層的節(jié)點根據(jù)輸入層的節(jié)點數(shù)確定并通過增減節(jié)點數(shù)進行訓練對比,所述神 經(jīng)網(wǎng)絡(luò)算法中每層的輸出函數(shù)為輸入函數(shù)關(guān)于該層的激發(fā)函數(shù)的函數(shù);若所述輸出層的輸 出結(jié)果與期望值不符,將輸出層的誤差轉(zhuǎn)化為各層各個節(jié)點的連接權(quán)值與闊值的誤差,將 輸出層的誤差逐層向輸入層反向傳遞,把誤差分攤到各個節(jié)點,計算各個節(jié)點的參考誤差, 并調(diào)整各個節(jié)點的連接權(quán)值及闊值大小,直到誤差最小。
[0034] 進一步,所述步驟Sl 5具體為:
[0035] 根據(jù)預(yù)處理后的歷史數(shù)據(jù)W及S層BP神經(jīng)網(wǎng)絡(luò)模型相應(yīng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)采用訓 練精度模式、學習次數(shù)模式或者兩種模式的結(jié)合進行訓練,然后根據(jù)訓練的結(jié)果確定供水 預(yù)測模型;
[0036] 其中,采用訓練精度模式進行訓練包括如下步驟:根據(jù)S層BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)拓 撲結(jié)構(gòu)計算網(wǎng)絡(luò)誤差,計算訓練過程的總誤差,判斷總誤差是否達到設(shè)定精度,當判斷沒有 達到精度時重復上述步驟直至達到設(shè)定精度,根據(jù)網(wǎng)絡(luò)誤差修改網(wǎng)絡(luò)權(quán)重并完成訓練;所 述采用學習次數(shù)模式進行訓練包括如下步驟:根據(jù)S層BP神經(jīng)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu)計 算網(wǎng)絡(luò)誤差,根據(jù)計算的網(wǎng)絡(luò)誤差修改網(wǎng)絡(luò)權(quán)重,將訓練次數(shù)加1,判斷是否達到最大訓練 次數(shù),若判斷沒有達到最大訓練次數(shù)則重復上述步驟直至達到最大訓練次數(shù)完成訓練;采 用訓練精度模式結(jié)合學習次數(shù)模式進行訓練包括如下步驟:根據(jù)S層BP神經(jīng)網(wǎng)絡(luò)模型的網(wǎng) 絡(luò)拓撲結(jié)構(gòu)正向傳播計算網(wǎng)絡(luò)誤差,計算訓練過程的總誤差,判斷總誤差是否達到設(shè)定精 度,判斷是否達到最大訓練次數(shù),當判斷沒有達到精度時或沒有達到最大訓練次數(shù)時重復 上述步驟直至達到設(shè)定精度和最大訓練次數(shù),根據(jù)網(wǎng)絡(luò)誤差修改網(wǎng)絡(luò)權(quán)重;
[0037] 所述訓練過程的總誤差為所有含有預(yù)處理后的歷史數(shù)據(jù)樣本誤差的均方差之和;
[0038] 所述訓練過程采用改進的變步長梯度下降法修正各個節(jié)點的權(quán)值及誤差,各個節(jié) 點當前時刻的權(quán)值修正量A w(t)為:A w(t)=riS+a A w(t-l),其中,A w(t-l)為各個節(jié)點上 一時刻的權(quán)值修正量,S為各個節(jié)點理論計算得到的權(quán)值修正量,a為動量系數(shù),且a G (0, i),n為自適應(yīng)調(diào)節(jié)學習率,n的調(diào)整方式為:先設(shè)定初始步長,若進行一次迭代后節(jié)點的誤 差增大,則將步長和n均乘W小于1的調(diào)節(jié)因子e,然后沿原方向重新進行下一次迭代;若進 行一次迭代后節(jié)點的誤差減小,則將步長和n均乘W大于1的調(diào)節(jié)因子0,然后沿原方向重新 進行下一次迭代。
[0039] 進一步,所述步驟S2包括:
[0040] S21、輸入預(yù)測所需的參數(shù)。
[0041] S22、判斷所需預(yù)測日期是否與上一次預(yù)測日期一致,若是,則根據(jù)輸入的參數(shù)和 上一次預(yù)測日期的供水預(yù)測模型正向計算所需預(yù)測日期的供水量,反之,則在執(zhí)行步驟S15 更新供水預(yù)測模型后正向計算所需預(yù)測日期的供水量;
[0042] S23、判斷所需預(yù)測日期是否為節(jié)假日,若是,則W歷史當日的數(shù)據(jù)作為參考數(shù)據(jù) 重新預(yù)測所需預(yù)測日期的供水量,并將重新預(yù)測的供水量進行輸出;反之,則直接輸出步驟 S22計算出的預(yù)測供水量。
[0043] 本發(fā)明所采取的另一技術(shù)方案是:
[0044] -種供水預(yù)測系統(tǒng),包括:
[0045] 建模模塊,用于分析歷史數(shù)據(jù)并建立供水預(yù)測模型,得到輸入層參數(shù)與輸出層輸 出的供水量之間的函數(shù)關(guān)系;
[0046] 預(yù)測模塊,用于根據(jù)建立的供水預(yù)測模型和所需預(yù)測日期進行實時供水量預(yù)測;
[0047] 所述分析歷史數(shù)據(jù)并建立供水預(yù)測模型的過程包括但不限于采用移動平均法對 輸入的歷史數(shù)據(jù)進行預(yù)處理過程,采用神經(jīng)網(wǎng)絡(luò)算法確定供水預(yù)測模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu)過 程,根據(jù)預(yù)處理后的歷史數(shù)據(jù)W及相應(yīng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)確定供水預(yù)測模型過程;
[0048] 所述建模模塊的輸出端與預(yù)測模塊的輸入端連接。
[0049] 進一步,所述建模模塊包括:
[0050] 輸入?yún)?shù)確定單元,用于根據(jù)供水過程的特性確定供水預(yù)測模型的輸入?yún)?shù);
[0051] 預(yù)處理單元,用于采用移動平均法對輸入的歷史數(shù)據(jù)進行預(yù)處理;
[0052] 拓撲結(jié)構(gòu)建立單元,用于采用S層BP神經(jīng)網(wǎng)絡(luò)模型建立供水預(yù)測模型的網(wǎng)絡(luò)拓撲 結(jié)構(gòu);
[0053] 計算參數(shù)確定單元,用于確定S層BP神經(jīng)網(wǎng)絡(luò)模型的計算參數(shù);
[0054] 訓練單元,用于根據(jù)預(yù)處理后的歷史數(shù)據(jù)W及S層BP神經(jīng)網(wǎng)絡(luò)模型相應(yīng)的網(wǎng)絡(luò)拓 撲結(jié)構(gòu)進行訓練,然后根據(jù)訓練的結(jié)果確定供水預(yù)測模型;
[0055] 所述輸入?yún)?shù)確定單元的輸出端依次通過預(yù)處理單元、拓撲結(jié)構(gòu)建立單元、計算 參數(shù)確定單元和訓練單元進而與預(yù)測模塊的輸入端連接。
[0化6] 進一步,所述預(yù)處理單元包括:
[0057]平滑處理子單元,用于對初始樣本中輸入的歷史數(shù)據(jù)進行平滑處理,得到去除突 變異常點后的樣本數(shù)據(jù),所述突變異常點滿足:
[0化8;
[0059] 其中,Qin為第n個樣本的歷史供水量值,n=l,2,…,N;N為最大樣本數(shù),O(Q)
[0060] 為歷史供水量樣本的均方差,O(Q)的計算公式為:
[0061]
[0062] 優(yōu)化子單元,用于對去除突變異常點后的樣本數(shù)據(jù)中小范圍內(nèi)的波動點和斜率突 然變化的樣本點進行優(yōu)化,得到優(yōu)化后的樣本數(shù)據(jù);
[0063] 移動平均處理子單元,用于對優(yōu)化后的樣本數(shù)據(jù)進行移動平均處理,所述移動平 配巧田的A井電.
[0064]
[0065] 其中,Xq為優(yōu)化后的樣本數(shù)據(jù)中第q個樣本的樣本值,^為優(yōu)化后的樣本數(shù)據(jù)中第 q個樣本的移動平均值,h為移動平均的周期數(shù);
[0066] 歸一化處理子單元,用于對移動平均處理后的所有樣本數(shù)據(jù)進行歸一化處理,所
述歸一A巧航要田的公才兩?
[0067]
[0068] 其中,和文^/>分別為移動平均處理后的所有樣本中第j個字段歸一化處理前 的值和歸一化處理后的值,Xjmax和分別表示所有樣本中第j個字段歸一化處理前的最 大值和歸一化處理后的最大值,分別表示所有樣本中第j個字段歸一化處理前 的最小值和歸一化處理后的最小值,的取范圍為[0,1];
[0069] 所述輸入?yún)?shù)的輸出端確定單元依次通過平滑處理子單元、優(yōu)化子單元、移動平 均處理子單元和歸一化處理子單元進而與拓撲結(jié)構(gòu)建立單元的輸入端連接。
[0070] 本發(fā)明的方法的有益效果是:分析歷史數(shù)據(jù)并建立供水預(yù)測模型的過程包括但不 限于采用移動平均法對輸入的歷史數(shù)據(jù)進行預(yù)處理過程W及采用神經(jīng)網(wǎng)絡(luò)算法確定供水 預(yù)測模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu)過程,綜合采用了移動平均法和神經(jīng)網(wǎng)絡(luò)算法來進行供水量預(yù) ,能夠利用較少的歷史數(shù)據(jù)精確預(yù)測出未來的供水量,計算的復雜度低;結(jié)合神經(jīng)網(wǎng)絡(luò)算 法來進行預(yù)測,有效克服了單一移動平均算法周期選擇困難和非線性特征弱的缺點,具有 明顯的周期性和強非線性;采用了移動平均法,去掉了部分噪音,提高了樣本的精度;采用 了神經(jīng)網(wǎng)絡(luò)算法,能實時反應(yīng)出實際數(shù)據(jù)的異常變化,實時性好,且能準確描述各種因素對 供水量的影響;結(jié)合了移動平均法,能加快神經(jīng)網(wǎng)絡(luò)模型的收斂速度。
[0071] 本發(fā)明的系統(tǒng)的有益效果是:建模模塊分析歷史數(shù)據(jù)并建立供水預(yù)測模型的過程 包括但不限于采用移動平均法對輸入的歷史數(shù)據(jù)進行預(yù)處理過程W及采用神經(jīng)網(wǎng)絡(luò)算法 確定供水預(yù)測模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu)過程,綜合采用了移動平均法和神經(jīng)網(wǎng)絡(luò)算法來進行供 水量預(yù)測,能夠利用較少的歷史數(shù)據(jù)精確預(yù)測出未來的供水量,計算的復雜度低;結(jié)合神經(jīng) 網(wǎng)絡(luò)算法來進行預(yù)測,有效克服了單一移動平均算法周期選擇困難和非線性特征弱的缺 點,具有明顯的周期性和強非線性;采用了移動平均法,去掉了部分噪音,提高了樣本的精 度;采用了神經(jīng)網(wǎng)絡(luò)算法,能實時反應(yīng)出實際數(shù)據(jù)的異常變化,實時性好,且能準確描述各 種因素對供水量的影響;結(jié)合了移動平均法,能加快神經(jīng)網(wǎng)絡(luò)模型的收斂速度。
【附圖說明】
[0072] 圖1為本發(fā)明一種供水預(yù)測方法的整體流程圖;
[0073] 圖2為本發(fā)明一種供水預(yù)測系統(tǒng)的結(jié)構(gòu)框圖;
[0074] 圖3為本發(fā)明實施例二進行建模的流程圖;
[0075] 圖4為本發(fā)明的實施例二采用訓練精度模式結(jié)合訓練次數(shù)進行訓練的流程圖;
[0076] 圖5為本發(fā)明實施例二根據(jù)訓練得到的預(yù)測模型進行供水預(yù)測的流程圖。
【具體實施方式】
[0077] 參照圖1,一種供水預(yù)測方法,包括W下步驟:
[0078] S1、分析歷史數(shù)據(jù)并建立供水預(yù)測模型,得到輸入層參數(shù)與輸出層輸出的供水量 之間的函數(shù)關(guān)系;
[0079] S2、根據(jù)建立的供水預(yù)測模型和所需預(yù)測日期進行實時供水量預(yù)測;
[0080] 所述分析歷史數(shù)據(jù)并建立供水預(yù)測模型的過程包括但不限于采用移動平均法對 輸入的歷史數(shù)據(jù)進行預(yù)處理過程,采用神經(jīng)網(wǎng)絡(luò)算法確定供水預(yù)測模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu)過 程,根據(jù)預(yù)處理后的歷史數(shù)據(jù)W及相應(yīng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)確定供水預(yù)測模型過程。
[0081] 進一步作為優(yōu)選的實施方式,所述步驟Sl包括:
[0082] S11、根據(jù)供水過程的特性確定供水預(yù)測模型的輸入?yún)?shù);
[0083] S12、采用移動平均法對輸入的歷史數(shù)據(jù)進行預(yù)處理;
[0084] S13、采用S層BP神經(jīng)網(wǎng)絡(luò)模型建立供水預(yù)測模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu);
[0085] S14、確定S層BP神經(jīng)網(wǎng)絡(luò)模型的計算參數(shù);
[0086] S15、根據(jù)預(yù)處理后的歷史數(shù)據(jù)W及S層BP神經(jīng)網(wǎng)絡(luò)模型相應(yīng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)進 行訓練,然后根據(jù)訓練的結(jié)果確定供水預(yù)測模型。
[0087] 進一步作為優(yōu)選的實施方式,所述步驟S12包括:
[0088] S121、對初始樣本中輸入的歷史數(shù)據(jù)進行平滑處理,得到去除突變異常點后的樣 本數(shù)據(jù),所述突變異常點滿足:
[0089;
[0090]其中,Qin為第n個樣本的歷史供水量值,n=l,2,…,N;N為最大樣本數(shù),O(Q)為歷史 供水量樣本的均方差,O(Q)的計算公式為:
[0091]
[0092] S122、對去除突變異常點后的樣本數(shù)據(jù)中小范圍內(nèi)的波動點和斜率突然變化的樣 本點進行優(yōu)化,得到優(yōu)化后的樣本數(shù)據(jù);
[0093] S123、對優(yōu)化后的樣本數(shù)據(jù)進行移動平均處理,所述移動平均處理所采用的公式 為:
[0094]
[00M]其中,Xq為優(yōu)化后的樣本數(shù)據(jù)中第q個樣本的樣本值,;^為優(yōu)化后的樣本數(shù)據(jù)中第 q個樣本的移動平均值,h為移動平均的周期數(shù);
[0096] S124、對移動平均處理后的所有樣本數(shù)據(jù)進行歸一化處理,所述歸一化處理所采 用的公式為:
[0097]
[0098] 其中,XJW和分別為移動平均處理后的所有樣本中第j個字段歸一化處理前的 值和歸一化處理后的值,Xjmax和スym。X分別表示所有樣本中第j個字段歸一化處理前的最大 值和歸一化處理后的最大值,Xjmin和分別表示所有樣本中第j個字段歸一化處理前的 最小值和歸一化處理后的最小值,.的取范圍為[0,1]。
[0099] 進一步作為優(yōu)選的實施方式,所述供水預(yù)測模型的輸入?yún)?shù)包括但不限于歷史用 水量、天氣情況、溫度、濕度、節(jié)假日情況、工業(yè)情況、城鎮(zhèn)居民生活條件、人口和GDP中的任 意一種或多種,每個參數(shù)構(gòu)成輸入層的一個節(jié)點,輸出層輸出第二天的供水量,并采用相關(guān) 性分析的方法對輸入?yún)?shù)進行分析,計算各參數(shù)與供水量的之間的相關(guān)系數(shù)及各參數(shù)對供 水量的貢獻率,然后選取與供水量相關(guān)系數(shù)高的參數(shù)作為影響日供水量的主要因子,并設(shè) 定闊值作為神經(jīng)網(wǎng)絡(luò)流出神經(jīng)元的控制量;所述神經(jīng)網(wǎng)絡(luò)算法采用神經(jīng)元為基本處理單 元,所述神經(jīng)元為多輸入、單輸出的非線性器件;所述S層BP神經(jīng)網(wǎng)絡(luò)模型的計算參數(shù)包括 但不限于各層神經(jīng)元之間的權(quán)值、神經(jīng)元中的激勵函數(shù)及數(shù)據(jù)流出神經(jīng)元的闊值,所述各 層神經(jīng)元之間的權(quán)值W及數(shù)據(jù)流出神經(jīng)元的闊值由random函數(shù)隨機生成的20種初始的權(quán) 值矩陣和闊值輸入S層BP神經(jīng)網(wǎng)絡(luò)模型計算而來,所述初始的權(quán)值和闊值均在(0,1)之間 隨機取值,所述神經(jīng)元中的激勵函數(shù)采用Log-Sigmoid函數(shù):./'W =
[0100] 進一步作為優(yōu)選的實施方式,所述供水預(yù)測模型WS層BP神經(jīng)網(wǎng)絡(luò)作為網(wǎng)絡(luò)拓撲 結(jié)構(gòu),所述輸入層與輸出層之間設(shè)置有隱含層,所述=層BP神經(jīng)網(wǎng)絡(luò)的輸入層數(shù)目m、輸出 層數(shù)目m和隱含層數(shù)目m滿足:n2 = sqd(m+m)+a,其中,sqrt函數(shù)為平方根函數(shù),a為常數(shù), 且a取1到10的自然數(shù);所述隱含層的節(jié)點根據(jù)輸入層的節(jié)點數(shù)確定并通過增減節(jié)點數(shù)進行 訓練對比,所述神經(jīng)網(wǎng)絡(luò)算法中每層的輸出函數(shù)為輸入函數(shù)關(guān)于該層的激發(fā)函數(shù)的函數(shù); 若所述輸出層的輸出結(jié)果與期望值不符,將輸出層的誤差轉(zhuǎn)化為各層各個節(jié)點的連接權(quán)值 與闊值的誤差,將輸出層的誤差逐層向輸入層反向傳遞,把誤差分攤到各個節(jié)點,計算各個 節(jié)點的參考誤差,并調(diào)整各個節(jié)點的連接權(quán)值及闊值大小,直到誤差最小。
[0101] 進一步作為優(yōu)選的實施方式,所述步驟S15具體為:
[0102] 根據(jù)預(yù)處理后的歷史數(shù)據(jù)W及S層BP神經(jīng)網(wǎng)絡(luò)模型相應(yīng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)采用訓 練精度模式、學習次數(shù)模式或者兩種模式的結(jié)合進行訓練,然后根據(jù)訓練的結(jié)果確定供水 預(yù)測模型;
[0103] 其中,采用訓練精度模式進行訓練包括如下步驟:根據(jù)S層BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)拓 撲結(jié)構(gòu)計算網(wǎng)絡(luò)誤差,計算訓練過程的總誤差,判斷總誤差是否達到設(shè)定精度,當判斷沒有 達到精度時重復上述步驟直至達到設(shè)定精度,根據(jù)網(wǎng)絡(luò)誤差修改網(wǎng)絡(luò)權(quán)重并完成訓練;所 述采用學習次數(shù)模式進行訓練包括如下步驟:根據(jù)S層BP神經(jīng)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu)計 算網(wǎng)絡(luò)誤差,根據(jù)計算的網(wǎng)絡(luò)誤差修改網(wǎng)絡(luò)權(quán)重,將訓練次數(shù)加1,判斷是否達到最大訓練 次數(shù),若判斷沒有達到最大訓練次數(shù)則重復上述步驟直至達到最大訓練次數(shù)完成訓練;采 用訓練精度模式結(jié)合學習次數(shù)模式進行訓練包括如下步驟:根據(jù)S層BP神經(jīng)網(wǎng)絡(luò)模型的網(wǎng) 絡(luò)拓撲結(jié)構(gòu)正向傳播計算網(wǎng)絡(luò)誤差,計算訓練過程的總誤差,判斷總誤差是否達到設(shè)定精 度,判斷是否達到最大訓練次數(shù),當判斷沒有達到精度時或沒有達到最大訓練次數(shù)時重復 上述步驟直至達到設(shè)定精度和最大訓練次數(shù),根據(jù)網(wǎng)絡(luò)誤差修改網(wǎng)絡(luò)權(quán)重;
[0104] 所述訓練過程的總誤差為所有含有預(yù)處理后的歷史數(shù)據(jù)樣本誤差的均方差之和;
[0105] 所述訓練過程采用改進的變步長梯度下降法修正各個節(jié)點的權(quán)值及誤差,各個節(jié) 點當前時刻的權(quán)值修正量A w(t)為:A w(t)=riS+a A w(t-l),其中,A w(t-l)為各個節(jié)點上 一時刻的權(quán)值修正量,S為各個節(jié)點理論計算得到的權(quán)值修正量,a為動量系數(shù),且a G (0, i),n為自適應(yīng)調(diào)節(jié)學習率,n的調(diào)整方式為:先設(shè)定初始步長,若進行一次迭代后節(jié)點的誤 差增大,則將步長和n均乘W小于1的調(diào)節(jié)因子e,然后沿原方向重新進行下一次迭代;若進 行一次迭代后節(jié)點的誤差減小,則將步長和n均乘W大于1的調(diào)節(jié)因子0,然后沿原方向重新 進行下一次迭代。
[0106] 進一步作為優(yōu)選的實施方式,所述步驟S2包括:
[0107] S21、輸入預(yù)測所需的參數(shù)。
[0108] S22、判斷所需預(yù)測日期是否與上一次預(yù)測日期一致,若是,則根據(jù)輸入的參數(shù)和 上一次預(yù)測日期的供水預(yù)測模型正向計算所需預(yù)測日期的供水量,反之,則在執(zhí)行步驟S15 更新供水預(yù)測模型后正向計算所需預(yù)測日期的供水量;
[0109] S23、判斷所需預(yù)測日期是否為節(jié)假日,若是,則W歷史當日的數(shù)據(jù)作為參考數(shù)據(jù) 重新預(yù)測所需預(yù)測日期的供水量,并將重新預(yù)測的供水量進行輸出;反之,則直接輸出步驟 S22計算出的預(yù)測供水量。
[0110] 參照圖2,一種供水預(yù)測系統(tǒng),包括:
[0111] 建模模塊,用于分析歷史數(shù)據(jù)并建立供水預(yù)測模型,得到輸入層參數(shù)與輸出層輸 出的供水量之間的函數(shù)關(guān)系;
[0112] 預(yù)測模塊,用于根據(jù)建立的供水預(yù)測模型和所需預(yù)測日期進行實時供水量預(yù)測;
[0113] 所述分析歷史數(shù)據(jù)并建立供水預(yù)測模型的過程包括但不限于采用移動平均法對 輸入的歷史數(shù)據(jù)進行預(yù)處理過程,采用神經(jīng)網(wǎng)絡(luò)算法確定供水預(yù)測模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu)過 程,根據(jù)預(yù)處理后的歷史數(shù)據(jù)W及相應(yīng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)確定供水預(yù)測模型過程;
[0114] 所述建模模塊的輸出端與預(yù)測模塊的輸入端連接。
[0115] 參照圖2,進一步作為優(yōu)選的實施方式,所述建模模塊包括:
[0116] 輸入?yún)?shù)確定單元,用于根據(jù)供水過程的特性確定供水預(yù)測模型的輸入?yún)?shù);
[0117] 預(yù)處理單元,用于采用移動平均法對輸入的歷史數(shù)據(jù)進行預(yù)處理;
[0118] 拓撲結(jié)構(gòu)建立單元,用于采用S層BP神經(jīng)網(wǎng)絡(luò)模型建立供水預(yù)測模型的網(wǎng)絡(luò)拓撲 結(jié)構(gòu);
[0119] 計算參數(shù)確定單元,用于確定S層BP神經(jīng)網(wǎng)絡(luò)模型的計算參數(shù);
[0120] 訓練單元,用于根據(jù)預(yù)處理后的歷史數(shù)據(jù)W及S層BP神經(jīng)網(wǎng)絡(luò)模型相應(yīng)的網(wǎng)絡(luò)拓 撲結(jié)構(gòu)進行訓練,然后根據(jù)訓練的結(jié)果確定供水預(yù)測模型;
[0121] 所述輸入?yún)?shù)確定單元的輸出端依次通過預(yù)處理單元、拓撲結(jié)構(gòu)建立單元、計算 參數(shù)確定單元和訓練單元進而與預(yù)測模塊的輸入端連接。
[0122] 參照圖2,進一步作為優(yōu)選的實施方式,所述預(yù)處理單元包括:
[0123] 平滑處理子單元,用于對初始樣本中輸入的歷史數(shù)據(jù)進行平滑處理,得到去除突 變異常點后的樣本數(shù)據(jù),所述突變異常點滿足:
[0124]
[0125] 其中,Qin為第n個樣本的歷史供水量值,n=l,2,…,N;N為最大樣本數(shù),O(Q)
[0126] 為歷史供水量樣本的均方差,O(Q)的計算公式為:
[0127]
[0128] 優(yōu)化子單元,用于對去除突變異常點后的樣本數(shù)據(jù)中小范圍內(nèi)的波動點和斜率突 然變化的樣本點進行優(yōu)化,得到優(yōu)化后的樣本數(shù)據(jù);
[0129] 移動平均處理子單元,用于對優(yōu)化后的樣本數(shù)據(jù)進行移動平均處理,所述移動平 均處理所采用的公式為:
[0130;
[0131] 其中,Xq為優(yōu)化后的樣本數(shù)據(jù)中第q個樣本的樣本值,^為優(yōu)化后的樣本數(shù)據(jù)中第 q個樣本的移動平均值,h為移動平均的周期數(shù);
[0132] 歸一化處理子單元,用于對移動平均處理后的所有樣本數(shù)據(jù)進行歸一化處理,所 述歸一化處理所采用的公式為:
[0133]
[0134] 其中,分別為移動平均處理后的所有樣本中第j個字段歸一化處理前 的值和歸一化處理后的值,?max和?.lna)c分別表示所有樣本中第j個字段歸一化處理前的最 大值和歸一化處理后的最大值,刮。1。和^1。山分別表示所有樣本中第j個字段歸一化處理前 的最小值和歸一化處理后的最小值的取范圍為[0,1];
[0135] 所述輸入?yún)?shù)的輸出端確定單元依次通過平滑處理子單元、優(yōu)化子單元、移動平 均處理子單元和歸一化處理子單元進而與拓撲結(jié)構(gòu)建立單元的輸入端連接。
[0136] 下面結(jié)合說明書附圖和具體實施例對本發(fā)明作進一步詳細說明。
[0137] 實施例一
[0138] 為了克服現(xiàn)有供水預(yù)測所存在的問題,本發(fā)明提出了一種由移動平均法與神經(jīng)網(wǎng) 絡(luò)預(yù)測方法相結(jié)合而成的供水預(yù)測方法,該方法能夠較精確反映出城市供水的規(guī)律性;能 夠利用較少的歷史數(shù)據(jù)精確預(yù)測出未來的供水量,同時在外界條件變化的情況下能保持較 高的預(yù)測精度且能提供自動更新校核的智能供水量預(yù)測模型。該方法主要包括建模步驟和 實時預(yù)測步驟運兩大部分。
[0139] 其中,建模步驟分析歷史數(shù)據(jù)并建立供水預(yù)測模型,建立輸入層參數(shù)與輸出層輸 出的供水量之間的函數(shù)關(guān)系。實時預(yù)測步驟根據(jù)建模步驟建立的供水預(yù)測模型W及輸入?yún)?數(shù)實時預(yù)測目標預(yù)測日期的供水量。
[0140] 建模步驟包括:根據(jù)供水過程的特性確定供水預(yù)測模型的輸入?yún)?shù)、對輸入的歷 史數(shù)據(jù)預(yù)處理、確定BP神經(jīng)網(wǎng)絡(luò)的拓撲結(jié)構(gòu),確定供水預(yù)測模型的計算參數(shù),根據(jù)輸入歷史 數(shù)據(jù)結(jié)合相應(yīng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)進行訓練,并根據(jù)訓練結(jié)果確定供水預(yù)測模型。
[0141] (1)確定供水預(yù)測模型的輸入?yún)?shù)。
[0142] 建模步驟的輸入?yún)?shù)包括歷史用水量、天氣情況、溫度、濕度、節(jié)假日情況、工業(yè)情 況,城鎮(zhèn)居民生活條件,人口和GDP中的任意一種或多種。采用相關(guān)性分析的方法對上述輸 入因子進行分析,計算各因素與供水量間的相關(guān)系數(shù)及各因素對供水量的貢獻率,并選取 與供水量相關(guān)系數(shù)較高的因素作為影響日供水量的主要因子。每個參數(shù)構(gòu)成輸入層的一個 節(jié)點,輸出層輸出預(yù)測日期(如第二天)的供水量,神經(jīng)網(wǎng)絡(luò)算法采用神經(jīng)元為基本處理單 元,神經(jīng)元為多輸入、單輸出的非線性器件。
[0143] (2)輸入的歷史數(shù)據(jù)的預(yù)處理。
[0144] 建模步驟中對輸入的歷史數(shù)據(jù)預(yù)處理尤為關(guān)鍵。初始樣本中往往會滲雜一些與研 究問題不相關(guān)的因素、相關(guān)性不大的因素,運些因素往往會對初始樣本造成影響,影響了模 型的精度和穩(wěn)定性。對于供水預(yù)測問題來說,歷史流量對外界最為敏感,受異常情況的影響 最為明顯,故本發(fā)明采用改進的移動平均法對歷史流量數(shù)據(jù)進行預(yù)處理,在保證樣本真實 性的同時排除一些系統(tǒng)誤差和記錄誤差,提高樣本精度。本發(fā)明對歷史流量數(shù)據(jù)進行預(yù)處 理步驟包括:
[0145] 1)對歷史的供水量資料進行平滑處理,W排除偶然因素造成的突變異常點。平滑
[0146] 處理采用W下的3倍均方差方法:
[0147]
[0148] 其中,Qin為歷史流量值,將符合公式(2)條件的點從樣本中除去,W剩下的樣本作 為訓練樣本輸入神經(jīng)網(wǎng)絡(luò)模型進行訓練。
[0149] 2)對于小范圍的波動點和斜率突然變化的樣本點,本發(fā)明依據(jù)廠區(qū)的實際運行情 況對其進行優(yōu)化,W提高輸入樣本的精度。
[0150] 3)移動平均處理:將去掉異常的數(shù)據(jù)進行移動平均處理,去掉一些白噪聲,W提高 樣本的穩(wěn)定性。移動平均處理所采用的公式為:
[0151]
[0152] ^^為樣本的移動平均值,N為最大樣本數(shù),h為移動平均的周期數(shù),Xq為去掉異常點 后的樣本值。
[0153] 4)將供水量資料作歸一化處理。由于輸入?yún)?shù)的量級不一致,需要做歸一化處理 才能正確反映出輸入?yún)?shù)對輸出量的影響過程,本發(fā)明的歸一化過程采用如下式的線性歸
一法:
[0154]
[0155] 其中誠min表示所有輸入樣本第j個字段值的最小值誠max表示所有輸入樣本第j個 字段值的最大值,將所有樣本的第j個字段值歸一化到中,范圍取[0,1]。
[0156] (3)建立BP神經(jīng)網(wǎng)絡(luò)模型,確定BP神經(jīng)網(wǎng)絡(luò)的拓撲結(jié)構(gòu)。
[0157] S層BP神經(jīng)網(wǎng)絡(luò)可W逼近任意非線性映射關(guān)系,而神經(jīng)網(wǎng)絡(luò)算法中增加神經(jīng)網(wǎng)絡(luò) 的層數(shù)可W更進一步降低誤差,提高精度,但每增加一層,網(wǎng)絡(luò)就會變得更加復雜,大大增 加了網(wǎng)絡(luò)的訓練時間。而預(yù)測精度的提高實際上也可W通過增加隱含層節(jié)點數(shù)來實現(xiàn),而 且其訓練的效果也比增加層數(shù)的方法更容易觀察和調(diào)整。因此相比于增加層數(shù)的方法,增 加隱含層節(jié)點數(shù)的方法更值得優(yōu)先考慮。
[0158] 理論上,隱含層的節(jié)點數(shù)量可W為任意數(shù)值,但在實際的應(yīng)用中,過多的隱含層節(jié) 點會導致一系列的問題。隱含層節(jié)點過多會使網(wǎng)絡(luò)的規(guī)模變大,增加網(wǎng)絡(luò)的復雜性:一方 面,若網(wǎng)絡(luò)規(guī)模相對于訓練樣本過于龐大,會出現(xiàn)訓練結(jié)果"太好"的現(xiàn)象,看似訓練精度很 高,實際上已經(jīng)出現(xiàn)了 "過擬合"的現(xiàn)象(即陷入局部極小點而得不到最優(yōu)點的現(xiàn)象),使得 網(wǎng)絡(luò)的預(yù)測能力大大降低,無法達到預(yù)期的效果;另一方面,隱含層節(jié)點過多必然會導致更 多的待定參數(shù),網(wǎng)絡(luò)規(guī)模的擴大也給網(wǎng)絡(luò)的訓練帶來不小的難度,增加了訓練的時間,且降 低了收斂的速度。
[0159] 本發(fā)明的供水預(yù)測模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu)采用了 S層BP神經(jīng)網(wǎng)絡(luò),輸入層與輸出層 之間設(shè)置有隱含層;隱含層的節(jié)點根據(jù)輸入層的節(jié)點數(shù)確定并通過增減節(jié)點數(shù)進行訓練對 比,神經(jīng)網(wǎng)絡(luò)算法中每層的輸出函數(shù)為輸入函數(shù)關(guān)于該層的激發(fā)函數(shù)的函數(shù);若所述輸出 層的輸出結(jié)果與期望值不符,將輸出層的誤差轉(zhuǎn)化為各層各個節(jié)點的連接權(quán)值與闊值的誤 差,將輸出層的誤差逐層向輸入層反向傳遞,把誤差分攤到各個節(jié)點,計算各個節(jié)點的參考 誤差,調(diào)整各個節(jié)點的連接權(quán)值及闊值大小,直到誤差最小。
[0160] 在BP神經(jīng)網(wǎng)絡(luò)模型中,假設(shè)中間隱含層的數(shù)目為m,輸入層數(shù)目為m,輸出層數(shù)目 為m,則運S者的關(guān)系滿足下式:
[0161] n2 = sqrt(ni+m)+a;
[0162] a = 1-10
[0163] 適當增加和減少輸入層、輸出層、隱含層的個數(shù)組合成多種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。如計算 得到輸入層、輸出層、隱含層的大致數(shù)目為7、7、7,則根據(jù)試錯法對運=層數(shù)目進行微調(diào),將 =層數(shù)目分別取7、8、9進行組合可生成27種組合;接著,可通過分別嘗試法從運27種組合中 找到最為合適的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。在本實施例中,當輸入層輸出層固定時,主要改變的是隱含 層個數(shù)。經(jīng)分析查找后的結(jié)果(即分別嘗試法的結(jié)果)發(fā)現(xiàn),當隱含層數(shù)為別寸,模型收斂及 預(yù)測能力較好。
[0164] (4)確定供水預(yù)測模型的計算參數(shù)。
[0165] 神經(jīng)網(wǎng)絡(luò)模型中主要的計算參數(shù)為各層神經(jīng)元之間的權(quán)值、神經(jīng)元中的激勵函數(shù) 及數(shù)據(jù)流出神經(jīng)元的闊值。
[0166] 1)各層神經(jīng)元之間的權(quán)值W及數(shù)據(jù)流出神經(jīng)元的闊值兩個計算參數(shù)由random函 數(shù)隨機生成20種初始的權(quán)值矩陣和闊值輸入神經(jīng)網(wǎng)絡(luò)模型計算,初始的權(quán)值和闊值在(0, 1)范圍內(nèi)隨機取值(可多次試驗找到最為合適的權(quán)值和闊值組合)。
[0167] 2)根據(jù)供水的實際需要,為了保證每次計算中沒有負數(shù)的產(chǎn)生影響整個模型計算 的穩(wěn)定化-擲耐巧掀的佛巧h選擇Log-Si卵Oid運一非線性的函數(shù)函數(shù):
[016 引
[0169] (5)根據(jù)輸入歷史數(shù)據(jù)結(jié)合相應(yīng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)進行訓練,并根據(jù)訓練結(jié)果確定 供水預(yù)測模型。
[0170] 模型中訓練過程包括采用訓練精度模式或?qū)W習次數(shù)模式的任意一種或多種進行 訓練,采用訓練精度模式的訓練過程包括如下步驟:根據(jù)神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)計算網(wǎng) 絡(luò)誤差,計算訓練過程的總誤差,判斷總誤差是否達到設(shè)定精度,當判斷沒有達到精度時重 復上述步驟直至達到精度,根據(jù)網(wǎng)絡(luò)誤差修改網(wǎng)絡(luò)權(quán)重并完成訓練;采用學習次數(shù)模式的 訓練過程包括如下步驟:根據(jù)網(wǎng)絡(luò)拓撲結(jié)構(gòu)計算網(wǎng)絡(luò)誤差,根據(jù)計算的網(wǎng)絡(luò)誤差修改網(wǎng)絡(luò) 權(quán)重,將訓練次數(shù)加1,判斷是否完成訓練次數(shù),若判斷沒有完成訓練次數(shù)則重復上述步驟 直至完成訓練次數(shù)完成訓練;訓練完成后即可確定供水預(yù)測模型。
[0171] 下面對模型中訓練過程所設(shè)及到的內(nèi)容進行詳細說明:
[0172] 1)正向計算。
[0173] 正向計算所設(shè)及的相關(guān)理論有:
[0174] a.輸入層的輸出請(n)等于運個神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的輸入信號x(n),有:
[0175]
[0176] b.隱含層第i個神經(jīng)元的輸入《;(;!)等于與相應(yīng)權(quán)值《mi(n)的加權(quán)和:
[0177]
[017引 C.假設(shè)f(.)為Sigmoid函數(shù),則隱含層第i個神經(jīng)元的輸出值)4的)為:
[0179]
[0180] 其中,01為隱含層神經(jīng)元的閥值。
[0181] d.輸出層第j個神經(jīng)元的輸入別對等于詩的加權(quán)和:
[0182]
[01831 e .輸出房第i個神經(jīng)元的輸出咕(句等于:
[018'
[01化]f.輸出層第j個神經(jīng)元的誤差6^11)為:
[0186]
[0187] g.網(wǎng)絡(luò)的總誤差e(n)為:
[018 引
[0189] 2)誤差信號反向傳播修正。
[0190] 本發(fā)明的訓練過程采用非線性規(guī)劃中的最速下降法按誤差函數(shù)的負梯度方向修 正各個節(jié)點的權(quán)值及誤差,具體包括:
[0191] a.調(diào)整隱含層與輸出層之間的權(quán)值根據(jù)最速下降法,需要計算誤差對COiJ的 ce{n) 梯度
[0192]
[019;3] 〇ij(n+l)= A 〇ij(n)+?ij(n)[0194] 巧據(jù)微分的鏈式規(guī)則有:
[0195]
[0196] 子為一次函數(shù),有:
[0197]
[0199]
[0198] 而輸出層傳遞函數(shù)的導數(shù)為:
[0200]
[0201]
[0202]
[0203]
[0204]
[0205]
[0206]
[0207]
[020引
[0209]
[0210]
[0211]
[0212]
[0213]
[0214] 3)訓練方法和標準
[0215] 本實例中采用訓練精度及訓練次數(shù)共同控制整個訓練過程,訓練方法使用并行的 訓練方式進行訓練:神經(jīng)網(wǎng)絡(luò)需獲得所有的學習樣本,計算其所有樣本的均方誤差和作為 總誤差如下式所示:
[0216]
[0217] 為了提高訓練精度,本發(fā)明采用了 W下兩種改進的計算方法計算總誤差:
[0218] a.增力喊量項的方法:
[0219] Aw(t)=n5+a Aw(t-l)
[0220] 運時權(quán)值修正量A w(t)加上了有關(guān)前一時刻權(quán)值的修改方向的記憶,使得權(quán)值修 正有一定的慣性,具有一定的抗震蕩能力,使得迭代過程具有較快的收斂速度。
[0221 ] b.自適應(yīng)調(diào)節(jié)學習率的方法:
[0222]
[0223] 若仍采用一般的固定長梯度下降法進行求解,可能會導致兩個主要問題:收斂速 度慢和局部極小解。因此,采用改進的變步長算法修正各個節(jié)點的權(quán)值:先設(shè)一個初始步長 no,若一次迭代后誤差E增大,則將步長乘W小于1的調(diào)節(jié)因子0,然后沿原方向重新計算下 一個迭代點;若一次迭代后E減小,則將步長乘W大于1的調(diào)節(jié)因子0,運樣就可W通過誤差 的增減來判斷、調(diào)整學習率,從而提高算法的性能和穩(wěn)定性。
[0224] 實時預(yù)測步驟在預(yù)測供水量時,將執(zhí)行的操作包括:
[0225] (1)特殊節(jié)假日處理
[0226] 根據(jù)供水量的實際情況,對于春節(jié)、國慶和當?shù)氐娘L俗習慣,預(yù)測時需要將運些特 殊的節(jié)日進行異常處理,W歷史當日的數(shù)據(jù)作為參考來預(yù)測供水量。
[0227] (2)自動更新
[0228] 根據(jù)建立的供水預(yù)測模型在進行預(yù)測后,本發(fā)明能自動讀取數(shù)據(jù)庫中采集到的歷 史流量作為新的樣本輸入到模型中,不斷更新預(yù)測模型,使模型能隨供水條件的變化隨時 變化,W適應(yīng)實際的情況,保證預(yù)測的精度。
[0229] 實施例二
[0230] 參照圖3-5,本發(fā)明的第二實施例:
[0231] 本實施例W賀州市的供水模型為例,賀州城市的供水由擔桿嶺水廠和河南水廠共 同承擔。本發(fā)明根據(jù)運兩個供水廠的實際情況對未來短期的供水量進行預(yù)測,來指導自來 水廠進行調(diào)度生產(chǎn)。
[0232 ]如圖3所示,建模步驟包括:
[0233] 步驟101:分析歷史數(shù)據(jù)并根據(jù)供水過程的特性確定供水預(yù)測模型的影響因子。
[0234] 本實施例經(jīng)過相關(guān)分析后將高溫度和歷史的供水量,節(jié)假日情況作為水預(yù)測模型 的考慮因子,具體分析過程參考實施例一。
[0235] 步驟102:在確定的影響因子中選擇的貢獻率高的因子作為參數(shù)輸入、特殊因子作 特殊處理。
[0236] 本實施例經(jīng)過分析將高溫度及歷史供水量作為輸入的神經(jīng)元輸入到BP神經(jīng)網(wǎng)絡(luò) 模型中進行計算,節(jié)假日作為特殊因子進行特別處理。
[0237] 步驟103:對輸入的參數(shù)進行預(yù)處理;
[0238] 輸入?yún)?shù)中,先將流量數(shù)據(jù)用3倍均方差的方法濾掉異常點,并需要將初次處理過 的流量進行移動平均之后再進行歸一化處理,而溫度數(shù)據(jù)直接進行歸一化處理即可
[0239] 步驟104:確定供水預(yù)測模型的計算參數(shù),建立輸入層參數(shù)與輸出層輸出的供水量 之間的函數(shù)關(guān)系。
[0240] 該實施例中輸入層神經(jīng)元為2個,輸出層神經(jīng)元為1個,隱含層神經(jīng)元個數(shù)為8個。 由于供水量數(shù)據(jù)的非負性,本實施例選擇Log-Sigmoid函數(shù)作為激勵函數(shù),能比較準確地反 映出供水的實際過程。
[0241] 步驟105:根據(jù)輸入的歷史數(shù)據(jù)結(jié)合相應(yīng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)進行訓練,并根據(jù)訓練結(jié) 果確定供水預(yù)測模型。
[0242] 步驟S105中訓練的模式可W選用訓練精度模式或?qū)W習次數(shù)模式或二者的結(jié)合。
[0243] 如圖4所示,其中,采用訓練精度模式結(jié)合訓練次數(shù)模式進行訓練包括如下步驟:
[0244] 步驟201:根據(jù)網(wǎng)絡(luò)拓撲結(jié)構(gòu)進行正向傳播計算;
[0245] 步驟202:計算訓練過程的總誤差;
[0246] 步驟203:判斷總誤差是否達到設(shè)定精度;
[0247] 步驟204:判斷是否達到最大訓練次數(shù);
[0248] 步驟205:根據(jù)網(wǎng)絡(luò)誤差修改網(wǎng)絡(luò)權(quán)重;
[0249] 當判斷沒有達到精度時且沒有達到最大訓練次數(shù)時重復上述步驟直至達到精度 并完成訓練。
[0250] 步驟206:輸入下一組樣本進行訓練。
[0251 ]步驟S106:根據(jù)訓練確定的供水預(yù)測模型進行供水量預(yù)測。
[0252] 如圖5所示,步驟106中基于訓練模型得到的模型進行預(yù)測可進一步分為如下步 驟:
[0253] 步驟301:輸入預(yù)測所需的參數(shù)。
[0254] 步驟302:判斷是否與上一次預(yù)測日期一致,并根據(jù)判斷的結(jié)果執(zhí)行步驟。
[0巧5]步驟303:若是,則直接進行正向計算。
[0256] 步驟304:若不是,執(zhí)行步驟10更新供水預(yù)測模型,然后再基于更新后的模型進行 正向計算。
[0257] 步驟305:判斷是否為節(jié)假日,若是,則執(zhí)行步驟306,反之,則直接輸出預(yù)測的結(jié) 果。
[0258] 步驟306:根據(jù)具體節(jié)假日類型進行相應(yīng)的異常處理,W歷史當日的供水數(shù)據(jù)作為 參考重新進行預(yù)測,然后輸出重新預(yù)測的結(jié)果。
[0259] 本實施例利用移動平均法結(jié)合改進的BP神經(jīng)網(wǎng)絡(luò)的方法對供水量進行短期預(yù)測, 通過對過去一年的賀州供水廠的日供水量數(shù)據(jù)時間序列進行分析和預(yù)測,得到了賀州供水 量。通過與傳統(tǒng)的預(yù)測方法進行對比后發(fā)現(xiàn),采用本發(fā)明的方法進行預(yù)測有比較明顯的周 期性,學習所需數(shù)據(jù)量少,精度高,能夠解決傳統(tǒng)方法需要數(shù)據(jù)量大且計算復雜的問題;相 較于傳統(tǒng)單一的移動平均方法而言,本發(fā)明在歷史流量的數(shù)據(jù)處理上使用了移動平均的方 法,通過時間序列的分析和試驗得到較好的移動平均周期,去掉了部分噪音,提高了樣本的 精度;本發(fā)明將移動平均的值作為輸入因子輸入到BP神經(jīng)網(wǎng)絡(luò)模型中,由于BP神經(jīng)網(wǎng)絡(luò)的 強非線性,城市供水的非線性的特征并未削弱。此外,本發(fā)明采用了 BP神經(jīng)算法,B巧巾經(jīng)網(wǎng) 絡(luò)由于其強魯棒性和容錯性,當某些數(shù)據(jù)發(fā)生異常變化時,對整個復雜的神經(jīng)網(wǎng)絡(luò)系統(tǒng)的 影響也不大,異常值不會對預(yù)測結(jié)果產(chǎn)生很大的誤差,實時性好;B巧巾經(jīng)網(wǎng)絡(luò)由于其強非線 性的特點,整個網(wǎng)絡(luò)是一個暗箱,能夠比較準確反應(yīng)輸入的影響因子和輸出的結(jié)果之間的 復雜關(guān)系,遠遠優(yōu)于灰色模型。
[0260] 在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)預(yù)測的方法上,本發(fā)明在輸入輸出和異常處理的方面進行了改 進,通過平滑處理、優(yōu)化處理W及移動平均處理等來提高了整個預(yù)測模型的精度和穩(wěn)定性: 考慮到水廠日常運營的可能發(fā)生的異常情況(尤其是單一水廠日常供水時,若出現(xiàn)供水設(shè) 備故障或管網(wǎng)出現(xiàn)事故,其將會對整個供水量產(chǎn)生較大的影響),故用于分析的樣本需要剔 除運些由于異常產(chǎn)生的異常點并且分析其成因。在模型建立和后期更新時,軟件程序?qū)⒆?動除去運些異常的點,因此只需將正確的新樣本輸入模型,就能保證整個系統(tǒng)的穩(wěn)定性和 正確性。
[0261] 在理想情況下,歷史供水的樣本點都是規(guī)律性比較強且比較理想的。但實際使用 過程所獲取的樣本,由于水廠中設(shè)備儀表的老化,數(shù)據(jù)并沒有那么理想,故本發(fā)明對運些不 符合規(guī)律從的點都進行了一一分析,得到了比較準確的樣本點,并對于特殊節(jié)假日所產(chǎn)生 的影響進行了分析,然后將運些因素作為模型的影響因子進行綜合考慮,提高了模型的精 度。
[0262] W上是對本發(fā)明的較佳實施進行了具體說明,但本發(fā)明創(chuàng)造并不限于所述實施 例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可做作出種種的等同變形或替 換,運些等同的變形或替換均包含在本申請權(quán)利要求所限定的范圍內(nèi)。
【主權(quán)項】
1. 一種供水預(yù)測方法,其特征在于:包括以下步驟: 51、 分析歷史數(shù)據(jù)并建立供水預(yù)測模型,得到輸入層參數(shù)與輸出層輸出的供水量之間 的函數(shù)關(guān)系; 52、 根據(jù)建立的供水預(yù)測模型和所需預(yù)測日期進行實時供水量預(yù)測; 所述分析歷史數(shù)據(jù)并建立供水預(yù)測模型的過程包括但不限于采用移動平均法對輸入 的歷史數(shù)據(jù)進行預(yù)處理過程,采用神經(jīng)網(wǎng)絡(luò)算法確定供水預(yù)測模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu)過程, 根據(jù)預(yù)處理后的歷史數(shù)據(jù)以及相應(yīng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)確定供水預(yù)測模型過程。2. 根據(jù)權(quán)利要求1所述的一種供水預(yù)測方法,其特征在于:所述步驟S1包括: 511、 根據(jù)供水過程的特性確定供水預(yù)測模型的輸入?yún)?shù); 512、 采用移動平均法對輸入的歷史數(shù)據(jù)進行預(yù)處理; 513、 采用三層BP神經(jīng)網(wǎng)絡(luò)模型建立供水預(yù)測模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu); 514、 確定三層BP神經(jīng)網(wǎng)絡(luò)模型的計算參數(shù); 515、 根據(jù)預(yù)處理后的歷史數(shù)據(jù)以及三層BP神經(jīng)網(wǎng)絡(luò)模型相應(yīng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)進行訓 練,然后根據(jù)訓練的結(jié)果確定供水預(yù)測模型。3. 根據(jù)權(quán)利要求2所述的一種供水預(yù)測方法,其特征在于:所述步驟S12包括: 5121、 對初始樣本中輸入的歷史數(shù)據(jù)進行平滑處理,得到去除突變異常點后的樣本數(shù) 據(jù),所述突變異常點滿足:其中,Qin為第η個樣本的歷史供水量值,n=l,2,…,N; N為最大樣本數(shù),σ (Q)為歷史供水 量樣本的均方差,〇(Q)的計算公式為:5122、 對去除突變異常點后的樣本數(shù)據(jù)中小范圍內(nèi)的波動點和斜率突然變化的樣本點 進行優(yōu)化,得到優(yōu)化后的樣本數(shù)據(jù); 5123、 對優(yōu)化后的樣本數(shù)據(jù)進行移動平均處理,所述移動平均處理所采用的公式為:其中,xq為優(yōu)化后的樣本數(shù)據(jù)中第q個樣本的樣本值,g為優(yōu)化后的樣本數(shù)據(jù)中第q個 樣本的移動平均值,h為移動平均的周期數(shù); 5124、 對移動平均處理后的所有樣本數(shù)據(jù)進行歸一化處理,所述歸一化處理所采用的 公式為:其中,和If分別為移動平均處理后的所有樣本中第j個字段歸一化處理前的值和 歸一化處理后的值,X j max和分別表不所有樣本中第j個字段歸一化處理前的最大值和 歸一化處理后的最大值,Xjmin和i/min:分別表不所有樣本中第j個字段歸一化處理前的最小 值和歸一化處理后的最小值,的取范圍為[〇,1]。4. 根據(jù)權(quán)利要求2所述的一種供水預(yù)測方法,其特征在于:所述供水預(yù)測模型的輸入?yún)?數(shù)包括但不限于歷史用水量、天氣情況、溫度、濕度、節(jié)假日情況、工業(yè)情況、城鎮(zhèn)居民生活 條件、人口和GDP中的任意一種或多種,每個參數(shù)構(gòu)成輸入層的一個節(jié)點,輸出層輸出第二 天的供水量,并采用相關(guān)性分析的方法對輸入?yún)?shù)進行分析,計算各參數(shù)與供水量的之間 的相關(guān)系數(shù)及各參數(shù)對供水量的貢獻率,然后選取與供水量相關(guān)系數(shù)高的參數(shù)作為影響曰 供水量的主要因子,并設(shè)定閾值作為神經(jīng)網(wǎng)絡(luò)流出神經(jīng)元的控制量;所述神經(jīng)網(wǎng)絡(luò)算法采 用神經(jīng)元為基本處理單元,所述神經(jīng)元為多輸入、單輸出的非線性器件;所述三層BP神經(jīng)網(wǎng) 絡(luò)模型的計算參數(shù)包括但不限于各層神經(jīng)元之間的權(quán)值、神經(jīng)元中的激勵函數(shù)及數(shù)據(jù)流出 神經(jīng)元的閾值,所述各層神經(jīng)元之間的權(quán)值以及數(shù)據(jù)流出神經(jīng)元的閾值由random函數(shù)隨機 生成的20種初始的權(quán)值矩陣和閾值輸入三層BP神經(jīng)網(wǎng)絡(luò)模型計算而來,所述初始的權(quán)值和 閾值均在(〇,1)之間隨機取值,所述神經(jīng)元中的激勵函數(shù)采用Log-Sigmoid函數(shù):5. 根據(jù)權(quán)利要求2所述的一種供水預(yù)測方法,其特征在于:所述供水預(yù)測模型以三層BP 神經(jīng)網(wǎng)絡(luò)作為網(wǎng)絡(luò)拓撲結(jié)構(gòu),所述輸入層與輸出層之間設(shè)置有隱含層,所述三層BP神經(jīng)網(wǎng) 絡(luò)的輸入層數(shù)目m、輸出層數(shù)目m和隱含層數(shù)目Π2滿足:n2 = sqrt (m+m)+a,其中,sqrt函數(shù) 為平方根函數(shù),a為常數(shù),且a取1到10的自然數(shù);所述隱含層的節(jié)點根據(jù)輸入層的節(jié)點數(shù)確 定并通過增減節(jié)點數(shù)進行訓練對比,所述神經(jīng)網(wǎng)絡(luò)算法中每層的輸出函數(shù)為輸入函數(shù)關(guān)于 該層的激發(fā)函數(shù)的函數(shù);若所述輸出層的輸出結(jié)果與期望值不符,將輸出層的誤差轉(zhuǎn)化為 各層各個節(jié)點的連接權(quán)值與閾值的誤差,將輸出層的誤差逐層向輸入層反向傳遞,把誤差 分攤到各個節(jié)點,計算各個節(jié)點的參考誤差,并調(diào)整各個節(jié)點的連接權(quán)值及閾值大小,直到 誤差最小。6. 根據(jù)權(quán)利要求2-5任一項所述的一種供水預(yù)測方法,其特征在于:所述步驟S15具體 為: 根據(jù)預(yù)處理后的歷史數(shù)據(jù)以及三層BP神經(jīng)網(wǎng)絡(luò)模型相應(yīng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)采用訓練精 度模式、學習次數(shù)模式或者兩種模式的結(jié)合進行訓練,然后根據(jù)訓練的結(jié)果確定供水預(yù)測 豐旲型; 其中,采用訓練精度模式進行訓練包括如下步驟:根據(jù)三層BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)拓撲結(jié) 構(gòu)計算網(wǎng)絡(luò)誤差,計算訓練過程的總誤差,判斷總誤差是否達到設(shè)定精度,當判斷沒有達到 精度時重復上述步驟直至達到設(shè)定精度,根據(jù)網(wǎng)絡(luò)誤差修改網(wǎng)絡(luò)權(quán)重并完成訓練;所述采 用學習次數(shù)模式進行訓練包括如下步驟:根據(jù)三層BP神經(jīng)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu)計算網(wǎng) 絡(luò)誤差,根據(jù)計算的網(wǎng)絡(luò)誤差修改網(wǎng)絡(luò)權(quán)重,將訓練次數(shù)加1,判斷是否達到最大訓練次數(shù), 若判斷沒有達到最大訓練次數(shù)則重復上述步驟直至達到最大訓練次數(shù)完成訓練;采用訓練 精度模式結(jié)合學習次數(shù)模式進行訓練包括如下步驟:根據(jù)三層BP神經(jīng)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)拓撲 結(jié)構(gòu)正向傳播計算網(wǎng)絡(luò)誤差,計算訓練過程的總誤差,判斷總誤差是否達到設(shè)定精度,判斷 是否達到最大訓練次數(shù),當判斷沒有達到精度時或沒有達到最大訓練次數(shù)時重復上述步驟 直至達到設(shè)定精度和最大訓練次數(shù),根據(jù)網(wǎng)絡(luò)誤差修改網(wǎng)絡(luò)權(quán)重; 所述訓練過程的總誤差為所有含有預(yù)處理后的歷史數(shù)據(jù)樣本誤差的均方差之和; 所述訓練過程采用改進的變步長梯度下降法修正各個節(jié)點的權(quán)值及誤差,各個節(jié)點當 前時刻的權(quán)值修正量Δ w(t)為:Δ w(t) =ηδ+α Δ w(t-l),其中,Δ w(t-l)為各個節(jié)點上一時 刻的權(quán)值修正量,S為各個節(jié)點理論計算得到的權(quán)值修正量,α為動量系數(shù),且a e (〇,1),q為 自適應(yīng)調(diào)節(jié)學習率,η的調(diào)整方式為:先設(shè)定初始步長,若進行一次迭代后節(jié)點的誤差增大, 則將步長和η均乘以小于1的調(diào)節(jié)因子β,然后沿原方向重新進行下一次迭代;若進行一次迭 代后節(jié)點的誤差減小,則將步長和η均乘以大于1的調(diào)節(jié)因子Θ,然后沿原方向重新進行下一 次迭代。7. 根據(jù)權(quán)利要求2-5任一項所述的一種供水預(yù)測方法,其特征在于:所述步驟S2包括: 521、 輸入預(yù)測所需的參數(shù)。 522、 判斷所需預(yù)測日期是否與上一次預(yù)測日期一致,若是,則根據(jù)輸入的參數(shù)和上一 次預(yù)測日期的供水預(yù)測模型正向計算所需預(yù)測日期的供水量,反之,則在執(zhí)行步驟S15更新 供水預(yù)測模型后正向計算所需預(yù)測日期的供水量; 523、 判斷所需預(yù)測日期是否為節(jié)假日,若是,則以歷史當日的數(shù)據(jù)作為參考數(shù)據(jù)重新 預(yù)測所需預(yù)測日期的供水量,并將重新預(yù)測的供水量進行輸出;反之,則直接輸出步驟S22 計算出的預(yù)測供水量。8. -種供水預(yù)測系統(tǒng),其特征在于:包括: 建模模塊,用于分析歷史數(shù)據(jù)并建立供水預(yù)測模型,得到輸入層參數(shù)與輸出層輸出的 供水量之間的函數(shù)關(guān)系; 預(yù)測模塊,用于根據(jù)建立的供水預(yù)測模型和所需預(yù)測日期進行實時供水量預(yù)測; 所述分析歷史數(shù)據(jù)并建立供水預(yù)測模型的過程包括但不限于采用移動平均法對輸入 的歷史數(shù)據(jù)進行預(yù)處理過程,采用神經(jīng)網(wǎng)絡(luò)算法確定供水預(yù)測模型的網(wǎng)絡(luò)拓撲結(jié)構(gòu)過程, 根據(jù)預(yù)處理后的歷史數(shù)據(jù)以及相應(yīng)的網(wǎng)絡(luò)拓撲結(jié)構(gòu)確定供水預(yù)測模型過程; 所述建模模塊的輸出端與預(yù)測模塊的輸入端連接。9. 根據(jù)權(quán)利要求8所述的一種供水預(yù)測系統(tǒng),其特征在于:所述建模模塊包括: 輸入?yún)?shù)確定單元,用于根據(jù)供水過程的特性確定供水預(yù)測模型的輸入?yún)?shù); 預(yù)處理單元,用于采用移動平均法對輸入的歷史數(shù)據(jù)進行預(yù)處理; 拓撲結(jié)構(gòu)建立單元,用于采用三層ΒΡ神經(jīng)網(wǎng)絡(luò)模型建立供水預(yù)測模型的網(wǎng)絡(luò)拓撲結(jié) 構(gòu); 計算參數(shù)確定單元,用于確定三層ΒΡ神經(jīng)網(wǎng)絡(luò)模型的計算參數(shù); 訓練單元,用于根據(jù)預(yù)處理后的歷史數(shù)據(jù)以及三層ΒΡ神經(jīng)網(wǎng)絡(luò)模型相應(yīng)的網(wǎng)絡(luò)拓撲結(jié) 構(gòu)進行訓練,然后根據(jù)訓練的結(jié)果確定供水預(yù)測模型; 所述輸入?yún)?shù)確定單元的輸出端依次通過預(yù)處理單元、拓撲結(jié)構(gòu)建立單元、計算參數(shù) 確定單元和訓練單元進而與預(yù)測模塊的輸入端連接。10. 根據(jù)權(quán)利要求9所述的一種供水預(yù)測系統(tǒng),其特征在于:所述預(yù)處理單元包括: 平滑處理子單元,用于對初始樣本中輸入的歷史數(shù)據(jù)進行平滑處理,得到去除突變異 常點后的樣本數(shù)據(jù),所述突變異常點滿足:其中,Qm為第η個樣本的歷史供水量值,n=l,2,…,N;N為最大樣本數(shù),〇(Q)為歷史供水 量樣本的均方差,〇(Q)的計算公式為:優(yōu)化子單元,用于對去除突變異常點后的樣本數(shù)據(jù)中小范圍內(nèi)的波動點和斜率突然變 化的樣本點進行優(yōu)化,得到優(yōu)化后的樣本數(shù)據(jù); 移動平均處理子單元,用于對優(yōu)化后的樣本數(shù)據(jù)進行移動平均處理,所述移動平均處 理所采用的公式為:其中,xq為優(yōu)化后的樣本數(shù)據(jù)中第q個樣本的樣本值,€為優(yōu)化后的樣本數(shù)據(jù)中第q個 Η 樣本的移動平均值,h為移動平均的周期數(shù); 歸一化處理子單元,用于對移動平均處理后的所有樣本數(shù)據(jù)進行歸一化處理,所述歸 一化處理所采用的公式為: - -? 其中,和分別為移動平均處理后的所有樣本中第j個字段歸一化處理前的值和 歸一化處理后的值,Xjmax和.1.max_*別表不所有樣本中第j個字段歸一化處理前的最大值和 歸一化處理后的最大值,Xjmin和分別表不所有樣本中第.彳個字段歸一化處理前的最小 值和歸一化處理后的最小值的取范圍為[〇,1]; 所述輸入?yún)?shù)的輸出端確定單元依次通過平滑處理子單元、優(yōu)化子單元、移動平均處 理子單元和歸一化處理子單元進而與拓撲結(jié)構(gòu)建立單元的輸入端連接。
【文檔編號】G06Q10/04GK105956690SQ201610261368
【公開日】2016年9月21日
【申請日】2016年4月25日
【發(fā)明人】代英磊, 篠崎功, 葉景榮
【申請人】廣州東芝白云自動化系統(tǒng)有限公司