摘要:文章首次將GRNN模型應(yīng)用于雞蛋價格的預(yù)測,數(shù)據(jù)來自上海市徐匯區(qū)20多個菜市場的均價,樣本數(shù)據(jù)的采集頻率為每天,將樣本分成三組,其中60%作為訓(xùn)練樣本、20%作為檢驗樣本、20%作為測試樣本。在訓(xùn)練模型的過程中,根據(jù)對結(jié)果的分析不斷優(yōu)化分組,最終確定所建模型的平滑因子為0.02。確定模型后訓(xùn)練得到的預(yù)測結(jié)果的平均絕對誤差僅為0.019元,最終得到GRNN模型在雞蛋價格預(yù)測方面具有良好的適用性的結(jié)果。
關(guān)鍵詞:GRNN模型;雞蛋價格;預(yù)測;平滑因子;平均絕對誤差
一、引言
我國是禽蛋生產(chǎn)大國,在所有禽蛋品種中,雞蛋一直占據(jù)著主體地位。2012年中國雞蛋產(chǎn)量約占世界雞蛋產(chǎn)量的43.88%,并且還在不斷地上升。雞蛋價格的穩(wěn)定與否,不僅影響著蛋雞養(yǎng)殖戶的穩(wěn)定,也影響著居民的消費需求。
目前,關(guān)于雞蛋價格預(yù)測方面的研究主要有:2008年王舒鴻采用采集頻率為半個月的樣本數(shù)據(jù),使用灰色預(yù)測模型對雞蛋價格進行預(yù)測;2011年唐江橋等采用樣本數(shù)據(jù)為2000年1月至2010年12月的雞蛋價格月度數(shù)據(jù),構(gòu)建了包含ARIMA預(yù)測模型的中國雞蛋價格波動預(yù)警模型,對2011年各月份的雞蛋價格進行預(yù)警;2012年劉振濱通過對近年來我國生鮮雞蛋市場價格波動成因和影響因素進行分析,從而從產(chǎn)業(yè)鏈價格預(yù)警、生鮮雞蛋供應(yīng)主渠道建設(shè)、多部門協(xié)調(diào)制度及價格調(diào)節(jié)機制建設(shè)等方面提出價格調(diào)控建議;2013年岳之峣等采用基于支持向量機的方法對雞蛋進行價格預(yù)警研究,運用 libsvm 軟件對樣本集進行參數(shù)尋優(yōu)、訓(xùn)練和測試,其中選擇徑向基核函數(shù)作為核函數(shù)來建立雞蛋價格預(yù)警模型。
近年來,對于價格預(yù)測方面的研究越來越多的人采用人工神經(jīng)網(wǎng)絡(luò),其中BPNN和GRNN模型應(yīng)用較為廣泛。但是由于BPNN模型是一種典型的全局逼近網(wǎng)絡(luò),網(wǎng)絡(luò)的一個或多個權(quán)值對每個輸出都有影響,導(dǎo)致其學(xué)習(xí)效率低,且樣本訓(xùn)練過程容易發(fā)生“過訓(xùn)練”現(xiàn)象。而GRNN模型是一種局部逼近網(wǎng)絡(luò),模型的建立具有明確的理論基礎(chǔ),其中人為調(diào)節(jié)的參數(shù)很少,它僅需要一個簡單的光滑因子,不必進行循環(huán)的訓(xùn)練過程,在訓(xùn)練過程中不調(diào)整神經(jīng)元之間的連接權(quán)重,網(wǎng)絡(luò)更穩(wěn)健,計算速率更快。因此本文采用GRNN模型來對雞蛋價格進行預(yù)測。
二、GRNN模型的基本原理和結(jié)構(gòu)
廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN)是一種基于非線性回歸理論的前饋式神經(jīng)網(wǎng)絡(luò),是徑向基函數(shù)(RBF)神經(jīng)網(wǎng)絡(luò)的一個分支。GRNN模型于1991年由Donald F.Specht最先提出,主要優(yōu)點是學(xué)習(xí)速率快、高度的容錯性和魯棒性,并且GRNN建模時只有一個光滑因子值需要人為地確定,網(wǎng)絡(luò)的學(xué)習(xí)全部依賴于數(shù)據(jù)的學(xué)習(xí),可以合理避免人為等主觀猜測因素對預(yù)測結(jié)果的影響。
GRNN結(jié)構(gòu)如圖1所示,包括輸入層、模式層、求和層與輸出層等4層神經(jīng)元。對應(yīng)網(wǎng)絡(luò)輸入X=[x1,x2,…,xn]T,其輸出為Y=[y1,…,yL]T。
輸入層有n維輸入向量,輸入變量為X=[x1,x2,…,xn]T,輸入層的向量數(shù)等于學(xué)習(xí)樣本的輸入個數(shù),輸入層直接將輸入變量傳輸?shù)侥J綄印DJ綄影琲個神經(jīng)元,對應(yīng)i個標(biāo)準(zhǔn)訓(xùn)練樣本,其傳遞函數(shù)Pi=exp[■],i=1,2,…,n。其中,X為輸入變量,Xi為神經(jīng)元i對應(yīng)的學(xué)習(xí)樣本,σ為光滑參數(shù)。求和層由兩類神經(jīng)元組成,一類是一個SD神經(jīng)元,對所有模式層神經(jīng)元的輸出進行算術(shù)求和,第二類是j個SN1到SNj神經(jīng)元,對所有模式層神經(jīng)元進行加權(quán)求和,其傳遞函數(shù)分別為SD=■Pi,i=1,2,…,L,SNj=■yijPi,j=1,2,…,L。其中,yij為樣本觀測值的權(quán)重因子。輸出層的神經(jīng)元的個數(shù)等于學(xué)習(xí)樣本中輸出向量的維數(shù)L,輸出函數(shù)yj=■,j=1,2,…,L。
本文建立的GRNN模型的輸入層節(jié)點數(shù)為5個,模式層節(jié)點數(shù)為396個,求和層節(jié)點數(shù)為2個,輸出層節(jié)點數(shù)為1個,即n=5,i=396,j=1,L=1。對應(yīng)的GRNN模型的結(jié)構(gòu)圖如圖1。
三、建立雞蛋價格預(yù)測的GRNN模型
(一)樣本數(shù)據(jù)的分析和處理
本模型采用的數(shù)據(jù)來源為上海市徐匯區(qū)20多個菜市場的均價,為2010年12月13日到2013年9月10日的雞蛋價格,共660個數(shù)據(jù),數(shù)據(jù)采集頻率為每天,剔除了周六周日的數(shù)據(jù),消除了周末消費量增加對價格波動的影響。
為了直觀顯示這段時間雞蛋價格波動的特點,本文以折線圖的形式顯示雞蛋價格的660個數(shù)據(jù),如圖2所示。
由圖2可以看出,2011年和2013年的雞蛋價格的波動呈現(xiàn)一定的周期性,而2012年4月,由于受到禽流感的影響雞蛋價格一度呈下降狀態(tài),于2012年5月24日降到了樣本價格的最低價格3.98元,直到2012年6月過后雞蛋價格才開始攀升。
為了取得較好的預(yù)測結(jié)果,在進行雞蛋價格預(yù)測的GRNN模型建模前,對原始數(shù)據(jù)進行歸一化處理。歸一化處理的方法有多種,本文采用最大最小法■(xmin、xmax分別為樣本數(shù)據(jù)中的最大值和最小值)對樣本數(shù)據(jù)進行歸一化。歸一化后,把數(shù)據(jù)映射到0~1范圍內(nèi)處理。這樣消除了數(shù)據(jù)自身的影響,有利于網(wǎng)絡(luò)訓(xùn)練。
(二)樣本數(shù)據(jù)的分組和確定
使用軟件SNN軟件建立GRNN模型,把樣本數(shù)據(jù)的雞蛋價格(共660個數(shù)據(jù))采用隨機分組分成約60%的訓(xùn)練樣本(簡稱Tr)、20%的檢驗樣本(簡稱Veri)和20%的測試樣本(簡稱Te)三組,其中訓(xùn)練樣本為396個數(shù)據(jù),檢驗樣本為132個數(shù)據(jù),測試樣本為132個數(shù)據(jù)。本文采用時間序列的方法,由于樣本的選取按照每周作為一個價格周期,因此選擇5天作為滯后天數(shù),則實際的檢驗樣本和測試樣本分別為130、129個數(shù)據(jù)。初步建立的GRNN模型的輸入層節(jié)點數(shù)為5個,模式層節(jié)點數(shù)為396個,求和層節(jié)點數(shù)為2個,輸出層節(jié)點數(shù)為1個。
在GRNN網(wǎng)絡(luò)訓(xùn)練中,雖然訓(xùn)練樣本、檢驗樣本、測試樣本三類樣本的個數(shù)不變,但是三類樣本的數(shù)據(jù)可以改變。由于三類樣本的均方根誤差(RMSE)越接近模型的泛化能力越強,所以通過使用SNN軟件對三類模型進行訓(xùn)練,通過改變光滑因子和三類樣本的數(shù)據(jù),使三類樣本的均方根誤差盡可能地接近。
訓(xùn)練之后的三類樣本的平均值分別為0.5359、0.5889和0.5681,均接近與平均值0.5552,標(biāo)準(zhǔn)差分別為0.2396、0.2594和0.2327,相差僅在2%~3%之間。由此可見,訓(xùn)練的網(wǎng)絡(luò)是合理的。
(三)光滑因子的確定
由上文GRNN網(wǎng)絡(luò)模型的模式層的傳遞函數(shù)Pi=exp[■],i=1,2,…,n可以看出,在輸入變量X和學(xué)習(xí)樣本Xi確定的前提下,對模型輸出變量唯一影響因素即光滑因子σ。因此,GRNN網(wǎng)絡(luò)的學(xué)習(xí)算法在訓(xùn)練過程中只需改變σ即可得到最佳的回歸預(yù)測結(jié)果。GRNN網(wǎng)絡(luò)的訓(xùn)練就是對σ進行估計,所以σ對于網(wǎng)絡(luò)的訓(xùn)練極其重要,對于網(wǎng)絡(luò)的預(yù)測結(jié)果的影響很大。
Tomandl D等提出,對于不同的樣本,平滑參數(shù)分別取不同的值可以達到較好的預(yù)測性能。對于時間序列預(yù)測問題,由于樣本是具有相同屬性的觀測值,因此在廣義回歸神經(jīng)網(wǎng)絡(luò)的平滑參數(shù)取為相同的值。對樣本進行分組且確定訓(xùn)練樣本、檢驗樣本、測試樣本三類樣本后,先通過改變光滑因子,得到其大致范圍為(0,0.1),再通過以增量0.01的幅度在(0,0.1)范圍內(nèi)遞增變化光滑因子的方法,得到三類樣本的不同的RMSE,如圖3。
由圖3可以看出,當(dāng)光滑因子取0.02時,測試樣本與檢驗樣本的值分別為最小值0.0194和0.0257,且訓(xùn)練樣本的誤差也較小為0.0164,由于此時的非訓(xùn)練樣本均達到最小值,所以網(wǎng)絡(luò)的擬合能力最強。且光滑因子取0.02時,三類樣本的平均絕對誤差(MAE)分別為0.0100、0.0130和0.0167,相差不超過0.01,相對較為接近,因此光滑因子確定為σ=0.02。
(四)基于GRNN模型預(yù)測的結(jié)果
光滑因子值確定為0.02后,其對應(yīng)的預(yù)測誤差如圖4所示(y軸坐標(biāo)的單位為元),模型預(yù)測值誤差區(qū)域在(-0.25,0.25)內(nèi),其中90%以上的數(shù)據(jù)都集中在(-0.05,0.05)區(qū)域內(nèi),雞蛋的價格預(yù)測誤差均不超過0.25元,預(yù)測誤差絕對值超出0.1元的所占比例僅為2.59%。
由圖2可以看出,在價格變化率穩(wěn)定時預(yù)測值和實際值非常接近,而在價格變化率變化較大時預(yù)測值和實際值相差較大,價格變化率的突變是由于天氣等突發(fā)因素引起的,這些突發(fā)因素是很難預(yù)測的。而且在樣本分組時,把大誤差對應(yīng)的實際值通過人為優(yōu)化調(diào)節(jié)使其分布在訓(xùn)練樣本的分組中,誤差絕對值大于0.15的值所占比例不超過0.5%,對總體的結(jié)果影響不大。
總體來看,誤差大于和小于實際值的數(shù)據(jù)量相差不大,統(tǒng)計得大于實際值得誤差數(shù)所占比例為51.15%,小于實際值的誤差數(shù)所占比例為48.85%,相差僅為2.3%,因此總體誤差分布均勻。計算得其預(yù)測值的MAE為0.019元,不超過0.02元。通過這些指標(biāo)可以看出,此GRNN模型預(yù)測的結(jié)果和實際值非常接近。
四、結(jié)果與討論
通過以上的建模過程可以看出,GRNN模型的建模僅需要一個簡單的光滑參數(shù),且平滑因子的確定僅需先確定大致范圍后利用從大數(shù)開始以0.01逐減的方式,最終確定合理的平滑因子,方法及操作簡單。相比較BPNN模型,GRNN模型不必進行循環(huán)的訓(xùn)練過程,不必擔(dān)心“過訓(xùn)練”現(xiàn)象的出現(xiàn),在訓(xùn)練過程中不調(diào)整神經(jīng)元之間的連接權(quán)重,網(wǎng)絡(luò)更穩(wěn)健,計算速率更快。
由以上數(shù)據(jù),GRNN模型對于雞蛋價格預(yù)測的三類樣本的RMES分別為0.01643、0.0193和0.0257,均不超過3%,且預(yù)測值的MAE為0.019元,不超過0.02元。且GRNN模型的預(yù)測誤差相對均勻的集中分布在0元左右,模型的可靠性較強。由以上結(jié)果證明,GRNN模型對于雞蛋價格的預(yù)測達到了較高精度,為雞蛋以致其他農(nóng)產(chǎn)品的價格預(yù)測提供了一種高效實用的工具和方法,也對了解和分析雞蛋以及其他農(nóng)產(chǎn)品價格的波動規(guī)律、市場變化規(guī)律起到了一定的積極作用。
參考文獻:
[1]劉振濱.近年來我國生鮮雞蛋市場價格波動分析[J].產(chǎn)業(yè)透視,2012(02).
[2]羅鋒,牛寶俊.國際農(nóng)產(chǎn)品價格波動對國內(nèi)農(nóng)產(chǎn)品價格的傳遞效應(yīng)[J].國際貿(mào)易問題,2009(06).
[3]王舒鴻.灰色預(yù)測模型在雞蛋價格預(yù)測中的應(yīng)用[J].中國畜業(yè)導(dǎo)刊,2008(15).
[4]唐江橋,雷娜.中國雞蛋價格波動預(yù)警研究[J].中國改革熱點與難點,2011(06).
[5]岳之峣,周文俊,侯云先.基于支持向量機的雞蛋供應(yīng)鏈中價格預(yù)警研究[J].物流工程與管理,2013(24).
[6]Sprecht D F.A general regression ne
ural network[J].IEEE Trans Neural Networ
ks,1991(02).
[7]Sprecht D F.The general regression neural network rediscovered[J].Neural Networks,1993(06).
[8]Tomandl D,Schober A.A modifiedgeneral regression neural network(MGRNN)with new, efficient training algorithms as a robust‘black box’-tool for data analysis[J]. Neural Networks,2001(04).
[9]Chtioui Y,Panigrahi S,F(xiàn)rancl L.A generalized regression neural network and its application for leaf wetness prediction to forecast plant disease[J]. Chemometrics and Intelligent Laboratory Systems,1999(01).
[10]馮志鵬,宋希庚,薛冬新.基于廣義回歸神經(jīng)網(wǎng)絡(luò)的時間序列預(yù)測研究[J].振動、測試與診斷,2003(02).
*本文受上海高校知識服務(wù)平臺“上海商貿(mào)服務(wù)業(yè)知識服務(wù)中心”建設(shè)子項目“上海市價格監(jiān)管和智能決策系統(tǒng)設(shè)計及開發(fā)”項目(ZF1226)和上海市重點學(xué)科“商務(wù)經(jīng)濟學(xué)”項目的資助。
(作者單位:劉林靜,上海理工大學(xué);樓文高,上海商學(xué)院、上海理工大學(xué))