本發(fā)明涉及環(huán)境預測技術領域,更具體地,涉及水質預測方法及系統(tǒng)。
背景技術:
目前,水質預測是實現(xiàn)水系統(tǒng)的柔性管理、防治水污染的前提工作。復雜水域的水環(huán)境涉及的環(huán)境影響因素較多,正是因為環(huán)境系統(tǒng)的復雜性,環(huán)境模擬的數(shù)學模型建立就具有不確定性和復雜性的特點,同時局限了預測方法的應用。環(huán)境問題復雜多樣,環(huán)境介質有不同的類型,如天氣因素可以決定河流山川的水流速、濁度等。使用歷史數(shù)據(jù),可通過不同的預測方法推求環(huán)境變量與待預測水質指標之間的非線性關系或待預測水質指標本身隨時間的變化規(guī)律。目前,比較常用的預測方法有水質模擬預測、神經(jīng)網(wǎng)絡模型預測、時間序列預測法和灰色預測模型法和基于混沌理論的水質預測法等5大類。
水域的季節(jié)性變化明顯,受人類活動和水文氣象條件的雙重影響,利用上也存在眾多難度,這就需要我們及時地監(jiān)測相應流域的的水量與水質變化狀況。流域水質的影響因子為ph、溶解氧(do)、電導率(ec)、濁度(tu)、氨氮(nh3-n)、化學需氧量(cod)、總磷(tp)、總氮(tn)等8個水質參數(shù),從目前來看這些參數(shù)基本能滿足水質預測要求。對其中溶解氧、氨氮、總磷、總氮的預測,不論對不同流域的污染治理、水源管理都具有重要意義。利用采集的時間序列水質數(shù)據(jù),分析監(jiān)測數(shù)據(jù),利用模型預測等是具有可行性的。
現(xiàn)有技術中,weddingandcios提出了一個使用徑向基函數(shù)網(wǎng)絡(rbf)和box-jenkins模型相結合的方法;pelikan等和ginzburg和horn提出了結合一些前饋神經(jīng)網(wǎng)絡的方法來改善時間序列預測的準確性;一些混合模型也已經(jīng)出現(xiàn),如使用自動回歸滑動平均模型(arima)和人工神經(jīng)網(wǎng)絡(anns)相結合的方法應用于時間序列預測;chenandwang構造了組合模型,合并季節(jié)性自回歸綜合移動平均(sarima)和支持向量機,用于季節(jié)性時間序列模型預測;zhouandhu提出了一種基于灰色和box-jenkins自回歸移動平均模型的混合建模和預測方法。tseng等提議使用結合了季節(jié)性arima(sarima)模型和反向傳播神經(jīng)網(wǎng)絡的sarimabp混合模型來預測季節(jié)性時間序列數(shù)據(jù)。mehdikhashei等使用arima與ann的混合模型來對時間序列數(shù)據(jù)進行預測。
但上述現(xiàn)有技術并沒有對于水質預測上起到明顯精準預測的有益效果,其預測結果遠遠不能達到相應的使用標準。
技術實現(xiàn)要素:
本發(fā)明為克服上述問題或者至少部分地解決上述問題,提供水質預測方法及系統(tǒng),使用將arima自回歸積分滑動平均模型與bp神經(jīng)網(wǎng)絡相結合的方法實現(xiàn)對水質預測。
根據(jù)本發(fā)明的一個方面,提供水質預測方法,包括:
步驟1,基于待預測水域水質參數(shù)歷史時間序列數(shù)據(jù),利用arima自回歸積分滑動平均模型,獲取所述待預測水域水質參數(shù)預測值;基于待預測水域歷史氣象因素時間序列數(shù)據(jù),利用bp神經(jīng)網(wǎng)絡模型,獲取所述待預測水域氣象因素預測值;
步驟2,將所述待預測水域氣象因素預測值和所述待預測水域水質參數(shù)預測值在待預測各時間點的值進行相加,得到所述待預測水域的水質預測結果。
進一步,所述步驟1進一步包括:
基于待預測水域水質參數(shù)歷史時間序列數(shù)據(jù),利用arima自回歸積分滑動平均模型,訓練得到水質線性數(shù)據(jù)預測模型;基于待預測水域水質參數(shù)的輸入數(shù)據(jù),利用所述水質線性數(shù)據(jù)預測模型,獲取所述待預測水域水質參數(shù)預測值。
進一步,所述步驟1進一步包括:
基于待預測水域歷史氣象因素時間序列數(shù)據(jù),利用lm-bp神經(jīng)網(wǎng)絡模型,訓練得到水質非線性數(shù)據(jù)預測模型;基于待預測水域氣象因素的輸入數(shù)據(jù),利用所述水質非線性數(shù)據(jù)預測模型,獲取所述待預測水域氣象因素預測值;
進一步,所述基于待預測水域水質參數(shù)歷史時間序列數(shù)據(jù),利用arima自回歸積分滑動平均模型,訓練得到水質線性數(shù)據(jù)預測模型的步驟進一步包括:
判斷待預測水域歷史氣象因素時間序列數(shù)據(jù)的平穩(wěn)性:經(jīng)過d次差分處理,建立arima(p,d,q)自回歸積分滑動平均模型;計算所述arma(p,q)自回歸積分滑動平均模型的系數(shù)和階數(shù);計算所述arima自回歸積分滑動平均模型的參數(shù)。
進一步,所述基于待預測水域歷史氣象因素時間序列數(shù)據(jù),利用bp神經(jīng)網(wǎng)絡模型,訓練得到水質非線性數(shù)據(jù)預測模型的步驟進一步包括:
基于待預測水域歷史氣象因素時間序列數(shù)據(jù),利用反向傳播算法對bp神經(jīng)網(wǎng)絡模型的權值和偏差進行反復的調整訓練,當網(wǎng)絡輸出層的誤差平方和小于閾值時,保存所述bp神經(jīng)網(wǎng)絡模型的權值和偏差。
進一步,所述步驟1前還包括:刪除所述待預測水域歷史氣象因素時間序列數(shù)據(jù)和待預測水域水質參數(shù)歷史時間序列數(shù)據(jù)中的空缺值。
進一步,arima自回歸積分滑動平均模型arima自回歸積分滑動平均模型計算所述arima自回歸積分滑動平均模型的參數(shù)的步驟后還包括:將建立arima自回歸積分滑動平均模型過程中的出錯數(shù)據(jù),結合所述待預測水域歷史氣象因素時間序列數(shù)據(jù),利用lm-bp神經(jīng)網(wǎng)絡模型,獲取所述待預測水域氣象因素預測值。
進一步,所述基于待預測水域水質參數(shù)歷史時間序列數(shù)據(jù),利用arima自回歸積分滑動平均模型,訓練得到水質線性數(shù)據(jù)預測模型的步驟進一步包括:
s111,采用adf單位根檢驗來判斷待預測水域歷史氣象因素時間序列數(shù)據(jù)的平穩(wěn)性:經(jīng)過d次差分處理,建立arima(p,d,q)自回歸積分滑動平均模型;
s112,利用自相關函數(shù)和偏自相關函數(shù)計算所述arma(p,q)自回歸積分滑動平均模型的系數(shù)和階數(shù);利用最小二乘法計算所述arima自回歸積分滑動平均模型的參數(shù)。
進一步,所述步驟1前還包括:
s0,對待預測水域歷史氣象因素進行數(shù)據(jù)預處理,得到各氣象因素中主成分的以下值中至少一種:特征值、貢獻率和累計貢獻率。
根據(jù)本發(fā)明的一個方面,提供一種水質預測系統(tǒng),包括:
預測模塊,用于基于待預測水域水質參數(shù)歷史時間序列數(shù)據(jù),利用arima自回歸積分滑動平均模型,獲取所述待預測水域水質參數(shù)預測值;基于待預測水域歷史氣象因素時間序列數(shù)據(jù),利用bp神經(jīng)網(wǎng)絡模型,獲取所述待預測水域氣象因素預測值;
疊加模塊,用于將所述待預測水域氣象因素預測值和所述待預測水域水質參數(shù)預測值在待預測各時間點的值進行相加,得到所述待預測水域的水質預測結果。
本申請?zhí)岢鏊|預測方法及系統(tǒng),所述方法使用arima自回歸積分滑動平均模型與bp神經(jīng)網(wǎng)絡相結合的方法對水質時間序列數(shù)據(jù)的預測。本發(fā)明所述方案具有對可以對待預測水域大量水質數(shù)據(jù)進行預測,具有預測范圍大、精度高和速度快的特點,便于多水源監(jiān)管、水質預警、水污染治理。
附圖說明
圖1根據(jù)本發(fā)明實施例水質預測方法的整體流程示意圖;
圖2根據(jù)本發(fā)明實施例水質預測方法的流程示意圖;
圖3為根據(jù)本發(fā)明實施例水質預測系統(tǒng)的整體框架示意圖;
圖4為根據(jù)本發(fā)明實施例水質預測方法的裝置示意圖。
具體實施方式
下面結合附圖和實施例,對本發(fā)明的具體實施方式作進一步詳細描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
首先,對本發(fā)明出現(xiàn)的相關名詞進行說明。
arima自回歸積分滑動平均模型:全稱為自回歸積分滑動平均模型(autoregressiveintegratedmovingaveragemodel,簡記arima),是由博克思(box)和詹金斯(jenkins)于70年代初提出一著名時間序列預測方法,所以又稱為box-jenkins模型、博克思-詹金斯法。其中arima(p,d,q)稱為差分自回歸移動平均模型,ar是自回歸,p為自回歸項;ma為移動平均,q為移動平均項數(shù),d為時間序列成為平穩(wěn)時所做的差分次數(shù)。所謂arima自回歸積分滑動平均模型,是指將非平穩(wěn)時間序列轉化為平穩(wěn)時間序列,然后將因變量僅對它的滯后值以及隨機誤差項的現(xiàn)值和滯后值進行回歸所建立的模型。arima自回歸積分滑動平均模型根據(jù)原序列是否平穩(wěn)以及回歸中所含部分的不同,包括移動平均過程(ma)、自回歸過程(ar)、自回歸移動平均過程(arma)以及arima過程。
如圖1,示出本發(fā)明一個具體實施例中一種水質預測方法整體流程示意圖??傮w上,包括:
步驟1,基于待預測水域水質參數(shù)歷史時間序列數(shù)據(jù),利用arima自回歸積分滑動平均模型,獲取所述待預測水域水質參數(shù)預測值;基于待預測水域歷史氣象因素時間序列數(shù)據(jù),利用bp神經(jīng)網(wǎng)絡模型,獲取所述待預測水域氣象因素預測值;
步驟2,將所述待預測水域氣象因素預測值和所述待預測水域水質參數(shù)預測值在待預測各時間點的值進行相加,得到所述待預測水域的水質預測結果。
在本發(fā)明另一個具體實施例中,一種水質預測方法,所述步驟1進一步包括:
基于待預測水域水質參數(shù)歷史時間序列數(shù)據(jù),利用arima自回歸積分滑動平均模型,訓練得到水質線性數(shù)據(jù)預測模型;基于待預測水域水質參數(shù)的輸入數(shù)據(jù),利用所述水質線性數(shù)據(jù)預測模型,獲取所述待預測水域水質參數(shù)預測值。
在本發(fā)明另一個具體實施例中,一種水質預測方法,所述步驟1進一步包括:
基于待預測水域歷史氣象因素時間序列數(shù)據(jù),利用lm-bp神經(jīng)網(wǎng)絡模型,訓練得到水質非線性數(shù)據(jù)預測模型;基于待預測水域氣象因素的輸入數(shù)據(jù),利用所述水質非線性數(shù)據(jù)預測模型,獲取所述待預測水域氣象因素預測值;
在本發(fā)明另一個具體實施例中,一種水質預測方法,所述基于待預測水域水質參數(shù)歷史時間序列數(shù)據(jù),利用arima自回歸積分滑動平均模型,訓練得到水質線性數(shù)據(jù)預測模型的步驟進一步包括:
判斷待預測水域歷史氣象因素時間序列數(shù)據(jù)的平穩(wěn)性:經(jīng)過d次差分處理,建立arima(p,d,q)自回歸積分滑動平均模型;計算所述arma(p,q)自回歸積分滑動平均模型的系數(shù)和階數(shù);計算所述arima自回歸積分滑動平均模型的參數(shù)。
在本發(fā)明另一個具體實施例中,一種水質預測方法,所述基于待預測水域歷史氣象因素時間序列數(shù)據(jù),利用bp神經(jīng)網(wǎng)絡模型,訓練得到水質非線性數(shù)據(jù)預測模型的步驟進一步包括:
基于待預測水域歷史氣象因素時間序列數(shù)據(jù),利用反向傳播算法對bp神經(jīng)網(wǎng)絡模型的權值和偏差進行反復的調整訓練,當網(wǎng)絡輸出層的誤差平方和小于閾值時,保存所述bp神經(jīng)網(wǎng)絡模型的權值和偏差。
在本發(fā)明另一個具體實施例中,一種水質預測方法,所述步驟1前還包括:刪除所述待預測水域歷史氣象因素時間序列數(shù)據(jù)和待預測水域水質參數(shù)歷史時間序列數(shù)據(jù)中的空缺值。
在本發(fā)明另一個具體實施例中,一種水質預測方法,計算所述arima自回歸積分滑動平均模型的系數(shù)和階數(shù);計算所述arima自回歸積分滑動平均模型的參數(shù)的步驟后還包括:將建立arima自回歸積分滑動平均模型過程中的出錯數(shù)據(jù),結合所述待預測水域歷史氣象因素時間序列數(shù)據(jù),利用lm-bp神經(jīng)網(wǎng)絡模型,獲取所述待預測水域氣象因素預測值。
在本發(fā)明另一個具體實施例中,一種水質預測方法,所述基于待預測水域水質參數(shù)歷史時間序列數(shù)據(jù),利用arima自回歸積分滑動平均模型,訓練得到水質線性數(shù)據(jù)預測模型的步驟進一步包括:
s111,采用adf單位根檢驗來判斷待預測水域歷史氣象因素時間序列數(shù)據(jù)的平穩(wěn)性:經(jīng)過d次差分處理,建立arima(p,d,q)自回歸積分滑動平均模型;
s112,利用自相關函數(shù)和偏自相關函數(shù)計算所述arma(p,q)自回歸積分滑動平均模型的系數(shù)和階數(shù);利用最小二乘法計算所述arima自回歸積分滑動平均模型的參數(shù)。
在本發(fā)明另一個具體實施例中,一種水質預測方法,所述步驟1前還包括:
s0,對待預測水域歷史氣象因素進行數(shù)據(jù)預處理,得到各氣象因素中主成分的以下值中至少一種:特征值、貢獻率和累計貢獻率。
在本發(fā)明另一個具體實施例中,一種水質預測方法,所述bp神經(jīng)網(wǎng)絡為基于levenberg-marquardt算法訓練的bp神經(jīng)網(wǎng)絡。
如圖2,在本發(fā)明另一個具體實施例中,一種水質預測方法。
對采集的待預測流域水質數(shù)據(jù),水質數(shù)據(jù)的預測可能不容易被獨立的模型實驗,因為水質時間序列數(shù)據(jù)可能包括多種季節(jié)性等特點,異方差性或非高斯誤差。對于時間序列水質數(shù)據(jù)有:線性和非線性序列。線性數(shù)據(jù)使用arima自回歸積分滑動平均模型預測,對于非線性數(shù)據(jù),使用lm-bp神經(jīng)網(wǎng)絡預測,最后得出預測結果。考慮到水質數(shù)據(jù)其中大部分是非線性數(shù)據(jù),則在lm-bp神經(jīng)網(wǎng)絡中加入氣象因素對模型進行訓練。概水質數(shù)據(jù)時間序列預測方法步驟如圖2所示。
對于采集的原始水質數(shù)據(jù)ph、溶解氧(do)、電導率(ec)、濁度(tu)、氨氮(nh3-n)、化學需氧量(cod)、總磷(tp)、總氮(tn)等水質參數(shù),以及采集到的氣象因素,比如氣溫、風速、降雨量,大氣壓強等等氣象因子,采用刪除空缺值的方法對水質數(shù)據(jù)和氣象因素數(shù)據(jù)做預理。
氣象因素的每個變量都在不同程度上反映了水質預測的某些信息,并且指標之間相互有一定的相關性,因而所得的統(tǒng)計數(shù)據(jù)反映的信息在一定程度上有重疊,采用主成分分析技術則可以剔除冗余信息。采用主成分分析對降水量、溫度、風速、濕度、氣壓等天氣因素進行數(shù)據(jù)預處理,得到各主成分的特征值,貢獻率及累計貢獻率。多變量天氣因子經(jīng)過主成分分析后,提取天氣因素特征量,實現(xiàn)高維到低維的簡化,可以簡化數(shù)據(jù)結構,在保證預測精度的前提下,有效提高預測效率。
arima自回歸積分滑動平均模型建模時,首先采用adf(augmenteddickey-fuller)單位根檢驗來判斷數(shù)據(jù)的平穩(wěn)性。水質數(shù)據(jù)一般為非平穩(wěn)數(shù)據(jù),數(shù)據(jù)經(jīng)過d次差分處理,建立arima(p,d,q)模型,采用自相關函數(shù)(acf)、偏自相關函數(shù)(pacf)來判別arima(p,q)模型的系數(shù)和階數(shù),然后使用最小二乘法對arima自回歸積分滑動平均模型進行參數(shù)估計,檢驗arima自回歸積分滑動平均模型是否合適,獲得滿意的arima自回歸積分滑動平均模型。把經(jīng)過刪除空缺值后的時間序列水質數(shù)據(jù)輸入到arima自回歸積分滑動平均模型中,arima自回歸積分滑動平均模型對其中線性序列數(shù)據(jù)進行預測。
其中經(jīng)過arima自回歸積分滑動平均模型的出錯數(shù)據(jù),也就是剩余非線性序列數(shù)據(jù),同時結合經(jīng)過主成分分析后的天氣因素特征量作為lm-bp神經(jīng)網(wǎng)絡模型的輸入。建立神經(jīng)網(wǎng)絡模型是選擇bp算法(反向傳播算法)使用反向傳播算法對網(wǎng)絡的權值和偏差進行反復的調整訓練,使輸出的向量與期望向量盡可能地接近,當網(wǎng)絡輸出層的誤差平方和小于指定的誤差時訓練完成,保存網(wǎng)絡的權值和偏差。由于非線性隱層單元的存在,導致網(wǎng)絡存在多個最小點,所以學習過程不一定能保證達到全局最小,使得實際輸出和理想輸出之間有一定的偏差。采用levenberg-marguardt(lm)優(yōu)化算法解決學習過程收斂速度慢、對一些復雜問題訓練時間很長和數(shù)據(jù)龐大等問題。本模型采用三層網(wǎng)絡結構,包括輸入層、隱含層和輸出層。其然后精選出大量水質數(shù)據(jù)和天氣因素數(shù)據(jù)作為樣本集來訓練網(wǎng)絡,通過多次訓練與測試,一直到獲得滿意的網(wǎng)絡模型為止。
最后將arima自回歸積分滑動平均模型與lm-bp神經(jīng)網(wǎng)絡模型結果在待預測各時間點的值進行相加,得到水質預測結果。
下面分別介紹主成分分析、arima自回歸積分滑動平均模型、lm-bp神經(jīng)網(wǎng)絡模型三個方面的內容。
1.主成分分析步驟:
各個因素之間都存在一定的相關關系,信息互嵌,直接使用會造成信息冗余,增加計算復雜度,延長預測時間,影響計算速度和預測效率。因此,有必要對這些氣象因素進行預處理。主成分分析是綜合處理這種問題的一種強有力的工具,能在相關分析基礎上,用較少新變量代替原來較多舊變量,而且使這些較少的新變量盡可能多地保留原來變量所反映的信息。
對于采集的氣象因素有n個樣本,每個樣本共有p個天氣因子變量,構成一個n×p階的數(shù)據(jù)矩陣:
主成分分析步驟:
(1)對數(shù)據(jù)標準化,將原始天氣因素數(shù)據(jù)標準化為[0,1]之間的有效數(shù)據(jù);
(2)計算相關系數(shù)矩陣;
式中:rij(i,j=1,2,…,p)為原變量的xi與xj之間的相關系數(shù),其計算式為:
(3)計算特征值與特征向量首先解特征方程|λi-r|=0,通常用雅可比法求出特征值λi(i=1,2,…,p),并使其按大小順序排列,即λ1≥λ2≥…≥λp≥0;然后分別求出對應于特征值λi的特征向量ei(i=1,2,…,p)。要求,rij=rji,
(4)計算主成分貢獻率及累計貢獻率
主成分zi的貢獻率為:
累計貢獻率為:
一般取累計貢獻率達到85%~95%的特征值λ1,λ2,…,λm所對應的第一、第二,…,第m(m≤p)個主成分。
(5)新樣本矩陣的構造定義:記x1,x2,…,xp為原變量指標,z1,z2,…,zm(m≤p)為新變量指標,根據(jù)下面兩式計算得出每一個主成分的各樣本值。
則新樣本矩陣為:
計算出特征值,得到特征向量,將特征向量與非線性水質時間序列數(shù)據(jù)作為lm-bp神經(jīng)網(wǎng)絡的輸入。
2.arima自回歸積分滑動平均模型
全稱為自回歸積分滑動平均模型(autoregressiveintegratedmovingaveragemodel,簡記arima),是由博克思(box)和詹金斯(jenkins)于70年代初提出一著名時間序列預測方法,所以又稱為box-jenkins模型、博克思-詹金斯法。其中arima(p,d,q)稱為差分自回歸移動平均模型,ar是自回歸,p為自回歸項;ma為移動平均,q為移動平均項數(shù),d為時間序列成為平穩(wěn)時所做的差分次數(shù)。所謂arima自回歸積分滑動平均模型,是指將非平穩(wěn)時間序列轉化為平穩(wěn)時間序列,然后將因變量僅對它的滯后值以及隨機誤差項的現(xiàn)值和滯后值進行回歸所建立的模型。arima自回歸積分滑動平均模型根據(jù)原序列是否平穩(wěn)以及回歸中所含部分的不同,包括移動平均過程(ma)、自回歸過程(ar)、自回歸移動平均過程(arima)以及arima過程。arima是當前時間序列分析中最通用的方法,它是先通過差分運算,把長期趨勢、固定周期等信息提取出來,將非平穩(wěn)序列變?yōu)槠椒€(wěn)序列后進行分析的過程。
arima自回歸積分滑動平均模型將預測指標隨時間推移而形成的數(shù)據(jù)序列看作是一個隨機序列,這組隨機變量所具有的依存關系體現(xiàn)著原始數(shù)據(jù)在時間上的延續(xù)性,它既受外部因素的影響,又有自身變動規(guī)律。arima自回歸積分滑動平均模型可以對線性水質時間序列數(shù)據(jù)進行預測。
建立arima時間序列模型包括四個步驟:
(1)數(shù)據(jù)的平穩(wěn)性處理
arima自回歸積分滑動平均模型建模時,首先采用adf(augmenteddickey-fuller)單位根檢驗來判斷數(shù)據(jù)的平穩(wěn)性。采取差分的形式處理非平穩(wěn)數(shù)據(jù),進行差分的次數(shù)就是arima(p,d,q)模型中的階數(shù)d。時間序列數(shù)據(jù)被平穩(wěn)化處理后,arima(p,d,q)模型就轉化為arima(p,q)模型。
序列能通過d次差分后變成平穩(wěn)序列則建立arima(p,d,p)模型:
wt=φ1wt-1+φ2wt-2+…+φpwt-p+δ+ut+θ1ut-1+θ2ut-2+…+θqut-q
w表示時間序列數(shù)據(jù),δ是常數(shù),表示序列數(shù)據(jù)無0均值化,ut為白噪聲序列。
(2)模型識別
在時間序列分析中,采用自相關函數(shù)(acf)、偏自相關函數(shù)(pacf)來判別arima(p,q)模型的系數(shù)和階數(shù)。自相關函數(shù)(acf)描述時間序列觀測值與其過去的觀測值之間的線性相關性。偏自相關函數(shù)(pacf)描述在給定中間觀測值的條件下時間序列觀測值與其過去的觀測值之間的線性相關性。
(3)參數(shù)估計
時間序列分析模型的階數(shù)確定后,然后用最小二乘法對arima自回歸積分滑動平均模型進行參數(shù)估計。
(4)模型驗證
驗證所擬合的時間序列模型的參數(shù)估計值是否有顯著性和驗證所擬合的時間序列模型的殘差序列是否是白噪聲序列,即殘差序列的獨立性檢驗。
3.lm-bp神經(jīng)網(wǎng)絡算法
建模是選擇lm算法的bp神經(jīng)網(wǎng)絡模型,然后精選大量水質數(shù)據(jù)和天氣因素數(shù)據(jù)作為樣本來訓練網(wǎng)絡,通過多次訓練與測試,直至獲得滿意的網(wǎng)絡模型。由于水質指標預測具有復雜的輸入輸出非線性隱性關系,需要通過大量的樣本學習和訓練才能得到有用的模型。將利用主成分分析技術降維處理的氣象因素和非線性水質時間序列數(shù)據(jù)作為神經(jīng)網(wǎng)絡的輸入。根據(jù)神經(jīng)網(wǎng)絡的數(shù)據(jù)處理特點,需要對輸入數(shù)據(jù)進行歸一化處理。
水質非線性時間序列數(shù)據(jù)預測模型建模步驟具體如下:
(1)統(tǒng)計分析確定預測對象及其影響因子,并對影響因子做主成分分析,用少數(shù)不相關因子代替;
(2)對數(shù)據(jù)進行歸一化處理;
(3)建立三層網(wǎng)絡預測模型,包括輸入層、隱含層和輸出層;
(4)使用樣本集對lm-bp神經(jīng)網(wǎng)絡的訓練,訓練出初始網(wǎng)絡;
(5)利用剩余樣本進行測試,得到網(wǎng)絡預測模型;
lm算法是一種利用標準的數(shù)值優(yōu)化技術的快速算法,它是梯度下降法與高斯一牛頓法的相結合,是高斯一牛頓法的一種改進形式,它既有高斯一牛頓法的局部收斂性,又具有梯度下降法的全局特性。標準的lm-bp算法為:
設誤差目標函數(shù)為:
其中
aij=tij-yij(2)
為網(wǎng)絡誤差向量,vi(x)為誤差向量。由牛頓法:
則:
盡管牛頓法具有收斂迅速的優(yōu)點,但由于每次迭代計算中不能保證hessian矩陣f2(x)都可逆,則可用jt(x)j(x)+s(x)近似代替f2(x),式中j(x)為a(x)的雅可比(jacobian)矩陣。
可以證明:
當解靠近極值點時:
s(x)=0(7)
則:
δ(x)=-[jt(x)j(x)]-1jt(x)a(x)(8)
將(8)式進行改進,使其既包含高斯-牛頓法又具有梯度下降法的混合形式。公式為:
δ(x)=-[jt(x)j(x)+iu]-1·jt(x)a(x)(9)
式中:i為單位矩陣,u為比例系數(shù),若u接近于0時,則為高斯-牛頓法,若u值較大時,近似于梯度下降法
lm算法可以使bp神經(jīng)網(wǎng)絡模型更快收斂,獲得有效的預測結果。
圖3中,示出一個具體實施例中,一種水質預測系統(tǒng)的整體框架示意圖。整體上,包括:
預測模塊a1,用于基于待預測水域水質參數(shù)歷史時間序列數(shù)據(jù),利用arima自回歸積分滑動平均模型,獲取所述待預測水域水質參數(shù)預測值;基于待預測水域歷史氣象因素時間序列數(shù)據(jù),利用bp神經(jīng)網(wǎng)絡模型,獲取所述待預測水域氣象因素預測值;
疊加模塊a2,用于將所述待預測水域氣象因素預測值和所述待預測水域水質參數(shù)預測值在待預測各時間點的值進行相加,得到所述待預測水域的水質預測結果。
在本發(fā)明另一個具體實施例中,一種水質預測系統(tǒng),所述預測模塊還用于:基于待預測水域水質參數(shù)歷史時間序列數(shù)據(jù),利用arima自回歸積分滑動平均模型,訓練得到水質線性數(shù)據(jù)預測模型;基于待預測水域水質參數(shù)的輸入數(shù)據(jù),利用所述水質線性數(shù)據(jù)預測模型,獲取所述待預測水域水質參數(shù)預測值;基于待預測水域歷史氣象因素時間序列數(shù)據(jù),利用lm-bp神經(jīng)網(wǎng)絡模型,訓練得到水質非線性數(shù)據(jù)預測模型;基于待預測水域氣象因素的輸入數(shù)據(jù),利用所述水質非線性數(shù)據(jù)預測模型,獲取所述待預測水域氣象因素預測值。
在本發(fā)明另一個具體實施例中,一種水質預測系統(tǒng),所述預測模塊還用于:
判斷待預測水域歷史氣象因素時間序列數(shù)據(jù)的平穩(wěn)性:經(jīng)過d次差分處理,建立arima(p,d,q)自回歸積分滑動平均模型;計算所述arma(p,q)自回歸積分滑動平均模型的系數(shù)和階數(shù);計算所述arima自回歸積分滑動平均模型的參數(shù)。
在本發(fā)明另一個具體實施例中,一種水質預測系統(tǒng),所述預測模塊還用于:基于待預測水域歷史氣象因素時間序列數(shù)據(jù),利用反向傳播算法對bp神經(jīng)網(wǎng)絡模型的權值和偏差進行反復的調整訓練,
當網(wǎng)絡輸出層的誤差平方和小于閾值時,保存所述bp神經(jīng)網(wǎng)絡模型的權值和偏差。
在本發(fā)明另一個具體實施例中,一種水質預測系統(tǒng),所述預測模塊還用于:刪除所述待預測水域歷史氣象因素時間序列數(shù)據(jù)和待預測水域水質參數(shù)歷史時間序列數(shù)據(jù)中的空缺值。
在本發(fā)明另一個具體實施例中,一種水質預測系統(tǒng),所述預測模塊還用于將建立arima自回歸積分滑動平均模型過程中的出錯數(shù)據(jù),結合所述待預測水域歷史氣象因素時間序列數(shù)據(jù),利用lm-bp神經(jīng)網(wǎng)絡模型,獲取所述待預測水域氣象因素預測值。
在本發(fā)明另一個具體實施例中,一種水質預測系統(tǒng),所述預測模塊還用于:采用adf單位根檢驗來判斷待預測水域歷史氣象因素時間序列數(shù)據(jù)的平穩(wěn)性:經(jīng)過d次差分處理,建立arima自回歸積分滑動平均模型;利用自相關函數(shù)和偏自相關函數(shù)計算所述arima自回歸積分滑動平均模型的系數(shù)和階數(shù);利用最小二乘法計算所述arima自回歸積分滑動平均模型的參數(shù)。
在本發(fā)明另一個具體實施例中,一種水質預測系統(tǒng),所述預測模塊還用于對待預測水域歷史氣象因素進行數(shù)據(jù)預處理,得到各氣象因素中主成分的以下值中至少一種:特征值、貢獻率和累計貢獻率。
圖4是示出本申請實施例的水質預測方法的設備的結構框圖。
參照圖4,所述水質預測方法的測試設備,包括:處理器(processor)401、存儲器(memory)402、通信接口(communicationsinterface)403和總線404;
其中,
所述處理器401、存儲器402、通信接口403通過所述總線404完成相互間的通信;
所述通信接口403用于該測試設備與水質預測方法的通信設備之間的信息傳輸;
所述處理器401用于調用所述存儲器402中的程序指令,以執(zhí)行上述各方法實施例所提供的方法,例如包括:步驟1,基于待預測水域水質參數(shù)歷史時間序列數(shù)據(jù),利用arima自回歸積分滑動平均模型,獲取所述待預測水域水質參數(shù)預測值;基于待預測水域歷史氣象因素時間序列數(shù)據(jù),利用bp神經(jīng)網(wǎng)絡模型,獲取所述待預測水域氣象因素預測值;步驟2,將所述待預測水域氣象因素預測值和所述待預測水域水質參數(shù)預測值在待預測各時間點的值進行相加,得到所述待預測水域的水質預測結果。
本實施例公開一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括存儲在非暫態(tài)計算機可讀存儲介質上的計算機程序,所述計算機程序包括程序指令,當所述程序指令被計算機執(zhí)行時,計算機能夠執(zhí)行上述各方法實施例所提供的方法,例如包括:步驟1,基于待預測水域水質參數(shù)歷史時間序列數(shù)據(jù),利用arima自回歸積分滑動平均模型,獲取所述待預測水域水質參數(shù)預測值;基于待預測水域歷史氣象因素時間序列數(shù)據(jù),利用bp神經(jīng)網(wǎng)絡模型,獲取所述待預測水域氣象因素預測值;步驟2,將所述待預測水域氣象因素預測值和所述待預測水域水質參數(shù)預測值在待預測各時間點的值進行相加,得到所述待預測水域的水質預測結果。
本實施例提供一種非暫態(tài)計算機可讀存儲介質,所述非暫態(tài)計算機可讀存儲介質存儲計算機指令,所述計算機指令使所述計算機執(zhí)行上述各方法實施例所提供的方法,例如包括:步驟1,基于待預測水域水質參數(shù)歷史時間序列數(shù)據(jù),利用arima自回歸積分滑動平均模型,獲取所述待預測水域水質參數(shù)預測值;基于待預測水域歷史氣象因素時間序列數(shù)據(jù),利用bp神經(jīng)網(wǎng)絡模型,獲取所述待預測水域氣象因素預測值;步驟2,將所述待預測水域氣象因素預測值和所述待預測水域水質參數(shù)預測值在待預測各時間點的值進行相加,得到所述待預測水域的水質預測結果。
本領域普通技術人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質包括:rom、ram、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所描述的水質預測方法的設備等實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件?;谶@樣的理解,上述技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
本發(fā)明所述基于bp神經(jīng)網(wǎng)絡和arima自回歸積分滑動平均模型的水質時間序列預測方法,對采集的待預測流域水質參數(shù)時間序列數(shù)據(jù)和天氣因素數(shù)據(jù)進行預處理,將歷史數(shù)據(jù)中的缺失數(shù)據(jù)刪除,并將氣象因素數(shù)據(jù)進行主成分分析,做降維處理;將經(jīng)過預處理的待預測流域水質參數(shù)時間序列數(shù)據(jù)分為訓練樣本集和測試樣本集,以訓練樣本集前若干連續(xù)單位時間的水質參數(shù)值作為arima自回歸積分滑動平均模型輸入,以下一單位時間的水質參數(shù)值作為輸出,對arima自回歸積分滑動平均模型用測試樣本集對訓練后的模型進行檢驗,獲得基于arima自回歸積分滑動平均模型的水質參數(shù)時間序列預測模型;其中經(jīng)過arima自回歸積分滑動平均模型后剩余的非線性數(shù)據(jù)和經(jīng)過主成分分析的天氣因素數(shù)據(jù)共同作為bp神經(jīng)網(wǎng)絡模型的輸入,訓練lm-bp神經(jīng)網(wǎng)絡模型,再測試樣本集檢驗,獲得合適的bp神經(jīng)網(wǎng)絡模型;最后可使用arima自回歸積分滑動平均模型和bp神經(jīng)網(wǎng)絡模型對新的水質參數(shù)時間序列數(shù)據(jù)進行預測,預測結果在待預測各時間點的值進行相加,獲得更精確的預測結果。
基于lm-bp神經(jīng)網(wǎng)絡和arima自回歸積分滑動平均模型的水質時間序列預測方法可應用于不同流域的ph、溶解氧(do)、電導率(ec)、濁度(tu)、氨氮(nh3-n)、化學需氧量(cod)、總磷(tp)、總氮(tn)等水質參數(shù)的預測,預測精度高,范圍廣,具有良好的魯棒性。
最后,本申請的方法僅為較佳的實施方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。