劉合兵,韓晶晶,席 磊
(河南農(nóng)業(yè)大學(xué)信息與管理科學(xué)學(xué)院,鄭州450002)
物價可以直觀反映我國國民經(jīng)濟和發(fā)展?fàn)顩r,根據(jù)我國居民目前的收入水平及消費結(jié)構(gòu)現(xiàn)狀,食品價格漲跌將直接影響我國物價總水平的變化,其中農(nóng)產(chǎn)品價格的變化影響更為顯著。農(nóng)產(chǎn)品價格下降會降低生產(chǎn)者及經(jīng)營者的收益,而價格上漲會增加居民的生活成本。農(nóng)產(chǎn)品價格的劇烈波動對人們?nèi)粘I钤斐芍苯佑绊懀焕谏鐣姆€(wěn)定。農(nóng)產(chǎn)品價格的穩(wěn)定受到社會廣泛關(guān)注,對農(nóng)產(chǎn)品價格進行準確預(yù)測成為當(dāng)前研究重點。通過開展農(nóng)產(chǎn)品價格的分析與預(yù)測,為農(nóng)戶及生產(chǎn)經(jīng)營者提供前瞻性信息,及時調(diào)整生產(chǎn)及銷售思路,防范農(nóng)產(chǎn)品價格異常波動帶來的損失,提高農(nóng)業(yè)市場風(fēng)險規(guī)避能力,為當(dāng)?shù)卣雠_穩(wěn)定農(nóng)產(chǎn)品市場供需和價格相關(guān)政策提供決策參考,同時,也為消費者進行日常飲食消費選擇提供參考。
農(nóng)產(chǎn)品種植受氣候限制和影響,農(nóng)產(chǎn)品生產(chǎn)大多具有明顯的周期特征。農(nóng)產(chǎn)品價格主要受市場供需影響,表現(xiàn)出季節(jié)性,趨勢性及隨機性等特點,其時間序列呈現(xiàn)典型的非線性特征。國內(nèi)外對于價格的短期預(yù)測方法主要分為3種:傳統(tǒng)時間序列預(yù)測方法、智能預(yù)測方法和組合預(yù)測模型。傳統(tǒng)時間序列預(yù)測方法主要基于計量經(jīng)濟學(xué)方法進行分析,包括季節(jié)指數(shù)法、移動平均法、指數(shù)平滑法等。劉峰等[1]利用ARIMA(p,d,q)模型對白菜的月度價格走勢進行預(yù)測,結(jié)果證實ARIMA(0,1,1)模型對白菜價格進行短期預(yù)測是可行的。苗開超[2]選用指數(shù)平滑方法對番茄年度價格進行預(yù)測,結(jié)果表明該模型在分析預(yù)測線性度較好的情況下擬合度較高。李干瓊等[3]以番茄價格為研究對象,分別運用ARIMA、ARCH和GARCH3種方法進行預(yù)測,結(jié)果證實GARCH模型在預(yù)測中具有更高的精度。張標(biāo)等[4]從蔬菜價格和上市量的波動角度出發(fā),利用季節(jié)指數(shù)對蔬菜整體、果菜、葉菜和根莖菜分別構(gòu)建預(yù)測模型,預(yù)測得知未來2年價格均繼續(xù)呈現(xiàn)出季節(jié)性變動的緩慢上升趨勢。傳統(tǒng)時間序列預(yù)測方法在對具有線性特征的時間序列數(shù)據(jù)進行預(yù)測時精度較高,但隨著市場逐漸向復(fù)雜化、非線性化、不規(guī)則化發(fā)展時,該類方法在對價格進行預(yù)測時,為模型參數(shù)調(diào)整帶來較大困難,反映出一定的局限性。隨著人工智能的發(fā)展,智能預(yù)測方法如神經(jīng)網(wǎng)絡(luò)、支持向量機、極限學(xué)習(xí)機等方法逐漸成為價格預(yù)測的熱點。其中BP神經(jīng)網(wǎng)絡(luò)方法在時間序列預(yù)測時具有很強的非線性映射能力和柔性的網(wǎng)絡(luò)結(jié)構(gòu),同時又能使樣本預(yù)測誤差逼近最小的優(yōu)點。近年來一些學(xué)者針對農(nóng)產(chǎn)品價格預(yù)測問題探索了BP神經(jīng)網(wǎng)絡(luò)在此方面的應(yīng)用。解建強[5]通過對贛南臍橙的月度價格數(shù)據(jù)構(gòu)建了BP神經(jīng)網(wǎng)絡(luò)的預(yù)測模型,預(yù)測結(jié)果表明基于改進算法的BP神經(jīng)網(wǎng)絡(luò)價格預(yù)測模型的誤差低于ARIMA模型。任青山等[6]基于灰色關(guān)聯(lián)度和Stepwise回歸分析影響生豬價格波動的主要影響因素,通過多元回歸分析和BP神經(jīng)網(wǎng)絡(luò)的交叉應(yīng)用建立了一種組合預(yù)測模型,結(jié)果證實組合預(yù)測模型比單一的預(yù)測模型精度高。然而BP神經(jīng)網(wǎng)絡(luò)的單獨應(yīng)用存在學(xué)習(xí)速度慢、容易陷入局部極小值的問題?,F(xiàn)今基于小波變換的組合預(yù)測模型逐漸應(yīng)用在糧食產(chǎn)量、原油價格、增值稅預(yù)測方面,并驗證了該方法的可行性和有效性[7-9]。
因此,文章研究了一種具有普適性且預(yù)測精度較好的農(nóng)產(chǎn)品價格組合預(yù)測模型,引入了小波變換對農(nóng)產(chǎn)品價格序列進行分解,將這些分量作為BP神經(jīng)網(wǎng)絡(luò)的輸入變量分別進行預(yù)測,并將預(yù)測結(jié)果進行組合獲得最終農(nóng)產(chǎn)品的預(yù)測價格。選取2013—2018年河南省批發(fā)市場的5種蔬菜月均價格為例對小波變換和BP神經(jīng)網(wǎng)絡(luò)的組合模型進行方法應(yīng)用,驗證其可行性和精確性。
菠菜、大白菜、番茄、辣椒和馬鈴薯是居民日常消費類蔬菜,也是葉菜類、果菜類和根莖菜類的代表,其價格的波動直接影響消費者的生活。該文以菠菜、大白菜、番茄、辣椒和馬鈴薯作為研究對象,從河南省農(nóng)產(chǎn)品信息監(jiān)測系統(tǒng)[10]下載5種農(nóng)產(chǎn)品的月均價格數(shù)據(jù),根據(jù)樣本的可獲得性和完整性原則,采集2013年1月至2018年12月共72組月均價格樣本數(shù)據(jù),將2013—2017年的樣本數(shù)據(jù)作為訓(xùn)練集,2018年的樣本數(shù)據(jù)作為測試集。
小波變換繼承和發(fā)展了傅里葉變換局部化的思想,能夠?qū)π盘栠M行多尺度分析,在分解過程中能夠充分突出信號的細節(jié)特征,在信號高頻部分進行時間細分,在低頻部分進行頻率細分,從而達到聚焦信號細節(jié)特征的作用,實現(xiàn)對分析對象更為細致的逼近。
根據(jù)農(nóng)產(chǎn)品價格時間序列的分布特征,采用小波變換方法進行去噪,提高時間序列信號的預(yù)測精度,主要是因為小波變換可以同時觀察頻率和時間軸,可以分離信號的精細或粗糙部分,小波基的選擇具有多樣性等優(yōu)勢。不同的小波基對信號進行小波變換得到不同的變換結(jié)果。在實際應(yīng)用中,并沒有統(tǒng)一的理論基礎(chǔ)和方法指導(dǎo)選擇。一般來說,農(nóng)產(chǎn)品價格屬于非平穩(wěn)的時間序列,而針對非平穩(wěn)的信號去噪應(yīng)用中應(yīng)該選擇正交的、中心頻率高且與原始信號形狀相匹配的小波基。因此,該文采用Daubechies小波基函數(shù),簡稱dbN,N為小波的階數(shù),選擇階數(shù)為5,對選取的蔬菜價格時間序列進行去噪處理。分解尺度過小會影響多因素條件下農(nóng)產(chǎn)品價格序列的細節(jié)特征信號突出,不利于預(yù)測精度的提高,而分解尺度過大則會加重實踐過程操作。該文選擇小波的分解尺度為3,可以避免分解尺度過大或過小產(chǎn)生的問題。確定分解尺度后,對原始信號進行db5的3尺度分解得到趨勢低頻部分a3及細節(jié)高頻部分d1、d2、d3,對農(nóng)產(chǎn)品價格波動的頻率和幅度進行更為細致的透視,如圖1所示。
人工神經(jīng)網(wǎng)絡(luò)通過模擬生物的神經(jīng)信號傳輸機制實現(xiàn)復(fù)雜的計算。BP神經(jīng)網(wǎng)絡(luò)是一種獨特的能夠?qū)⒂嬎阏`差進行反向傳播的多層前饋神經(jīng)網(wǎng)絡(luò)。它由輸入層、輸出層和隱含層構(gòu)成,其最簡單的3層拓撲結(jié)構(gòu)如圖2所示。
圖1 小波分解示意圖 Fig.1 Wavelet decomposition diagram
該文利用BP神經(jīng)網(wǎng)絡(luò)自主學(xué)習(xí)后能夠根據(jù)實際輸出的誤差反復(fù)調(diào)整權(quán)值和閾值直至達到指定精度的優(yōu)勢用于預(yù)測農(nóng)產(chǎn)品價格時間序列。其工作流程如下:(1)將輸入樣本提供給輸入層神經(jīng)元,逐層正向傳遞信號,直到產(chǎn)生輸出結(jié)果;(2)計算輸出層的誤差,將誤差逆向傳輸至隱層神經(jīng)元;(3)根據(jù)誤差對連接權(quán)和閾值進行調(diào)整;(4)回到步驟(2),循環(huán)進行,直到達到停止條件。選取2013—2017年月均數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集,2018年月均數(shù)據(jù)作為測試數(shù)據(jù)集,傳遞函數(shù)選擇tansig函數(shù),訓(xùn)練函數(shù)選擇trainlm函數(shù),權(quán)值學(xué)習(xí)函數(shù)和性能函數(shù)都選擇默認函數(shù)learngdm函數(shù)和mse函數(shù),迭代次數(shù)為1 000次。
該文運用MATLAB R2014b軟件分別對選取的菠菜、大白菜、番茄、辣椒和馬鈴薯的月均價格數(shù)據(jù)運用小波變換方法進行db5的3尺度分解,分解出近似序列a3和細節(jié)序列d1、d2、d3。通過對原始時間序列的價格數(shù)據(jù)做細致分解,將不同的影響因素分離開,避免相互干擾,有利于后續(xù)模型預(yù)測精度的提升。然后對分解出來的4個序列分別采用BP神經(jīng)網(wǎng)絡(luò)方法進行建模,通過不斷的調(diào)整參數(shù)使得預(yù)測值更為接近分解后的各序列值。最后對各個序列預(yù)測的結(jié)果進行累加得出最終的農(nóng)產(chǎn)品預(yù)測價格,其流程如圖3所示。
圖3 數(shù)據(jù)預(yù)測流程圖Fig.3 Data prediction flow chart
為了實現(xiàn)較高的預(yù)測精度,該文分別對3個細節(jié)序列和1個近似序列進行3層神經(jīng)網(wǎng)絡(luò)建模,4個序列的建模過程類似。以菠菜價格預(yù)測中的近似序列神經(jīng)網(wǎng)絡(luò)建模為例,首先對菠菜月均價格數(shù)據(jù)進行歸一化處理,分解出2013—2017年菠菜月均價格的近似序列作為模型訓(xùn)練集,分解出2018年月均價格的近似序列作為測試集;設(shè)置神經(jīng)網(wǎng)絡(luò)各層節(jié)點的個數(shù)為7-5-1,當(dāng)前月份的前6個月的價格和上一年同月份的價格共7個數(shù)據(jù)作為輸入層數(shù)據(jù);對輸出數(shù)據(jù)進行反歸一化處理,還原為價格數(shù)據(jù)。由于不同種類的農(nóng)產(chǎn)品原始價格不同,分解后的各序列波形不同,在進行BP神經(jīng)網(wǎng)絡(luò)預(yù)測時對應(yīng)的隱含層和輸入層的節(jié)點個數(shù)不同。BP神經(jīng)網(wǎng)絡(luò)建模實驗由MATLAB編程實現(xiàn)。
為了評估組合預(yù)測模型的預(yù)測效果,選擇平均絕對誤差(MAE)、平均百分比誤差(MAPE)與均方根誤差(RMSE)指標(biāo)來度量預(yù)測結(jié)果的精度。各預(yù)測指標(biāo)的計算公式為:
式(1)~(3)中,n為價格樣本數(shù)量,yi為第i個樣本的月均價格。
農(nóng)產(chǎn)品價格序列通過小波變換后,被分解成1個近似序列a3和3個細節(jié)序列d3、d2、d1。該文通過小波變換對5種蔬菜月均價格進行分解,分別得到5種蔬菜的4個序列數(shù)據(jù),為進一步分析做準備。如圖4為菠菜價格分解前后序列波形圖,其中s是菠菜價格的原始序列,直觀地反映了原始數(shù)據(jù)的波動趨勢和幅度。圖4中a3是原始序列的近似序列曲線,其波動狀態(tài)受主要因素的影響,反應(yīng)了原始數(shù)據(jù)的大趨勢。d1、d2和d3是原始序列的細節(jié)序列,代表著不同小權(quán)重因素影響下的細小波動及振幅狀態(tài)。通過對比5種蔬菜分解后的各序列波形圖發(fā)現(xiàn),近似序列a3分解出來的數(shù)值均大于3個細節(jié)序列的數(shù)值,且a3序列的數(shù)值最接近于原始序列的值。3個細節(jié)序列的數(shù)值均處于0值上下波動。而由于不同種類的蔬菜原始價格不同,分解后的各序列具體波動形態(tài)不同。
圖4 菠菜價格各序列波形圖Fig.4 Waveform of each sequence of spinach price
該文采用統(tǒng)計分析方法對2013—2018年5種蔬菜月均價格進行匯總,其價格變化趨勢如圖5所示。利用2013—2017年5種農(nóng)產(chǎn)品月均價格進行訓(xùn)練,構(gòu)建的組合預(yù)測模型分別對5種農(nóng)產(chǎn)品2018年的月均價格進行預(yù)測,預(yù)測結(jié)果如表1所示。采用評價指標(biāo)對組合模型的預(yù)測結(jié)果進行精度評價,其結(jié)果如表2所示。5種農(nóng)產(chǎn)品的預(yù)測價格與實際價格的偏差較小,其中馬鈴薯的平均絕對誤差值最小,為0.083元/kg;其次是大白菜,為0.085元/kg;菠菜則最高,為0.49元/kg。比較5種農(nóng)產(chǎn)品價格預(yù)測結(jié)果的平均百分比誤差,辣椒的值最小,為3.95%;菠菜的值最大,為8.66%。比較均方根誤差,馬鈴薯最小,為 0.10元/kg,菠菜最大為0.61元/kg。從結(jié)果可知,5種蔬菜中菠菜的價格預(yù)測結(jié)果平均絕對誤差、平均百分比誤差和均方根誤差等評價指數(shù)均在最高值,比較5種蔬菜的價格變化規(guī)律可知,2013—2018年菠菜的月均價格波動最劇烈,價格峰谷差值最大,達到12.73元/kg。而馬鈴薯和大白菜的峰谷差值分別為3.09和2.24元/kg。從價格走勢看,菠菜價格走勢呈現(xiàn)出較為明顯的“凸”型,年內(nèi)價格具有明顯的季節(jié)性,年間價格走勢趨于一致。而馬鈴薯和大白菜的價格走勢較為平滑,個別年份會出現(xiàn)較大波動,且不同年度價格的走勢存在差異。由此可知,價格波動的頻率和幅度等特征會對小波變換—BP神經(jīng)網(wǎng)絡(luò)組合的價格預(yù)測模型預(yù)測結(jié)果產(chǎn)生影響,當(dāng)農(nóng)產(chǎn)品價格波動幅度小、頻率低時預(yù)測結(jié)果更好。綜合分析可知,小波變換和BP神經(jīng)網(wǎng)絡(luò)的組合預(yù)測模型可以實現(xiàn)任意波動形式的短期精準預(yù)測。
圖5 價格變化時序圖Fig.5 Timing chart of price change
表1 小波變換—BP神經(jīng)網(wǎng)絡(luò)組合預(yù)測結(jié)果Table 1 Combined prediction results of wavelet transform and BP neural network 元/kg
表2 小波變換—BP神經(jīng)網(wǎng)絡(luò)組合預(yù)測結(jié)果評價Table 2 Evaluation of combined prediction results of wavelet transform and BP neural network
該文從蔬菜價格的綜合影響因素及具體波動情況出發(fā),為減少價格數(shù)據(jù)中各序列在分析過程中的相互影響,采用先分解后集成的思想,構(gòu)建了小波變換和BP神經(jīng)網(wǎng)絡(luò)的組合預(yù)測模型對河南省5種蔬菜的月均價格進行實證研究和預(yù)測,研究表明組合模型的預(yù)測結(jié)果具有較高的預(yù)測精度,充分展示了小波變換和BP神經(jīng)網(wǎng)絡(luò)對非線性時間序列的處理能力及農(nóng)產(chǎn)品價格波動幅度和強度會對該模型的預(yù)測精度產(chǎn)生影響。
因大多數(shù)預(yù)測模型的研究僅針對單一種類的產(chǎn)品進行實證分析,其預(yù)測方法及預(yù)測精度并不具有普適性。而該文提出的小波變換和BP神經(jīng)網(wǎng)絡(luò)的組合預(yù)測模型能對多種農(nóng)產(chǎn)品價格波動進行預(yù)測,且對5種具有代表性的蔬菜進行預(yù)測驗證的結(jié)果說明該模型具有較好的普適性。農(nóng)產(chǎn)品價格的短期精確預(yù)測能為未來價格走勢做出模擬,這對農(nóng)產(chǎn)品生產(chǎn)者、經(jīng)營者、消費者及相關(guān)政府部門具有重要的現(xiàn)實意義。因農(nóng)產(chǎn)品的種類較多,僅針對蔬菜產(chǎn)品進行驗證,不能代表其方法對肉類、水果類、糧油類及畜禽類具有同樣的效果,在今后還將應(yīng)用該模型對其他類型產(chǎn)品進行分析,實現(xiàn)更多種類農(nóng)產(chǎn)品的價格預(yù)測。