吳明山,王冰,起亞寧,鄭飄
1 河南中煙工業(yè)有限責(zé)任公司,河南省鄭州市鄭東新區(qū)榆林南路16號(hào) 450000;
2 國(guó)家煙草專賣局煙草經(jīng)濟(jì)信息中心,北京市西城區(qū)月壇南街55號(hào) 100045
隨著卷煙營(yíng)銷模式的不斷深化,卷煙市場(chǎng)逐步由“賣方市場(chǎng)”向“買方市場(chǎng)”轉(zhuǎn)變,消費(fèi)者擁有越來(lái)越多的選擇權(quán),對(duì)卷煙銷售工作的挑戰(zhàn)持續(xù)增加,銷量預(yù)測(cè)成為提升卷煙營(yíng)銷水平的一項(xiàng)重要的內(nèi)容。精準(zhǔn)的卷煙預(yù)測(cè),可有效消除卷煙供應(yīng)鏈中的“牛鞭效應(yīng)”,有利于煙草工商企業(yè)高度協(xié)同,提高企業(yè)對(duì)卷煙需求的把握能力,準(zhǔn)確判斷需求變化趨勢(shì),提升卷煙按訂單組織貨源水平,加快推動(dòng)卷煙市場(chǎng)化取向改革。因此,提高卷煙銷量預(yù)測(cè)精度對(duì)提升卷煙營(yíng)銷水平具有重大意義。
傳統(tǒng)銷量預(yù)測(cè)方法有很多種,例如經(jīng)驗(yàn)分析、移動(dòng)平均、指數(shù)平滑、線性回歸等[1],可以一定程度上提高預(yù)測(cè)精度,這些方法對(duì)樣本數(shù)據(jù)本身有特定的要求(樣本量足夠大或線性相關(guān)),但在實(shí)際應(yīng)用中產(chǎn)品銷售的歷史數(shù)據(jù)樣本量有限或不能完全滿足線性規(guī)律,預(yù)測(cè)效果會(huì)受到較大影響[2]。由于卷煙銷售受季節(jié)性和節(jié)日因素影響較大,呈現(xiàn)出明顯的季節(jié)性、周期性特征,其預(yù)測(cè)值往往與卷煙銷售歷史具有高度相關(guān)性,因此時(shí)間序列預(yù)測(cè)方法更加適合。ARIMA模型就是一種適合數(shù)據(jù)具有穩(wěn)定的季節(jié)性特征的短期預(yù)測(cè)方法,具有較強(qiáng)的靈活性[3],為季度或月度卷煙銷量預(yù)測(cè),提供了較好的應(yīng)用價(jià)值,預(yù)測(cè)結(jié)果較為可靠[4][5]。但由于其對(duì)數(shù)據(jù)穩(wěn)定性要求較高,對(duì)于非穩(wěn)定的時(shí)間序列的中長(zhǎng)期預(yù)測(cè)精度有待提升。近年來(lái),神經(jīng)網(wǎng)絡(luò)模型因其靈活的非線性建模能力、較強(qiáng)的自適應(yīng)性、學(xué)習(xí)能力和大規(guī)模并行計(jì)算能力,被廣泛地應(yīng)用于時(shí)間序列預(yù)測(cè)研究中[6]。其中,BP神經(jīng)網(wǎng)絡(luò)是應(yīng)用最多的一種。理論證明,當(dāng)隱含層神經(jīng)元數(shù)目足夠多時(shí),可以以任意精度逼近任何一個(gè)具有有限間斷點(diǎn)的非線性函數(shù)[7],這一特性使其特別適合于求解內(nèi)部機(jī)制復(fù)雜的問(wèn)題,在銷量預(yù)測(cè)中受到廣泛關(guān)注。經(jīng)典BP神經(jīng)網(wǎng)絡(luò)算法是基于梯度下降的學(xué)習(xí)算法[8],具有較強(qiáng)的自適應(yīng)能力和容錯(cuò)能力,但其收斂較慢、訓(xùn)練時(shí)間較長(zhǎng),容易陷入局部最優(yōu),進(jìn)而影響預(yù)測(cè)精度。因此,需要對(duì)該方法進(jìn)行優(yōu)化改進(jìn)?;贚evenberg-Marquardt算法(LM算法)改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)就是應(yīng)用最廣泛的方法之一,該算法是用模型函數(shù)對(duì)待估參數(shù)向量在其鄰域內(nèi)做線性近似,忽略掉二階以上的導(dǎo)數(shù)項(xiàng),將優(yōu)化目標(biāo)方程轉(zhuǎn)化為線性最小二乘問(wèn)題,并利用梯度求最值,同時(shí)具有梯度法和牛頓法的優(yōu)點(diǎn),預(yù)測(cè)效果得到進(jìn)一步提升[9]。蔣興恒等采用基于LM算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)對(duì)卷煙月度銷量進(jìn)行預(yù)測(cè),并與ARIMA預(yù)測(cè)結(jié)果進(jìn)行比較,結(jié)果表明改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)效果更好[10]。
單項(xiàng)的預(yù)測(cè)模型具有各自的優(yōu)缺點(diǎn),只能提取數(shù)據(jù)的部分有效信息,且受設(shè)定條件的影響,預(yù)測(cè)精度仍有較大提升空間[11]。于是,J.M.Bates和C.W.J.Granger提出組合預(yù)測(cè)方法,該類模型能綜合提取不同預(yù)測(cè)方法的有效信息,它可以克服單一模型的局限性,預(yù)測(cè)精度得到有效提高[12]。因此,組合模型也開(kāi)始應(yīng)用于卷煙銷量預(yù)測(cè)中。朱俊江等通過(guò)建立小波變換、回歸分析和神經(jīng)網(wǎng)絡(luò)算法構(gòu)成的組合模型對(duì)鄉(xiāng)鎮(zhèn)單位的卷煙銷量進(jìn)行預(yù)測(cè),其預(yù)測(cè)精度要好于ARIMA模型和基于LM算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)模型[13]。
組合預(yù)測(cè)模型的核心有兩個(gè):一是單項(xiàng)預(yù)測(cè)模型的選擇,要根據(jù)數(shù)據(jù)的具體特征確定;二是確定各單項(xiàng)模型的權(quán)重,其方法可分為兩類:一類是固定權(quán)重,另一類是動(dòng)態(tài)權(quán)重[14]。研究表明,動(dòng)態(tài)權(quán)重組合模型比固定權(quán)重組合模型具有更高的預(yù)測(cè)精度[15]。因此,本文根據(jù)卷煙月度銷量數(shù)據(jù)非線性、波動(dòng)性和規(guī)律性特征,選擇ARIMA模型、基于梯度下降算法的BP神經(jīng)網(wǎng)絡(luò)模型、基于LM算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)模型作為3個(gè)單項(xiàng)預(yù)測(cè)模型,并利用BP神經(jīng)網(wǎng)絡(luò)對(duì)各單項(xiàng)預(yù)測(cè)模型進(jìn)行動(dòng)態(tài)加權(quán),從而構(gòu)建非線性組合預(yù)測(cè)模型,對(duì)2006~2017年144個(gè)月的全國(guó)卷煙銷量進(jìn)行仿真訓(xùn)練,綜合提取各單項(xiàng)預(yù)測(cè)模型的有效信息,以期預(yù)測(cè)2018年1~4月的全國(guó)卷煙銷量。
圖1 2006~2017年我國(guó)卷煙各月銷量趨勢(shì)Fig.1 Monthly sales trend of cigarettes in China from 2006 to 2017
ARIMA模型是由Box和Jenkins提出的一種時(shí)間預(yù)測(cè)方法,該方法將原始時(shí)間序列數(shù)據(jù)看作一個(gè)隨機(jī)序列,并用一定的數(shù)學(xué)模型來(lái)近似描述,一旦被識(shí)別后,就可以利用該模型根據(jù)歷史數(shù)據(jù)來(lái)預(yù)測(cè)未來(lái)。本節(jié)以2006~2017年共144個(gè)月的全國(guó)卷煙銷量數(shù)據(jù)(萬(wàn)箱)作為基礎(chǔ)數(shù)據(jù),如圖1所示,應(yīng)用MATLAB對(duì)其進(jìn)行ARIMA擬合,并預(yù)測(cè)2018年1~4月的銷量。
2.1.1 數(shù)據(jù)處理
從銷量趨勢(shì)圖中可以看出,該時(shí)間序列非平穩(wěn),對(duì)數(shù)列先進(jìn)行1階差分處理,將其平穩(wěn)化,其公式為:
如圖2所示,一階差分的時(shí)間序列的均值和方差均基本平穩(wěn),接近一個(gè)白噪聲序列。
圖2 差分處理圖Fig.2 Differential processing diagram
圖3 自相關(guān)函數(shù)圖Fig.3 Autocorrelation function diagram
2.1.2 模型識(shí)別與定階
通過(guò)平穩(wěn)性檢驗(yàn)可知,即將建立的ARIMA(p,d,q)模型,其中d=1,其基本公式為:
其中,x為時(shí)間序列,θ是常數(shù)項(xiàng),α為自回歸系數(shù),β為移動(dòng)平均系數(shù),μ為白噪聲,p為自回歸項(xiàng),q為移動(dòng)平均項(xiàng)。
為確認(rèn)模型中p和q的值,以AIC準(zhǔn)則為評(píng)價(jià)該時(shí)間序列數(shù)據(jù)的準(zhǔn)則,利用MATLAB進(jìn)行測(cè)試。本次基礎(chǔ)數(shù)據(jù)為144個(gè),故將p和q的范圍定為1~29之間,通過(guò)測(cè)試確定AIC=7.06,p=25,q=7,即選擇的模型為ARIMA(25,1,7)。
2.1.3 仿真及預(yù)測(cè)結(jié)果
將p和q的值代入模型,計(jì)算得到2006~2017年各月卷煙銷量的擬合值(如圖4所示),模型擬合度為76.07%,平均絕對(duì)誤差為14.82,平均絕對(duì)誤差率(平均絕對(duì)誤差/平均真實(shí)銷量,下同)為3.81%,擬合精度整體良好。
將預(yù)測(cè)長(zhǎng)度設(shè)定為4個(gè)月,利用該模型對(duì)2018年1~4月全國(guó)卷煙銷量進(jìn)行預(yù)測(cè),如表1所示,可以看出預(yù)測(cè)誤差均較大,除1月份外,其余3個(gè)月的絕對(duì)誤差值均大于當(dāng)月的日均銷量。
BP神經(jīng)網(wǎng)絡(luò)是 Rumelhart 和McClellend于 1986年提出一種多層網(wǎng)絡(luò)的“逆推”學(xué)習(xí)算法,是一種單向傳播的多層前向網(wǎng)絡(luò),具有3層或3層以上,包括輸入層、隱含層和輸出層,其中隱含層可以有多個(gè)層次,上下層之間的神經(jīng)元全部連接,但每層神經(jīng)元之間相互獨(dú)立沒(méi)有連接,其結(jié)構(gòu)如圖5所示。當(dāng)學(xué)習(xí)樣本進(jìn)入神經(jīng)網(wǎng)絡(luò)后,神經(jīng)元的激活值從輸入層經(jīng)過(guò)各隱含層傳向輸出層,若達(dá)不到期望,則進(jìn)入誤差反向傳播過(guò)程,逐次調(diào)整網(wǎng)絡(luò)各層的權(quán)值和偏置,最后回到輸入層,再重復(fù)計(jì)算,通過(guò)不斷調(diào)整各層的權(quán)值和閾值,從而達(dá)到網(wǎng)絡(luò)誤差最小,學(xué)習(xí)過(guò)程結(jié)束;再利用訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)。
BP神經(jīng)網(wǎng)絡(luò)通過(guò)訓(xùn)練誤差來(lái)逐步調(diào)整各層間的輸入權(quán)重和偏置,這個(gè)調(diào)整過(guò)程的算法依據(jù)為最基本的梯度下降法(Gradient Descent),由于訓(xùn)練誤差是關(guān)于輸入權(quán)重和偏置的二次函數(shù),分別對(duì)權(quán)重和偏置求偏導(dǎo)數(shù),即梯度向量,沿著梯度向量的方向,是訓(xùn)練誤差增加最快的地方,而沿著梯度向量相反的方向,梯度減少最快,在這個(gè)方向上更容易找到訓(xùn)練誤差函數(shù)(損失函數(shù))的最小值。本節(jié)利用MATLAB軟件應(yīng)用梯度下降算法的BP神經(jīng)網(wǎng)絡(luò)對(duì)全國(guó)卷煙歷史銷量數(shù)據(jù)進(jìn)行訓(xùn)練并預(yù)測(cè),其處理步驟如下:
圖4 ARIMA模型對(duì)2006~2018年4月全國(guó)卷煙銷量的擬合及預(yù)測(cè)圖Fig.4 The fitting and forecasting of national cigarette sales from 2006 to April 2018 by ARIMA model
表1 ARIMA模型對(duì)2018年1~4月全國(guó)卷煙銷量預(yù)測(cè)表Tab.1 National cigarette sales forecast for January-April in 2018 by ARIMA model萬(wàn)箱,%,天
圖5 典型BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.5 Structure of typical BP neural network model structure
2.2.1 樣本數(shù)據(jù)確定
由于卷煙銷量執(zhí)行的是年度計(jì)劃,為更好的反應(yīng)卷煙銷量的時(shí)間特點(diǎn),本文將2006至2017年每12個(gè)月銷量數(shù)據(jù)作為一組輸入向量,形成12*129的輸入矩陣;以之后4個(gè)月的銷量數(shù)據(jù)作為網(wǎng)絡(luò)的輸出,形成4*129的輸出矩陣,用神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
2.2.2 樣本數(shù)據(jù)處理
數(shù)據(jù)的預(yù)處理和后處理是訓(xùn)練神經(jīng)網(wǎng)絡(luò)的關(guān)鍵步驟,它直接影響到訓(xùn)練后神經(jīng)網(wǎng)絡(luò)的性能,常見(jiàn)的方法是將原始數(shù)據(jù)進(jìn)行歸一化處理,即通過(guò)一定的線性變換將輸入數(shù)據(jù)和輸出數(shù)據(jù)統(tǒng)一限制在[0,1]或[-1,1]區(qū)間內(nèi)。本節(jié)選擇最大最小法進(jìn)行處理,其函數(shù)形式是:
其中,xmin為數(shù)據(jù)序列的最小值,xmax為數(shù)據(jù)序列的最大值。最大最小值法可以通過(guò)MATLAB的mapminmax函數(shù)對(duì)數(shù)據(jù)進(jìn)行處理,讓其落入在[-1,1]區(qū)間內(nèi)。
2.2.3 創(chuàng)建網(wǎng)絡(luò)及參數(shù)設(shè)定
本模型設(shè)計(jì)主要涉及到網(wǎng)絡(luò)的層數(shù)、每層中的神經(jīng)元個(gè)數(shù)和激活函數(shù)、初始值以及學(xué)習(xí)速率等幾個(gè)方面。
(1)網(wǎng)絡(luò)層數(shù)確定。理論證明,具有偏差和至少一個(gè)S型隱層加上一個(gè)線性輸出層的網(wǎng)絡(luò),能夠逼近任何有理函數(shù),增加層數(shù)可以進(jìn)一步降低誤差,提高精度,但同時(shí)也使網(wǎng)絡(luò)復(fù)雜化。本節(jié)模型選擇3層網(wǎng)絡(luò),即1個(gè)輸入層、1個(gè)隱含層、1個(gè)輸出層。
(2)創(chuàng)建網(wǎng)絡(luò)。在MATLAB中創(chuàng)建神經(jīng)網(wǎng)絡(luò)要確定以下函數(shù):①輸入層和隱含層的傳遞函數(shù)采用正切S型函數(shù),以tansig表示,即:
②輸出層的傳遞函數(shù)采用線性函數(shù),以purelin表示;③網(wǎng)絡(luò)訓(xùn)練函數(shù)采用動(dòng)量反轉(zhuǎn)和動(dòng)態(tài)自適應(yīng)學(xué)習(xí)率的梯度下降算法訓(xùn)練函數(shù)tianingd;④確定隱含層神經(jīng)元個(gè)數(shù),理論上沒(méi)有計(jì)算出多少隱含層節(jié)點(diǎn)最合適,在具體設(shè)計(jì)時(shí),要通過(guò)對(duì)不同神經(jīng)元數(shù)進(jìn)行訓(xùn)練比較,以網(wǎng)絡(luò)最小誤差為依據(jù)確定神經(jīng)元數(shù)。通過(guò)循環(huán)計(jì)算,確定此模型的神經(jīng)元個(gè)數(shù)為9個(gè)。
(3)網(wǎng)絡(luò)訓(xùn)練參數(shù)設(shè)定。①根據(jù)梯度下降法的特點(diǎn),訓(xùn)練次數(shù)選取為80000;②誤差性能目標(biāo)值選取為0.01;③學(xué)習(xí)速率一般取值范圍為0.01-0.8之間,學(xué)習(xí)速率太大可能導(dǎo)致系統(tǒng)的不穩(wěn)定,但學(xué)習(xí)速率太小導(dǎo)致收斂太慢,需要較長(zhǎng)的訓(xùn)練時(shí)間,為達(dá)到目標(biāo)誤差精度,此模型選取0.01。
2.2.4 仿真及預(yù)測(cè)結(jié)果
利用基于梯度下降算法的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型對(duì)卷煙銷量數(shù)據(jù)進(jìn)行訓(xùn)練和仿真,如圖6所示,經(jīng)過(guò)79976次訓(xùn)練之后達(dá)到目標(biāo)誤差0.01的要求,模型擬合效果如圖7所示,其平均絕對(duì)誤差為17.87,平均絕對(duì)誤差率為4.59%,其擬合精度不及ARIMA模型。
圖6 基于梯度下降算法的BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練圖Fig.6 BP neural network training diagram based on gradient descent algorithm
圖7 基于梯度下降算法的BP神經(jīng)網(wǎng)絡(luò)對(duì)2007~2018年4月全國(guó)卷煙銷量的擬合及預(yù)測(cè)圖Fig.7 Fitting and forecasting of national cigarette sales from 2007 to April 2018 by BP neural network model based on gradient descent algorithm
輸入2017年12個(gè)月的卷煙銷量數(shù)據(jù),模型得到2018年1~4月銷量的預(yù)測(cè)值,如表2所示,可以看出雖然該模型擬合效果不及ARIMA模型,但預(yù)測(cè)結(jié)果要明顯好于ARIMA模型,除2月份由于春節(jié)因素導(dǎo)致預(yù)測(cè)效果較差外,其余月份預(yù)測(cè)結(jié)果十分逼近真實(shí)銷量,均不足半天的當(dāng)月卷煙銷量。
表2 基于梯度下降算法的BP神經(jīng)網(wǎng)絡(luò)對(duì)2018年1~4月全國(guó)卷煙銷量預(yù)測(cè)表Tab.2 Forecasting of national cigarette sales volume from January to April in 2018 by BP neural network based on gradient descent algorithm萬(wàn)箱,%,天
從上述基于梯度下降算法的BP神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過(guò)程發(fā)現(xiàn),雖然該模型能較好的擬合卷煙銷量并比較準(zhǔn)確的預(yù)測(cè)未來(lái)4個(gè)月的銷量,但其學(xué)習(xí)算法的收斂速度較慢,訓(xùn)練次數(shù)達(dá)到了近8萬(wàn)次,另外其預(yù)測(cè)誤差精度較低,僅能達(dá)到0.01。針對(duì)該模型存在的不足,出現(xiàn)了幾種基于該模型的改進(jìn)算法,如擬牛頓法、Levenberg-Marquardt算法(簡(jiǎn)稱LM算法)等。通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),對(duì)中小規(guī)模的神經(jīng)網(wǎng)絡(luò),使用LM算法的收斂速度最快,且計(jì)算精度較高。作為BP神經(jīng)網(wǎng)絡(luò)的改進(jìn)算法,LM算法實(shí)際上是梯度下降法和高斯牛頓法的結(jié)合,該算法期望在不計(jì)算Hessian矩陣的情況下獲得高階的訓(xùn)練速度,其公式表達(dá)為:
其中,J為雅克比矩陣,e是網(wǎng)絡(luò)誤差向量。隨著 越來(lái)越小,該算法越來(lái)越接近高斯牛頓法;隨著越來(lái)越大,該算法越來(lái)越接近梯度下降法。由于高斯牛頓法收斂速度更快更準(zhǔn)確,因此LM算法的目的就是盡快接近高斯牛頓法,如果某次迭代成功,誤差減小,則減小 的值;如果迭代失敗,則增加 的值,從而使得誤差性能函數(shù)隨著迭代的進(jìn)行而下降到極小值。
2.3.1 基于LM算法改進(jìn)BP神經(jīng)網(wǎng)絡(luò)模型構(gòu)建
基于LM算法改進(jìn)BP神經(jīng)網(wǎng)絡(luò)模型的輸入向量和輸出向量與基于梯度下降算法的BP神經(jīng)網(wǎng)絡(luò)模型相同,并進(jìn)行歸一化的數(shù)據(jù)處理,確定網(wǎng)絡(luò)層數(shù),選擇傳遞函數(shù),設(shè)定訓(xùn)練次數(shù)、訓(xùn)練精度、學(xué)習(xí)速率等參數(shù)。但與前者不同的是,基于LM算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)模型需要將模型的訓(xùn)練函數(shù)更改成LM算法,在MATLAB中以trianlm表示。鑒于LM算法快速、準(zhǔn)確收斂的特點(diǎn),將模型訓(xùn)練次數(shù)取為3000,誤差性能目標(biāo)值取為0.0005,學(xué)習(xí)速率仍為0.01,經(jīng)過(guò)測(cè)試神經(jīng)元數(shù)量取為30個(gè)。
2.3.2 仿真及預(yù)測(cè)結(jié)果
利用LM算法改進(jìn)BP神經(jīng)網(wǎng)絡(luò)模型對(duì)卷煙銷量數(shù)據(jù)進(jìn)行訓(xùn)練和仿真,如圖8所示,經(jīng)過(guò)32次即可達(dá)到目標(biāo)誤差0.0005的要求,模型擬合效果明顯更好,如圖9所示。其平均絕對(duì)誤差為3.99,平均絕對(duì)誤差率為1.03%,其擬合精度明顯高于ARIMA模型和基于梯度下降算法的BP神經(jīng)網(wǎng)絡(luò)模型。
圖8 基于LM算法的BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練圖Fig.8 BP neural network training diagram based on LM algorithm
輸入2017年12個(gè)月的卷煙銷量數(shù)據(jù),從而得到2018年1~4月銷量的預(yù)測(cè)值,如表3所示,可以看出經(jīng)過(guò)改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)模型,預(yù)測(cè)誤差更加均衡,其預(yù)測(cè)效果更加平穩(wěn),適應(yīng)性更強(qiáng)。
圖9 基于LM算法的BP神經(jīng)網(wǎng)絡(luò)模型對(duì)2007 ~ 2018年4月全國(guó)卷煙銷量的擬合及預(yù)測(cè)圖Fig.9 Fitting and forecasting of national cigarette sales from 2007 to April 2018 by BP neural network model based on LM algorithm
表3 基于LM算法的BP神經(jīng)網(wǎng)絡(luò)模型對(duì)2018年1 ~ 4月全國(guó)卷煙銷量預(yù)測(cè)表Tab.3 Forecasting of national cigarette sales forecast for January-April in 2018 by BP neural network model based on LM algorithm萬(wàn)箱,%,天
上述3種模型均在一定程度上解釋了卷煙銷量數(shù)據(jù)之間的聯(lián)系,并對(duì)未來(lái)4個(gè)月的卷煙銷量進(jìn)行預(yù)測(cè),但單項(xiàng)預(yù)測(cè)方法存在未能充分利用歷史數(shù)據(jù)的缺點(diǎn),從而導(dǎo)致預(yù)測(cè)結(jié)果不夠精準(zhǔn),為此,通過(guò)構(gòu)建非線性組合預(yù)測(cè)模型,吸收各模型的優(yōu)點(diǎn),提高預(yù)測(cè)精度。
2.4.1 模型構(gòu)建思路
本節(jié)通過(guò)基于LM算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)構(gòu)造非線性組合模型,其構(gòu)建思路為:(1)以ARIMA模型擬合值、基于梯度下降算法的BP神經(jīng)網(wǎng)絡(luò)擬合值、基于LM算法的BP神經(jīng)網(wǎng)絡(luò)擬合值作為輸入向量,即選取相同月份的3種模型擬合值作為輸入向量,當(dāng)月真實(shí)銷量作為輸出向量,進(jìn)行訓(xùn)練后進(jìn)行仿真擬合;(2)輸入上述3種模型對(duì)2018年1~4月全國(guó)卷煙銷量的預(yù)測(cè)值,得到組合預(yù)測(cè)模型對(duì)銷量的預(yù)測(cè)結(jié)果。
2.4.2 模型參數(shù)設(shè)定
對(duì)銷量數(shù)據(jù)的訓(xùn)練參數(shù)設(shè)定為:訓(xùn)練次數(shù)取為3000,誤差性能目標(biāo)值取為0.0005,學(xué)習(xí)速率為0.01,經(jīng)過(guò)測(cè)試神經(jīng)元數(shù)量取為30個(gè)。
2.4.3 仿真及預(yù)測(cè)結(jié)果
通過(guò)訓(xùn)練,組合預(yù)測(cè)模型訓(xùn)練的銷量數(shù)據(jù)經(jīng)過(guò)4次達(dá)到目標(biāo)誤差精度0.0005的要求,如圖10所示,模型擬合效果明顯更好,如圖11所示。其平均絕對(duì)誤差為3.3,平均絕對(duì)誤差率為0.85%,其擬合精度均高于上述3種模型。
圖10 組合預(yù)測(cè)模型的銷量數(shù)據(jù)訓(xùn)練圖Fig.10 Sales data training chart of combined forecasting model
圖11 非線性組合預(yù)測(cè)模型對(duì)2007~2018年4月全國(guó)卷煙銷量的擬合及預(yù)測(cè)圖Fig.11 Fitting and forecasting of national cigarette sales from 2007 to April 2018 by nonlinear combination forecasting model
輸入上述3種模型對(duì)2018年1~4月銷量的預(yù)測(cè)值,利用訓(xùn)練好的模型得到組合預(yù)測(cè)模型對(duì)2018年1~4月銷量的預(yù)測(cè)值,如表4所示,可以看出組合預(yù)測(cè)模型的預(yù)測(cè)絕對(duì)誤差較為均衡,均不足1天的當(dāng)月日均銷量。
對(duì)比4種模型的預(yù)測(cè)值,發(fā)現(xiàn)各預(yù)測(cè)模型呈現(xiàn)不同的特點(diǎn):ARIMA模型預(yù)測(cè)近期銷量相對(duì)較準(zhǔn),但較遠(yuǎn)月份的預(yù)測(cè)值誤差較大;基于梯度下降算法的BP神經(jīng)網(wǎng)絡(luò)模型可以較為準(zhǔn)確的預(yù)測(cè)大部分月份的卷煙銷量,但對(duì)于波動(dòng)性較大的月份預(yù)測(cè)誤差較大;基于LM算法的BP神經(jīng)網(wǎng)絡(luò)模型作為改進(jìn)后的神經(jīng)網(wǎng)絡(luò)模型,預(yù)測(cè)結(jié)果精度更高,預(yù)測(cè)誤差更為平穩(wěn);非線性組合預(yù)測(cè)模型綜合利用上述3種模型的優(yōu)點(diǎn),有效提取數(shù)據(jù)各方面信息,預(yù)測(cè)絕對(duì)誤差均小于當(dāng)月的日均量,其預(yù)測(cè)結(jié)果最為平穩(wěn),適應(yīng)性最強(qiáng),更加貼合卷煙銷售實(shí)際情況。
表4 非線性組合預(yù)測(cè)模型對(duì)2018年1~4月全國(guó)卷煙銷量預(yù)測(cè)表Tab.4 Forecasting of the national cigarette sales from January to April in 2018 by nonlinear combination forecasting model萬(wàn)箱,%,天
表5 四種模型對(duì)2018年1~4月全國(guó)卷煙銷量誤差值對(duì)比Tab.5 Comparison of error values of national cigarette sales from January to April in 2018 by four different models 萬(wàn)箱,天
本文選擇ARIMA模型、基于梯度下降算法的BP神經(jīng)網(wǎng)絡(luò)模型、基于LM算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)模型作為3個(gè)單項(xiàng)預(yù)測(cè)模型,并利用BP神經(jīng)網(wǎng)絡(luò)對(duì)各單項(xiàng)預(yù)測(cè)模型進(jìn)行動(dòng)態(tài)加權(quán),從而構(gòu)建非線性組合預(yù)測(cè)模型,對(duì)2006~2017年144個(gè)月的全國(guó)卷煙銷量進(jìn)行仿真訓(xùn)練,并對(duì)2018年1~4月的卷煙銷量進(jìn)行預(yù)測(cè)。通過(guò)對(duì)比表明,非線性組合模型具有更好的預(yù)測(cè)效果,對(duì)卷煙調(diào)撥計(jì)劃制定,科學(xué)安排生產(chǎn)計(jì)劃等具有一定的參考意義。此外,該模型的構(gòu)建思路還可用于卷煙各價(jià)類的銷售預(yù)測(cè)。
同時(shí),在研究過(guò)程中,發(fā)現(xiàn)由于春節(jié)及政策的影響,每年1月份的卷煙銷量遠(yuǎn)高于其他月份,2月份銷量迅速下降,致使1、2月份的差值非常大,數(shù)據(jù)極具波動(dòng)性,極易造成預(yù)測(cè)誤差。因此,后續(xù)研究中,可以引入月度調(diào)節(jié)因子、政策影響因子等調(diào)整因素,以期進(jìn)一步提高預(yù)測(cè)精度。