收稿日期:2007-09-20;修回日期:2007-12-26
基金項目:國家自然科學基金資助項目(60475107,60675031);國家“973”計劃資助項目(2004CB318108); 安徽省教育廳自然科學基金重點資助項目(2006KJ015A); 安徽省教育廳自然科學基金資助項目(2005KJ053); 安徽大學“211”工程學術創(chuàng)新團隊資助項目
作者簡介:楊雪潔(1982-),安徽巢湖人,碩士研究生,主要研究方向為智能計算、人工神經網絡(yxj1982_colour@163.com);趙姝,副教授,主要研究方向為人工智能、智能計算;張燕平,教授,主要研究方向為人工智能、機器學習、人工神經網絡的理論與應用.*
(安徽大學計算智能與信號處理教育部重點實驗室,合肥 230039)
摘 要:針對傳統時間序列預測模型不適應非線性預測而適應非線性預測的BP算法存在收斂速度慢,且容易陷入局部極小等問題,提出一種基于構造性神經網絡的時間序列混合預測模型。采用構造性神經網絡模型(覆蓋算法)得出的類別值對統計時間序列模型的預測值進行修正,建立一種同時考慮時間序列自身周期變化和外生變量因子對時間序列未來變化趨勢影響的混合預測模型,涵蓋了實際問題的線性和非線性兩方面,提高了預測精度。將該模型應用到糧食產量的預測中,取得了較好的預測效果。
關鍵詞:時間序列預測;構造性神經網絡;統計時間序列模型;產量預測
中圖分類號:TP30
文獻標志碼:A
文章編號:1001-3695(2008)10-2920-02
Time-series mixed prediction model based on constructive neural networks
YANG Xue-jie,ZHAO Shu,ZHANG Yan-ping
(Key Laboratory of Intelligent Computing Signal Processing of Ministry of Education,Hefei University, Hefei 230039, China)
Abstract:Traditional times-series prediction models are not adapted to nonlinear time-series prediction, and BP algorithm which fits nonlinear time-series prediction has some trouble with slow convergence rate and easy getting into local minimum. This paper put forward a time-series mixed prediction model based on constructive neural networks. The predictions of statistical times-series models were corrected based on the different types which were calculated by constructive neural networks mo-dels(covering algorithm). This mixed model considered both periodic changes of times-series and the influence of external variable factors on the times-series in the future. The prediction accuracies could be improved because the model were constructed from the nonlinear and linear aspects. The experimental results show that using this model to forecast and analysis wheat yield is effective.
Key words:time-series prediction; constructive neural networks; statistical times-series models; yield forecast
時間序列建模及預測是近年來學術研究和實際應用領域的研究熱點,人們收集了許多關于時間序列預測方面的資料加以分析和研究,已經掌握了一些建模及預測的基本規(guī)律[1]。根據理論或者假設數據間潛在關系的不同,傳統的時間序列預測模型主要是以自回歸移動平均模型(ARMA)、指數平滑及灰色模型[2]等為基礎的常見統計模型, 利用統計學等理論對原始時間序列進行擬合,尋求規(guī)律,建立統計時間序列預測模型,具有簡單直觀、解釋性強等特點,但其對非線性時間序列很難取得良好的預測效果[3]。而實際應用中的時間序列往往是非平穩(wěn)、非線性的,如氣象數據、股票價格數據、網絡流量數據等。
近年來, 由于人工神經網絡良好的函數逼近能力,它已經成為新的非線性時間序列預測分析法[4]。目前普遍采用的是BP算法,如在氣象科學中將BP算法應用于降水量[5]預測并取得了一定的成果;但BP算法學習速度較慢,容易陷入局部極小點[6],在設計過程中往往都要經過反復的試湊和訓練,很難保證每次訓練時BP算法的收斂性和全局最優(yōu)性。張鈴等人[7,8]提出的構造性神經網絡(覆蓋算法)可以有效避免這方面的缺點,它根據M-P神經元[9]的幾何意義,針對學習樣本的特征構造神經網絡,解決了多年來一直未解決的作為分類器的多層前向網絡設計問題。該模型具有可理解性強、識別率高、計算速度快、可以保證訓練樣本集上100%的識別率等優(yōu)點。 本文結合統計時間序列模型和構造性神經網絡各自的優(yōu)點,提出基于構造性神經網絡的時間序列混合預測模型。首先利用原始時間序列建立統計時間序列模型,再利用構造性神經網絡(覆蓋算法)挖掘外生變量因子(特征屬性)與預測對象(決策屬性)變動之間的內在關系,得到預測類別值,最終利用該類別值對統計時間序列模型的預測值進行還原修正。該混合模型綜合考慮了預測對象的多種影響因素,將其應用于實際糧食產量預測,顯示了其良好的預測性能。
1 構造性神經網絡
張鈴等人提出的覆蓋算法是一種構造性的神經網絡學習算法,它根據樣本數據自身的結構,構造性地建立了神經網絡模型。其實質就是用求出的覆蓋領域作為三層神經網絡的隱含層,輸入層為測試集,輸出層為測試集的分類結果。以問題的方式解釋。這種構造性方法改變了傳統神經網絡學習方法的整體密不可分、輸入/輸出很難劃分等缺點,把神經網絡的設計問題轉變成求覆蓋的問題。它可以迅速地、構造性地得到對于訓練數據完全正確分類的神經網絡。在應用上,它使得基于該原理處理海量樣本集成為可能,被認為是對SVM傳統機器學習理論的重要貢獻[10]。
覆蓋算法主要用于解決分類學習問題, 需要對大量的樣本進行學習。這些樣本由特征屬性和決策屬性兩大部分組成。根據對學習樣本特征屬性的學習及決策屬性的判斷,得出分類規(guī)則,進而對給出的只有特征屬性的測試樣本,可以根據此分類規(guī)則,得出測試樣本的決策屬性。覆蓋算法及其改進算法[11,12]已在諸多方面得到成功應用,但其不足之處就是算法最終給出的結果是類別值,而不是具體預測值。
2 基于構造性神經網絡的時間序列混合預測模型
在時間序列預測方法中,統計時間序列模型對于一些特定數據集有很好的預報能力,但是由于模型自身缺點,在實際應用中存在一定的局限性,如灰色預測方法比較適合于較為平滑的時間序列;對于隨機波動大的序列,則擬合灰度較大,導致精度難以提高。簡而言之,統計時間序列模型對非線性問題的預測存在一定缺陷。由于覆蓋算法可迅速地、構造性地得到對于訓練數據完全正確分類的神經網絡,本文考慮將統計時間序列模型與構造性神經網絡(覆蓋算法)結合,并對預報對象未來變化有影響的外生變量因子和時間序列自身可能的周期性變化因素綜合考慮,建立時間序列混合預測模型,以改變傳統方法的不足。
具體算法如下:
a)利用原始時間序列X={X1,X2,…,Xn}建立統計時間序列模型Yn+k=f統(X1,X2,…,Xn), k∈N,并得到擬合數據Y={Y1,Y2,…,Yn}及預測值Yn+k,k∈N,依據擬合數據的相對誤差Yw=(X-Y)/X將原始時間序列劃分為不同的類別值I={I1,I2,…,Ii,…,In,Ii∈Z}。
b)將影響原始時間序列變化的外生因子序列歸一化后的W={W1,W2,…,Wn,…,Wn+k}作為樣本的特征屬性,并分出學習樣本的特征屬性W學={W1,W2,…,Wn}和預測樣本的特征屬性Wn+k,k∈N。
c)類別值I作為學習樣本的決策屬性,利用覆蓋算法對學習樣本的特征屬性和決策屬性進行學習,得出分類規(guī)則,建立構造性神經網絡分類器。
d)輸入預測樣本的特征屬性Wn+k,k∈N,根據上述分類器得到預測樣本的決策屬性In+k,k∈N,并依據a)中的分類標準將In+k還原成最終預測對象值Zn+k。
說明:a)步驟a)中依據相對誤差劃分類別值,具體劃分標準可以依據實際問題采用不同的標準,如糧食產量數據可劃分為大歉、歉、平、豐和大豐五個類別。b)由于對象的影響因素不同,外生因子序列維數可能會很高。為了提高預測精確度,可考慮主要影響因子,對外生因子序列進行主成分分析后再作為樣本的特征屬性。
傳統時間序列模型是通過研究預報對象過去的變化規(guī)律來推斷或預測其未來值,只考慮數據自身變化沒有考慮其他的影響因素。但是實際預報對象不僅與其自身變化規(guī)律有關,也必然受到一些外生變量因子的影響,如氣象條件就對糧食產量有很大的影響。該算法考慮了這些不足之處:步驟a)中利用原始時間序列數據建立統計時間序列模型考慮了時間序列自身可能的周期性變化規(guī)律;步驟b)中將原始外生因子序列作為樣本的特征屬性考慮了外部的影響因子,因此該模型考慮了實際問題的兩個方面,比傳統的時間序列模型更加完善,將統計時間序列模型與構造性神經網絡(覆蓋算法)結合,避免了統計時間序列模型不適應非線性時間序列預測的缺點,同時最終類別值也依據相對誤差分類標準還原成了具體預測值,在一定程度上彌補了覆蓋算法結果只有類別值的缺陷。模型具體結構如圖1所示。
3 實驗分析及討論
本章將基于構造性神經網絡的時間序列混合預測模型運用于實際糧食產量的預測。由于該混合模型中需要利用統計時間序列模型得出學習樣本的決策屬性,在實際的產量預測中選擇何種統計模型也是關注的問題之一,為此將常用的指數平滑法和灰色模型均運用于產量預測中,選擇其中預測效果較好的模型作為混合預測模型中的統計時間序列模型。
經實驗研究,指數平滑法一般控制在8~10年且數據較平滑時預測效果較佳,但其處理的時間序列不能過長,如果擬合年數較大效果就不盡如人意。選取合肥市1972—1991年二十年的糧食產量數據使用指數平滑法進行處理。其中有很多年份出現30%以上的擬合誤差,預測效果不理想;對1992年產量進行預測,誤差達到43.88%。灰色模型處理的時間序列可以有一定的長度,對合肥市1972—1991年二十年的糧食產量采用灰色模型,最大誤差為-22.5%,最小誤差達到了-0.96%。相比之下預測效果比較理想。從上述數據分析,指數平滑法適用于短期的時間序列預測,而灰色模型是一種中長期預測方法,由于糧食產量一般至少有四十年的數據量,最終混合預測模型中的統計時間序列模型采用灰色模型。
為便于對比分析,將基于構造性神經網絡的時間序列混合預測模型、灰色模型和傳統神經網絡(BP算法)運用于實際合肥市糧食產量的預測,并對三者預測結果作出比較分析。
混合預測模型的原始時間序列是1953—1995年的糧食產量數據,對原始時間序列建立灰色模型確定出的類別作為樣本的決策屬性。外生影響因子序列選擇的是氣象因子中的降水量、日照和溫度。將上述三種因子作為樣本的特征屬性,選擇1953—1995年數據作為學習樣本,1996—2000年數據作為預測樣本。最后采用平均值的方法將覆蓋算法劃分出預測樣本的類別值還原為預測值。
傳統神經網絡模型采用的是BP網絡。為加強對比性,在BP網絡中也考慮了預報對象影響的因子,將降水量、日照和溫度與產量數據一起學習,隱含層節(jié)點經比較后選擇為5。基于構造性神經網絡的時間序列混合預測模型、灰色模型和傳統神經網絡(BP網絡)對合肥市1996—2000年產量預測結果如表1所示。
表1 合肥市1996—2000年產量預測結果
kg/公頃
年份灰色預
測產量BP模型混合預
測產量實際
總產量灰色
誤差/%BP誤差
/%混合模型
誤差/%19962 89142 06383 238353 25591341366105419973 38022 06383 43093 5721537422239519983 12582 97983 17273 0791-152322-30419992 93342 95712 610752 7669 -602-68756420003 37482 06383 003552 8399-18842733-576
從表1可以看出,在1996—2000年的糧食產量預測中,灰色模型和BP模型雖然在某些年中達到不錯的效果(如1998年和1999年),但是在其余幾年中的預測效果不盡如人意,均在10%以上;混合模型的預測效果明顯高于其他兩種模型,都控制在6%以下。由此可見,由于混合模型綜合考慮了時間序列自身變化及影響序列的外生因子,建立灰色模型后采用構造性神經網絡將預報對象劃分到一定的類別中,再對灰度預測值進行細化修正,從粗到細,可以使得預測結果更加精確。這樣的混合模型比單純用灰度模型或者單純的神經網絡方法可以更全面地反映與預報量未來變化的關系,致使該種混合預報模型具有更好的預報能力。
4 結束語
本文提出基于構造性神經網絡(覆蓋算法)的時間序列混合預測模型,從預報量時間序列的自身變化和外生因子影響兩方面考慮,利用人工神經網絡的非線性映射能力將預報對象劃分到一定的類別中,并根據預測類別對統計時間序列模型的預測值進行還原修正,涵蓋了實際問題的線性和非線性兩方面。實例證明了這種混合模型確實比單純使用統計時間序列模型或單純使用人工神經網絡的時間預測方法具有更好的預報效果,為時間預測方法提出了一種新的思路。由于實際問題的需要,本文實例中采用的統計時間序列模型是灰度模型,也可以考慮將其他的統計時間序列模型與覆蓋算法相結合進行預測,以彌補傳統時間序列模型和人工神經網絡模型的不足之處。
參考文獻:
[1]王振龍.時間序列分析[M].北京:中國統計出版社,2000.
[2]鄧聚龍.灰預測與灰決策 [M].修訂版.武漢: 華中科技大學出版社,2002.
[3]GRANGER C W J, ANDERSON A. Modeling nonlinear economic relationships [M].Oxford: Oxford University Press, 1993.
[4]GATELY E. Neural networks for financial forecasting[M]. New York: Wiley, 1996.
[5]李永華,劉德,金龍.基于BP神經網絡的汛期降水預測模型研究[J].氣象科學,2002,22(4):461-467.
[6]HAGAN M T, DEMUTH H B, BEALE M. Neural network design[M]. [S.l.]: Citic Publishing House,2002.
[7]張鈴,張鈸,殷海風. 多層前向網絡的交叉覆蓋設計算法[J].軟件學報,1999,10(7):737-742.
[8]ZHANG Ling, ZHANG Bo. A geometrical representation of McCulloch-Pitts neural model and its applications [J]. IEEE Trans on Neural Networks, 1999, 10(4):925-929.
[9]張鈴,張鈸.M-P神經元模型的幾何意義及其應用[J].軟件學報,1998,9(5): 334-338.
[10]史忠植. 知識發(fā)現[M].北京:清華大學出版社,2002:213-214.
[11]張燕平,張鈴,段震.構造性核覆蓋算法在圖像識別中的應用[J].中國圖象圖形學報,2004,9(11):1304-1308.
[12]吳鳴銳.大規(guī)模模式識別分類器的設計[D].