周建友,張凱威
ZHOU Jianyou1,ZHANG Kanwei2
1.遵義市煙草公司 道真縣分公司,貴州 遵義563500
2.貴州大學 計算機科學與信息學院,貴陽477004
1.Daozhen Branch,Zunyi Tobacco Company,Zunyi,Guizhou 563500,China
2.College of Computer Science and Information,Guizhou University,Guiyang 477004,China
卷煙銷售是卷煙行業(yè)管理中最為關(guān)鍵的內(nèi)容,卷煙銷售的預測可以為卷煙生產(chǎn)、運輸、配送提供指導,因此設計高精度的卷煙銷售預測模型是卷煙管理領(lǐng)域中的重要研究課題[1]。
多年來,國內(nèi)外大量學者對卷煙銷售預測進行了大量的研究,并提出一些預測模型[2]。傳統(tǒng)卷煙預測模型包括回歸分析方法、時間序列法、灰色關(guān)聯(lián)法和馬爾可夫鏈等,它們假設卷煙銷售量是一種線性變化趨勢,而實際上卷煙銷售量受到經(jīng)濟、人口、市場波動和季節(jié)等多種因素綜合影響,具有非線性、隨機變化特點,因此,傳統(tǒng)預測模型難以正確描述該變化趨勢,卷煙銷售的預測精度不理想[3]。隨著非線性理論不斷發(fā)展,出現(xiàn)了基于神經(jīng)網(wǎng)絡等非線性預測模型,并取得了比較好的預測效果,但其對學習樣本的需求量大,而獲得的卷煙銷售量訓練樣本非常有限,因此預測結(jié)果有時出現(xiàn)過擬合現(xiàn)象[4-6]。最小二乘支持向量機(LSSVM)是一種專門研究小樣本情況下的機器學習算法,一定程度上解決了神經(jīng)網(wǎng)絡過學習和欠學習以及局部最優(yōu)解、維數(shù)災難等問題,為解決小樣本卷煙銷售量預測提供了一種新的研究方法[7]。不同參數(shù)下的LSSVM 預測精度差別大,出現(xiàn)了基于粒子群優(yōu)化算法、遺傳算法、野草算法等LSSVM參數(shù)優(yōu)化方法,但這些算法均存在各自的不足,因此選擇合適的LSSVM參數(shù)是提高卷煙銷售預測精度的關(guān)鍵[8-11]。Yang 和Deb 于2009 年提出模擬布谷鳥尋窩產(chǎn)卵行為的全局搜索方法—布谷鳥搜索(Cuckoo search,CS)算法,具有容易實現(xiàn)、參數(shù)設置少等優(yōu)點,一些研究表明,CS算法的性能超過了遺傳算法和粒子群優(yōu)化算法[12-13]。
為了提高卷煙銷售量預測精度,提出一種改進布谷鳥算法(MCS)優(yōu)化混合核LSSVM 的卷煙銷售量預測模型(MCS-LSSVM),并通過仿真實驗測試了MCS-LSSVM的可行性和優(yōu)越性。
給定N個訓練樣本{(xi,yi),…,(xN,yN)},其中xi為n維的訓練樣本輸入,yi為訓練樣本輸出,LSSVM 算法的目標優(yōu)化函數(shù)為:
式中,φ(·)為核空間映射函數(shù);w為權(quán)矢量;ei為誤差變量;b為偏置量;μ和γ為可調(diào)參數(shù)。
為求解函數(shù)的最小值,構(gòu)造Lagrange函數(shù):
式中,αi為拉格朗日乘子。
對式(1)求偏導可得:
式中,i=1,2,…,N。
通過消去w和e,求解的優(yōu)化問題轉(zhuǎn)化為求解線性方程:
式中,y=[y1,y2,…,yN],1v=[1,1,…,1],α=[α1,α2,…,αN],Ω=φ(xi)Tφ(xi)=K(xi,xl)。
通過求解式(4)可得到α和b則用于函數(shù)估計的LSSVM 為:
式中,K(x,xi)為核函數(shù)。
不同核函數(shù),構(gòu)建不同的LSSVM 預測模型,當前核函數(shù)可分為全局和局部核函數(shù),全局核函數(shù)的一個典型是多項式核函數(shù),局部核函數(shù)的一個典型是RBF 核函數(shù)。為了提升LSSVM 的性能,得到學習能力和泛化能力都較強的核函數(shù),本文將通過組合兩種具有代表性的局部核函數(shù)(RBF 核函數(shù))和全局核函數(shù)(多項式核函數(shù))的映射特性,構(gòu)造一種混合核函數(shù),此混合核函數(shù)滿足Mercer條件,其表達式為:
式中,Kpoly=[(x·xi)+1]2表示二次多項式核函數(shù),KRBF=exp(-‖x-xi‖2/ 2σ2),σ>0 表示RBF 核函數(shù),β是調(diào)整兩種核函數(shù)對總的混合核函數(shù)的影響,即權(quán)系數(shù)。
在CS 算法中,一個鳥巢的卵表示一個候選解,一個布谷鳥的卵表示一個新的解,布谷鳥尋窩的路徑和位置更新公式如下:
通過位置更新后,用隨機數(shù)r∈[0, 1]與鳥窩的主人發(fā)現(xiàn)外來鳥的概率Pa對比,若r>Pa,則對進行隨機改變,否則不變。
在基本CS 算法中,布谷鳥尋窩的路徑和位置是隨機的,以父代位置信息為參考進行更新。為了提高CS算法的性能,本文在布谷鳥尋窩的路徑和位置更新公式(8)中引入慣性權(quán)重:
慣性權(quán)重的引入,可使CS 算法有擴展搜索空間的趨勢,有能力搜索新的區(qū)域,實驗表明,較大的慣性權(quán)重w有利于跳出局部最優(yōu),進行全局尋優(yōu);較小的w值有利于局部尋優(yōu),加速算法收斂。為了平衡算法的全局和局部搜索能力,慣性權(quán)重w的值應隨著迭代次數(shù)的增加而遞減。然而,CS 算法在實際搜索過程中是非線性的,慣性權(quán)重線性遞減策略不能反映實際的優(yōu)化搜索過程。因此,本文引入一種慣性權(quán)重非線性遞減策略:
式中,iter為當前迭代次數(shù)。
(1)收集卷煙銷售量歷史數(shù)據(jù),確定LSSVM 的輸入與輸出,生成LSSVM 的學習樣本。
(2)根據(jù)經(jīng)驗確定β、γ、σ取值范圍以及MCS 算法的相關(guān)參數(shù)值。
(4)保留上代最小誤差Fmin對應的最優(yōu)鳥巢位置。
(5)利用式(9)計算Levy Flight 步長大小,由Levy Flight對其他鳥巢進行更新,得到一組新的鳥巢位置,并計算它們的預測誤差。
(8)找出步驟(7)最后找到pt中最優(yōu)的一個鳥巢位置,并判斷其最小誤差Fmin是否滿足卷煙銷售量預測精度要求,如果滿足,則停止搜索;反之,則返回步驟(4)繼續(xù)尋優(yōu)。
在CPU P4 3.0 GMHz,RAM 2 GB,Windows 2000的PC 機上,采用VC++進行仿真實驗。數(shù)據(jù)來自貴州某卷煙公司2012 年的某種卷煙銷售數(shù)據(jù),具體如圖1 所示。選擇前80 個樣本作為訓練集,其余40 個樣本作為測試集。
圖1 卷煙歷史銷售數(shù)據(jù)
選擇基本布谷鳥算法優(yōu)化混合核LSSVM(CS-LSSVM)、改進谷鳥算法優(yōu)化RBF 核的LSSVM(RBF-LSSVM)以及改進谷鳥算法優(yōu)化BP 神經(jīng)網(wǎng)絡(MCS-BPNN)進行對比實驗。單步預測模型主要考察預測點的精度,采用均方根誤差RMSE和平均絕對百分誤差MAPE作為模型的評價標準,它們定義如下:
式中,yt表示實際值,表示預測值,n表示樣本數(shù)。
卷煙銷售量具有后效性,當前時間的卷煙銷售量與前一段時間卷煙銷售量有關(guān),需要通過確定最佳時延對LSSVM 學習樣本進行構(gòu)建。本文采用逐步增加時延數(shù),并通過比較其預測精度來確定最佳時延數(shù),具體化變化曲線如圖2 所示。從圖2 可知,卷煙銷售量的最佳時延為5,即表示當前時刻的卷煙銷售量與前5 個時間點的卷煙銷售量相對應,從而形成LSSVM 的卷煙銷售量學習樣本。
圖2 確定卷煙銷售量的最佳時延
3.4.1 單步預測性能分析
對重構(gòu)后的卷煙銷售量數(shù)據(jù),選擇最后40 個卷煙銷售量數(shù)據(jù)作為測試集,其他數(shù)據(jù)作為訓練集,利用MCS-LSSVM 建立卷煙銷售量預測模型,MCS-LSSVM的預測結(jié)果與實際卷煙銷售量如圖3 所示,預測結(jié)果的誤差變化曲線如圖4 所示。對圖3 和4 進行分析可知,MCS-LSSVM 的單步預測結(jié)果與實際輸出相當吻合,具有較高的預測精度,具有良好的泛化推廣性。
圖3 單步預測結(jié)果與實際輸出的變化曲線
圖4 卷煙銷售量測試集預測結(jié)果的誤差分布
各模型單步預測結(jié)果見表1。從表1 可知,與對比模型相比,MCS-LSSVM 的卷煙銷售量預測結(jié)果更優(yōu),具有更好的優(yōu)越性和穩(wěn)健性。
表1 不同模型的單步預測性能對比
3.4.2 提前多步預測性能分析
通常預測要求有較大的提前時間量,采用一步預測(即僅對下一個時間的卷煙銷售量進行預測),既不能有效反映卷煙銷售量變化趨勢,也無法針對卷煙銷售量對銷售策略做出改變。因此,有必要將一步預測擴展到多步預測,于是采用多步預測模型對未來多個時刻的卷煙銷售量進行預測,所有模型均采用迭代法的多步預測,即重復使用一步向前預測若干次,并把上一次的預測值視作系統(tǒng)輸出真值,應用于下一次預測中。采用MCSLSSVM 構(gòu)建卷煙銷售量預測的多步預測模型,分別提前2 步、3 步預測,提前2 步預測結(jié)果和實際輸出值如圖5 所示。從圖5 可以看出,MCS-LSSVM 模型對卷煙銷售量測試集提前2 步預測輸出與實際輸出幾乎相同,預測結(jié)果的預測誤差變化曲線如圖6 所示,預測誤差控制在有效范圍內(nèi),只能夠在很小的數(shù)量級上才能區(qū)分,獲得了較高的預測精度。
圖5 提前2 步預測結(jié)果與實際輸出
圖6 提前2 步預測誤差分布
MCS-LSSVM 提前3 步預測卷煙銷售量結(jié)果和實際輸出值如圖7,各點預測誤差分布如圖8 所示。從圖7 可以看出,MCS-LSSVM 對卷煙銷售量測試集的提前3 步預測輸出與實際輸出符合得很好,因此,預測模型具有很好的推廣性。
圖7 提前3 步預測結(jié)果與實際輸出
圖8 提前3 步預測誤差分布
不同卷煙銷售量預測模型的預測性能對比見表2。對表2的結(jié)果進行分析可知,相對于對比模型,MCS-LSSVM具有預測性能高,預測結(jié)果更加準確、可靠等優(yōu)點,是一種預測精度高的卷煙銷售量預測模型。
表2 MCS-LSSVM 與其他模型多步預測性能對比
為了獲得更優(yōu)的卷煙銷售量預測結(jié)果,提出一種MCS-LSSVM 的卷煙銷售量預測模型,根據(jù)仿真實驗可得如下結(jié)論:
(1)LSSVM 核函數(shù)及參數(shù)對卷煙銷售量預測結(jié)果有較大影響,通過將二次多項式核函數(shù)和RBF 核函數(shù)進行組合,提高模型的通用性,并采用布谷鳥算法對參數(shù)進行自動尋優(yōu),克服了LSSVM 參數(shù)選擇的盲目性。對比結(jié)果表明,改進布谷鳥算法比標準布谷鳥算法尋優(yōu)能力更強,提高了卷煙銷售量預測精度。
(2)相對于BP 神經(jīng)網(wǎng)絡,LSSVM 解決了神經(jīng)網(wǎng)絡在訓練樣本少的情況下過擬合的缺陷,具有訓練時間短及預測速度快等優(yōu)點,為小樣本下的卷煙銷售量預測提供了有效的解決方案,具有較高的實用價值。
[1] 程永照.回顧與展望:卷煙經(jīng)濟研究文集[M].北京:世紀圖書出版社,2003.
[2] 謝星峰.基于神經(jīng)網(wǎng)絡的卷煙銷售預測模型的研究及應用[D].昆明:昆明理工大學,2006.
[3] 劉紅飛.基于灰色系統(tǒng)理論的廣東卷煙消費需求預測研究[J].經(jīng)濟師,2007,12(l):273-274.
[4] 沈航,鄒平.可拓聚類預測方法預測卷煙銷售量[J].昆明理工大學學報,2006,12(3):95-98.
[5] 羅艷輝,呂永貴,李彬.基于ARMA 的混合卷煙銷售預測模型[J].計算機應用研究,2009,27(7):2664-2668.
[6] 謝東風,鄒平.基于CBP 的卷煙銷售二重趨勢時間序列預測模型研究與應用[J].控制理論與應用,2007,24(6):1015-1020.
[7] 羅艷輝,呂永貴,李彬.混合卷煙銷售預測模型[J].計算機工程與設計,2009,30(20):4744-4747.
[8] 孫蘭蘭,宋雯斐.CPSO 和LSSVM 融合的網(wǎng)絡入侵檢測[J].計算機工程與應用,2013,49(9):90-93.
[9] 劉靜.基于AFSA-LSSVM 的短時交通流量預測[J].計算機工程與應用,2013,49(17):226-229.
[10] 張大為,段哲民,李鵬,張曉輝.遺傳優(yōu)化的LSSVM 在故障診斷中的仿真研究[J].計算機仿真,2010,27(10):164-167.
[11] 熊南,劉百芬.基于自適應粒子群優(yōu)化LSSVM 的網(wǎng)絡流量在線預測[J].計算機應用與軟件,2013,30(9):21-24.
[12] Sadollah A,Bahreininejad A,Eskandar H.Mine blast algorithm:A new population based algorithm for solving constrained engineering optimization problems[J].Applied Soft Computing,2013,13(5):2592-2612.
[13] 趙專政,李云翔.聚類加權(quán)和CS-LSSVM 的文本分類[J].計算機工程與應用,2013,49(16):124-128.