鄧 宇 田考聰
小波分析〔1-3〕(wavelet analysis)是為了克服傅里葉變換的不足而產生的,它能有效地提取信號的局部信息,具有良好的時頻域局部化功能,享有“數學顯微鏡”的美名。人工神經網絡〔4-5〕(ANN)具有自組織學習、自適應和容錯性等優點,是一類通用函數逼近器,已被廣泛用于非線性系統的建模優化,但是傳統的神經網絡往往存在參數選擇易陷入局部最小、收斂速度慢、網絡結構設計具有一定的盲目性等缺點,因此將小波變換與神經網絡的優點相結合而產生了小波神經網絡〔6-7〕(wavelet neural network,WNN)。
按照小波分析與人工神經網絡的結合方式,小波神經網絡通常可以分為兩類〔8〕:一種是輔助式結合,也稱為松散型結合方式;另一種是嵌套式結合,也即緊致型結合方式。
所謂輔助式結合,即將小波分析作為神經網絡的前置預處理手段,為神經網絡提供輸入特征向量,然后再用傳統的神經網絡進行處理,該方法將原始信號的不同頻率成分分別用傳統神經網絡學習訓練,產生輸出,這樣就避免了不同頻率成分的信號混雜在一起而增加了網絡學習訓練的難度(容錯能力),可以取得比較好的效果。
小波分析與神經網絡的嵌套式結合,是目前大量研究小波神經網絡的文獻中廣泛采用的一種結構形式,嵌套式小波神經網絡與一般的前饋型神經網絡(如BP神經網絡)一樣,其網絡結構并沒有什么本質的區別,它也采用監督式學習方式,其基本思想是由Zhang Qinghua 和 Benveniste〔9〕于1992 年正式提出的,即用小波基函數來代替常規神經網絡的隱含層激勵函數,同時相應的輸入層到隱含層的權值及閾值分別由小波基函數的尺度參數和平移參數來代替,其結構如圖1所示。

圖1 嵌套式小波神經網絡結構
本文利用飲用水源水水質參數數據,分別針對小波分析與人工神經網絡的兩種不同結合方式,建立各自的水質參數預測模型,以探討兩種不同結合方式的小波神經網絡在飲用水源水水質參數數據上的預測效果。
1.研究數據
選用重慶市某主城區以嘉陵江為水源的飲用水源水2001~2005年高錳酸鹽指數月平均濃度作為研究對象。選用2001~2004全年及2005年前6個月高錳酸鹽指數月平均濃度作為網絡的訓練數據,通過建立小波神經網絡水質參數預測模型,來預測2005年后6個月的高錳酸鹽指數平均濃度值。研究數據如表1所示。我們將此數據看成一個以時間點為橫軸的單一時間序列。
2.樣本設計
設時間序列 x={xi|xi∈R,i=1,2,…,l},對于單一時間序列,我們可以通過序列前N個時刻的值預測后M個時刻的值,可以采用序列的N個數據為滑動窗,并將其映射為M個值,這M個值代表在該窗之后的M個時刻上的預測值。這樣就把數據分為K個長度為N+M的有一定重疊的數據段,每個數據段可以看成是一個樣本,這樣可得到K=L-(N+M)+1個樣本。可以將每個樣本的前N個值作為網絡的輸入,后M個值作為網絡的輸出,通過學習使該網絡實現從輸入空間RN到輸出空間RM的映射,從而達到時間序列預測的目的。

