摘 要:農產品物流雖然具有普通物流的共同特點,但因其具有獨特性和復雜性,這導致利用一般方法進行農產品物流需求預測不僅難度大,而且精度差。為了提高農產品物流需求預測的能力,應用基于結構風險最小化準則的標準支持向量機回歸方法來研究農產品物流需求預測問題。在選擇適當的參數和核函數的基礎上, 通過對實例研究,對時間序列數據進行預測,發現該方法能獲得最小的訓練相對誤差和測試相對誤差。結果表明,支持向量機回歸是研究農產品物流需求預測的有效方法。
關鍵詞:支持向量機回歸農產品物流需求預測模型
中圖分類號:F2文獻標識碼:A文章編號:1674-098X(2011)09(a)-0148-02
1引言
農產品物流對于國民經濟的發展及公民生活水平的提高至關重要,準確把握、預測農產品物流需求有助于制定合理的農產品物流規劃、促進國民經濟可持續發展、提高公民生活水平。近年來,國內外很多學者在物流需求預測上,提出了很多有創新性和實踐意義的方法。如,基于線性回歸模型的物流需求預測[1]、基于時間序列模型在物流需求預測中的應用[2]、基于灰色-馬爾科夫鏈的區域物流需求預測[3]、基于經驗風險最小化原則人工神經網絡[4]方法。支持向量機是近幾年來應用于建模的一種新的學習方法。支持向量機算法最終將轉化為一個二次型尋優問題,從理論上講得到的將是全局最優點,支持向量機的拓撲結構由支持向量決定,避免了傳統神經網絡拓撲結構需要經驗試湊方法確定,而且SVM的最優求解基于結構風險最小化思想,因此具有比其他非線性函數逼近方法具有更強的泛化能力。
本文就是根據支持向量機模型對樣本限制少,能進行小樣本、多因素的非線性分類的特點,采用支持向量機模型(選用v-SVR和RBF核函數)對農產品物流需求進行預測。最后通過測試,驗證了利用支持向量機模型建立的需求預測模型能較好地實現農產品物流需求的預測,并取得了較好的效果。
2支持向量機解決回歸問題的基本原理
支持向量機最初是由Vapnik提出的一種基于統計學習理論的機器學習算法,相對于神經網絡的啟發式學習方式和實現中帶有的很大的經驗成份相比,SVM具有更嚴格的理論和數學基礎,支持向量機其基本思想就是把訓練數據集從輸入空間非線性地映射到一個高維特征空間(Hilbert空間),然后在此空間中求解凸優化問題(典型二次規劃問題),可以得到全局最優解,支持向量機在最小化經驗風險的同時最小化置信風險,有效地保證了較強的推廣特性且推廣能力可以得到方便的控制。采用核函數方法將輸入空間映射到一個高維內積空間中,有效地避免了“維數災難”。支持向量機調整參數少,且模型結構由最能提供信息特征的支持向量點反映,可以大大降低建模的復雜性。
3支持向量機的標準模型
3.1 線性支持向量機回歸
線性回歸問題就是給定一個新的輸入樣本x,根據給定的數據樣本推斷它所對應的輸出y是一個實數,對于應用SVM解決回歸問題時,數學表述如[5]:
給定的樣本數據集合為。其中,,。尋找上的一個函數,可以用y=來推斷任意輸入x所對應的y值。設樣本數據為n維向量,某區域的1個樣本及其值的表示為: (1)
線性函數設為:(2)
優化問題及最小化為: (3)
約束條件為:;(4)
;(5)
,(6)
. . . . . .
可以得到優化問題的對偶形式最大化函數為:
(7)
其約束為: (8)
和; (9)
解公式得到拉格朗日乘子則回歸方程公式(2)中的系數為:
(10)
3.2 非線性支持向量機回歸
非線性回歸與線性回歸類似,區別在于要首先使用一非線性映射把數據映射到高維特征空間,再在高維特征空間進行線性回歸。其關鍵問題在于核函數的使用。這里,目標函數轉化為:
(11)
此時: (18)
預測函數可以直接表示為: (12)
式中為核函數可以有不同的形式,如高斯徑向基核、多項式核、指數徑向基核、多成感知核、樣條核等。
公式(19)中的b值可以根據公式(20)和(21)得到。
(13)
(14)
4 基于支持向量機的農業物流需求量預測模型的構造步驟
4.1 確定影響因素和數據樣本
本文的預測目標是國內農產品物流需求量,即對未來年農產品物流需求量進行預測。而影響預測目標的因素為預測指標,各預測指標數據將作為學習樣本X的分量,預測指標的選擇是建立預測模型過程中關鍵性的一步,它將直接影響到預測結果的準確性。本文將直接引用參考文獻[4]中的數據指標。
假設表示第t年的農產消費品零售總額(億元)、表示第t年農林牧漁業產值(億元)、表示第t年糧食產量(萬噸)、表示第t年農村居民均收入(元)、表示第t年國家財政用于農業的支出(億元)。表示相關經濟指標影響決定下的農產品物流需求規模,則用方程可表示為:;式中,為支持向量機的預測函數。
4.2 整理樣本數據
建立樣本數據集,數據集中包含1個數據組,,,代表預測指標數據,指標構成的n維向量,與輸入對應的輸出Yi為預測對象,即第年的農產品物流需求量。
將整理好的數據用那個本集分成幾組,將1991~2002年的樣本數據作為訓練集,剩下的數據組作為預測對象,經過多次訓練后確定最佳模型參數,然后根據非線性支持向量機回歸的原理構造并求解凸二次規劃問題。
實驗中為了使小的數據不被大的數據所淹沒,方便計算減少誤差,所有屬性指標都歸一化處理.實驗根據軟件libsvm-2.89的要求,采用svm-scale.exe將數據歸一化到[-1,1]。
4.3 核函數及參數的確定
研究中,選擇徑向基(RBF)作為SVM模型的核函數,因為RBF 核函數是一個應用較為廣泛的核函數,通過參數的選擇,它可以適用于任意分布的樣本。并且RBF核的計算難度較小。
在模型訓練之前需要確定三個參數,分別為懲罰系數C、模型參數v,以及核函數參數。對歸一化后的數據進行網格交叉驗證試驗[6],即把已知數據分成幾組,以其中部分數據組為預測對象,其余的數據組用作訓練集,根據預測結果的好壞來選擇參數。實驗采用libsvm-2.89中的gridregression.py進行參數尋優,縮小參數尋優的范圍,再通過不斷變換參數,進行交叉對比實驗測試,最后選取的訓練參數為:C=1024,v=0.0125,σ=2。
4.4 模型的訓練與預測
根據已知指標數據和構造的預測模型,將樣本集劃分為兩部分。選擇1991~2002年對應的12組樣本數據作為訓練集,用于模型訓練、參數選擇;剩余2003~2005年的3組樣本數據作為測試集,用于預測結果的對比分析。實驗利用libsvm~2.89中的svm-train和svm-predict進行模型訓練和預測,最后得出預測結果與實際值對比分析,2003-2005年的預測值分別是11073600、12334200、12754600,實際值分別為11261100、11970100、12748100,經計算得到誤差分別為0.01665、0.02952、0.00051。
4.5 模型精度的檢驗
利用性能評價指標預測誤差,平均誤差,均方根誤差和預測準確度的計算公式,可以得到、和分別為:0.01566、0.03452、96.515%,由此可見,選用基于支持向量機回歸的農產品物流需求量預測模型其預測準確率可以達到96.515%,能夠有效地預測農產品物流需求量將來值。
5結語
本文以文獻[4]的數據作為實例,運用支持向量回歸機對農產品物流需求量做預測,并取得滿意的結果。支持向量回歸機具有很強的學習性、自適應性,且收斂快、準確性高,說明支持向量機回歸預測模型能夠比較準確地將有關的宏觀經濟數據與農產品物流需求量結合,從而可得到較為精確的農產品物流需求預測值。為此可以推斷,支持向量機回歸模型將在物流領域中的應用具有更加廣泛的發展潛力。該方法的缺點是預測原理較復雜,預測過程需要專門的軟件,需要進行多次訓練方能得到合適的參數。
參考文獻
[1]方威,肖衡,任湘郴.基于線性回歸模型的物流需求預測[J].生產力研究,2009(12)94~96.
[2]田根平,曾應昆.基于時間序列模型在物流需求預測中的應用[J].現代物流技術,2007(9)96~99.
[3]黃敏珍,馮永冰.基于灰色-馬爾科夫鏈的區域物流需求預測[J].統計與決策,2009(16)166~168.
[4]王新利,趙琨.基于神經網絡的農產品物流需求預測研究[J].農業技術經濟, 2010(2):62~68.
[5]白鵬,張喜斌,張斌,李彥,謝文俊,劉君華.支持向量機理論及工程應用實例[M].西安:西安電子科技大學出版社.2008,53~57.
[6]林升梁,劉志.基于RBF核函數的支持向量機參數選擇[J]浙江工業大學學報,2007:35(4):163~167.