表1 2001~2005年重慶某區飲用水高猛酸鹽每月監測數據
本文選取滑動窗的大小N=4,輸出M=1,由此可得到56個樣本,取前50組數據作為訓練集,最后6組數據為預測集。預測之前,首先要對數據進行歸一化處理,使其落入相應的理想區間,使網絡在進行網絡參數調整時,調整幅度大,從而加速網絡的收斂進程。最后通過反歸一化處理,得到最終預測值。
3.輔助式小波神經網絡預測模型
目前在眾多的神經網絡類型中,BP神經網絡為研究最多且應用最為廣泛,因此選用BP神經網絡為輔助式小波神經網絡預測模型骨架,實現從輸入空間R4到輸出空間R1的映射。
小波分析時,選擇合適的小波函數對模型的預測精度及泛化能力非常重要,也是關鍵步驟,但目前尚無實質性的理論指導。而對于最大分解尺度的選擇,在一定預測精度要求下,分解尺度既不能太小也不能太大,若尺度選得太小,則不能有效地將原信號中具有不同頻率特征的分量分離出來,也就無法得知原序列各頻段詳細信息,無法體現小波變換的優越性,尺度過大則需要用較多的模型對分解后的各個分量進行預測,各個預測模型都會引入一定的誤差,從而導致最終預測誤差變大。針對本文研究數據,筆者在參考大量文獻資料〔10-13〕后,最終選用db3小波基進行2層小波分解,分解后得到的低頻信號和各高頻信號及信號重構如圖2所示。
圖2中,s表示原始信號,即2001~2005年高錳酸鹽指數月平均濃度,ca2表示進行2層小波分解后得到的低頻概貌分量,可見ca2基本反映出原信號的峰值及變化趨勢,為原信號的趨勢成分。cd1和cd2為分解后得到的高頻信號,其中cd1隨機波動,為原信號的隨機成分,而cd2基本上呈周期性的波動,為原信號的周期成分或者說季節成分;我們將cd1與cd2對比可知,從數值上講,cd1比cd2波動幅度大,變化也較劇烈些,這也就是說,原序列s的隨機變化強于季節因素對其的影響,而對于隨機成分,預測精度再高的模型也很難掌握其變化發展趨勢,因此將研究數據不同頻率成分分量混雜在一起進行預測,其效果勢必不會理想。s1為分解后的重構信號,由圖可知:重構信號與原信號相比基本沒有什么差別。原信號的分解關系為:s=ca2+cd1+cd2,重構則為分解的逆過程。原信號與重構信號的誤差平方根為7.2786×10-12,這說明采用本文所說的分解重構關系是切實可行的。

圖2 小波分析數值變化曲線
研究數據經小波分析后,然后用BP神經網絡分別對各分量數據進行模擬預測,最后把各分量數據的預測結果進行重構而得到最終預測結果。
4.輔助式與嵌套式相結合的小波神經網絡預測模型
原始數據經小波分析可知,研究數據包含較大的隨機成分,而隨機成分會影響模型對數據的預測效果,因此,考慮到隨機成分對模型預測效果的影響,我們基于輔助式小波神經網絡結構與嵌套式小波神經網絡結構相結合的思想,把輔助式小波神經網絡與嵌套式小波神經網絡都融合在模型的建立過程中,即先對原序列進行小波分析,提取不同成分的分量,然后對不同分量分別用嵌套式小波神經網絡(我們稱之為子小波神經網絡)進行學習訓練,將不同分量的預測輸出結果再進行信號重構,得到最終的預測值。
原始數據經小波分析后,各分量的子小波神經網絡均選為三層網絡結構,其中輸入層只負責將各分量數據提供給網絡,不參與計算。隱含層激勵函數選擇墨西哥帽,原因在于墨西哥帽函數在[-1,0]區間為單調遞增函數,其導函數在該區間內恒大于零,且導數值較大,在該區間內,墨西哥帽函數具有常規S型函數的曲線特征,因而我們只需把各子小波神經網絡的網絡參數初始化為[-1,0]區間均勻分布的隨機數,同時各分量的樣本數據也歸一化為該區間,這樣就使得各子小波神經網絡在運用改進BP算法進行網絡參數的調整時,獲得較大的導數值,從而網絡參數調整幅度大,加速網絡的收斂進程。而輸出層采用線性激勵函數,即把隱含層輸出結果通過網絡輸出層線性加權到網絡輸出空間。本文最終確定的各子小波神經網絡結構如表2所示。

表2 各子小波神經網絡最終結構
研究數據經小波分析提取各分量后,我們采用如表2所示的網絡結構建立各自分量的子小波神經網絡,經學習訓練預測后,再把各子小波神經網絡的預測結果進行小波重構,而得到最終預測值。
5.預測結果與分析
本文采用Matlab 7.1軟件編程建立模型求解。分別用輔助式小波神經網絡、輔助式與嵌套式相結合的小波神經網絡對研究數據進行預測。采用均方根誤差(RMSE)以及平均絕對百分比誤差(MAPE)來評價模型最終預測效果,結果如表3所示。圖3為兩預測模型的最終預測值與實測值的對比圖。

表3 各模型預測比較結果

圖3 兩個模型預測值與實測值的對比
表3與圖3中,WNN1表示輔助式小波神經網絡預測模型,WNN2表示輔助式與嵌套式相結合的小波神經網絡預測模型,其中圖3中,后6個時間點為預測樣本,由圖和表可知,WNN1與WNN2對研究數據的預測模型效果,表現在 RMSE和 MAPE較小,其中WNN2的預測效果優于WNN1。實例說明,小波神經網絡對研究數據預測效果較好,具有很強的學習逼近能力、泛化能力,將其用于水質參數預測、及總體水質評價具有很大的實際應用價值。
本文應用小波神經網絡方法預測飲用水源水水質參數,提出了輔助式與嵌套式相結合的小波神經網絡預測模型,由于小波神經網絡既具有時頻域局部化功能,又具有自組織、自學習能力,其對研究數據的學習逼近能力、泛化能力強,因而取得了較好的預測效果。但在應用小波神經網絡方法建模時,應注意以下幾個方面:
1.在樣本的預處理即樣本設計時,應考慮滑動窗大小的選取,不同的滑動窗大小會影響最終的預測精度,一般應選擇多組不同滑動窗大小,分別建模預測,然后選擇其預測精度最好者。
2.輔助式小波神經網絡中小波分析母函數的選取,針對具體信號,選擇合適的小波母數是小波分析的關鍵步驟。確定小波函數質量的依據主要有:函數的支撐長度、對稱性、函數的消失矩陣階數及正則性等等,一般情況下,如果我們希望得到數據信號的一個主要的長期的發展趨勢而并不要求對信號進行短期的精確預測時,可選用具有正則性的小波函數;相反如果我們期望得出精確的預測結果,就應選擇具有良好緊支性的小波函數。
3.嵌套式小波神經網絡中隱含層小波激勵函數的選取,選擇不同的小波激勵函數對網絡的收斂速度影響很大,但目前尚無統一理論指導,本文根據改進BP學習算法的基本思想,結合不同小波母函數的曲線特征,選擇墨西哥帽小波母函數作為隱含層激勵函數,并由此得出網絡初始參數及樣本數據的理想區間。
4.此外,在運用神經網絡方法預測飲用水源水水質參數變化趨勢時,最好應先對原數據進行時間序列分析、小波分析等,以分析序列不同成分,如趨勢成分、循環成分、隨機成分等,從而確定原數據序列平穩性等特點,而往往對于隨機成分而言,其預測效果是不十分理想的。后在此基礎上,再運用神經網絡方法建立模型預測。
1.費佩燕,劉曙光.小波分析應用的進展與展望.紡織高校基礎科學學報,2001,14(1):72-78.
2.Daubechies I.Ten lectures on wavelet.Philadelphia.PA:SIAM Press,1988.
3.張德干,郝先臣,徐凌宇,等.基于小波理論的數據挖掘方法研究.小型微型計算機系統,2001,22(8):946-949.
4.周利鋒,高爾生,等.人工神經網絡的應用.現代預防醫學,1998,25(3):272-274.
5.任宏.人工神經網絡及其在預防醫學領域的應用.上海預防醫學雜志,2003,15(1):22-24.
6.薛桂先.神經網絡方法在黃河來水預測中的應用.《農業網絡信息》研究與開發,2006,5:36-38.
7.匡芳君,等.基于小波神經網絡的人力資源評估模型.微計算機應用,2008,29(1):24-28.
8.蔣霖,李向民等.多小波神經網絡在變形預測中的應用.山西建筑,2008,34(1):13-14.
9.Zhang Qinghua,Benveniste A.Wavelet networks .IEEE transactions NN,1992,3(6):889-898.
10.葛哲學.小波分析理論與MATLAB R2007實現.北京:電子工業出版社,2006:31-40.
11.周偉.桂林,周林.MATLAB小波分析高級技術.西安:西安電子科技人學出版社,2006:51-63.
12.朱玲.基于小波分析的BP神經網絡在西湖富營養化趨勢預測中的應用.浙江:浙江大學,2007.
13.蔣曉輝劉呂明.基于小波分析的徑向基神經網絡年徑流量預測.應用科學學報,2004,22(3):411-414.