圣文順,趙翰馳,孫艷文
基于優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的銷售預(yù)測(cè)模型研究
圣文順1,趙翰馳2,孫艷文1
(1. 南京工業(yè)大學(xué) 浦江學(xué)院,江蘇 南京 211200; 2.河海大學(xué) 計(jì)算機(jī)與信息學(xué)院,江蘇 南京 210098)
為準(zhǔn)確預(yù)測(cè)企業(yè)在未來(lái)單位時(shí)間內(nèi)的銷售額,構(gòu)建了基于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)與時(shí)間序列預(yù)測(cè)模型為一體的改良BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型。針對(duì)神經(jīng)網(wǎng)絡(luò)輸入數(shù)據(jù)的非線性、冗余性、不完整性,改良神經(jīng)網(wǎng)絡(luò)參考了同步時(shí)間序列的預(yù)測(cè)做出了自我校準(zhǔn),并利用遺傳算法達(dá)到通過(guò)校準(zhǔn)得到自我優(yōu)化的目的,簡(jiǎn)化網(wǎng)絡(luò)結(jié)構(gòu),提高預(yù)測(cè)的準(zhǔn)確度。針對(duì)某房地產(chǎn)企業(yè)歷史銷售數(shù)據(jù)進(jìn)行了實(shí)例驗(yàn)證結(jié)果表明,該模型相比未經(jīng)前期處理的BP神經(jīng)網(wǎng)絡(luò)模型和線性回歸分析方法,其預(yù)測(cè)結(jié)果的誤差更小,預(yù)測(cè)精度更高。
BP神經(jīng)網(wǎng)絡(luò);時(shí)間序列預(yù)測(cè)模型;遺傳算法;銷售預(yù)測(cè)
銷售預(yù)測(cè)是一套由人工定義的高度復(fù)雜化非線性系統(tǒng),用于對(duì)銷售情況的預(yù)測(cè)建模[1]。眾所周知,企業(yè)銷售計(jì)劃其中心任務(wù)之一是銷售預(yù)測(cè),無(wú)論企業(yè)的規(guī)模有多大,銷售人員有多繁雜,皆離不開(kāi)對(duì)未來(lái)發(fā)展方向的規(guī)劃。而發(fā)展方向必然且極大程度上會(huì)收到未來(lái)銷售情況的影響,故銷售預(yù)測(cè)對(duì)企業(yè)管理者和決策人來(lái)說(shuō),幾乎是關(guān)乎企業(yè)存亡的重要待解決事件。實(shí)驗(yàn)表明,基于優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)算法大大提高銷售預(yù)測(cè)的準(zhǔn)確度,在企業(yè)活動(dòng)中實(shí)現(xiàn)精準(zhǔn)營(yíng)銷,具有一定的社會(huì)應(yīng)用價(jià)值。
時(shí)間序列,是一組按時(shí)間順序排列并隨時(shí)間的變化而變化的數(shù)據(jù)序列[2]。一個(gè)時(shí)間序列往往是由上兩點(diǎn)或多點(diǎn)以變化的方式疊加或耦合起來(lái)的。
所選擇的二次指數(shù)平滑法[3]處理數(shù)據(jù)可預(yù)防實(shí)際在時(shí)間序列出現(xiàn)直線形式的上下波動(dòng)時(shí)產(chǎn)生的“滯后”現(xiàn)象[4],并能自動(dòng)識(shí)別數(shù)據(jù)模式的變化,加以調(diào)整。
BP 神經(jīng)網(wǎng)絡(luò)是帶有隱含層的多層前饋網(wǎng)絡(luò),是一種誤差反向傳播算法[5]。此算法由信息正向傳遞和誤差反向傳播組成,其基本原理是不停地修正網(wǎng)絡(luò)中各層節(jié)點(diǎn)的權(quán)值、閾值,直到網(wǎng)絡(luò)輸出達(dá)到目標(biāo)輸出值,且具有很好的泛化能力。
可泛化型時(shí)間序列校正下的遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型(簡(jiǎn)稱TC_GA_BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型),使用了合并傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)和遺傳算法[6]對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),利用時(shí)間序列預(yù)測(cè)值和改進(jìn)后的GA_BP神經(jīng)網(wǎng)絡(luò)[7]進(jìn)行“誤差值”比較,利用時(shí)間序列模型預(yù)測(cè)結(jié)果誤差呈增函數(shù)關(guān)系的特點(diǎn),使用其與GA_BP神經(jīng)網(wǎng)絡(luò)的差值進(jìn)行一元線性回歸[8],討論出兩者之間誤差值的函數(shù)擬合關(guān)系,再利用擬合函數(shù)[9]進(jìn)行誤差測(cè)算,最后通過(guò)兩者誤差規(guī)律,校正其中一者的預(yù)測(cè)值,這里選擇對(duì)GA_BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)值進(jìn)行校正,從而最后得到校正后的預(yù)測(cè)值。
在面臨小數(shù)據(jù)量的處理情況時(shí),由每個(gè)個(gè)體獨(dú)立討論是有可能利用線性關(guān)系處理非線性問(wèn)題,真實(shí)值與預(yù)測(cè)值之間一定會(huì)存在誤差。故令距離為,那么就有d為時(shí)間序列預(yù)測(cè)與真實(shí)值之間的誤差,d為改進(jìn)后BP神經(jīng)網(wǎng)絡(luò)與真實(shí)值之間的誤差,導(dǎo)致出現(xiàn)6種復(fù)雜情況。
為解決此問(wèn)題,對(duì)時(shí)間與真實(shí)值之間的誤差d和改進(jìn)后BP神經(jīng)網(wǎng)絡(luò)與真實(shí)值之間的誤差d進(jìn)行一次減法運(yùn)算,距離令為d,對(duì)d與試驗(yàn)次數(shù)之間進(jìn)行一元線性回歸,線性回歸的函數(shù)關(guān)系結(jié)果,視為自校正函數(shù)y=+。
得到了y的具體表達(dá),利用時(shí)間序列預(yù)測(cè)值減去y對(duì)應(yīng)的誤差量,得出修正值,即可以用來(lái)的再次優(yōu)化GA_BP神經(jīng)網(wǎng)絡(luò)的傳遞權(quán)值和各個(gè)神經(jīng)元的閾值,以達(dá)到利用校正函數(shù)[10]修正GA_BP神經(jīng)網(wǎng)絡(luò)的目的。
經(jīng)過(guò)y對(duì)GA_BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值修正后,可以得到E,及的修正值。利用數(shù)學(xué)方法和算法,對(duì)GA_BP神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值進(jìn)行再一次優(yōu)化,步驟如下:
已知有量,則輸出層就有輸出誤差,見(jiàn)式(1):
展開(kāi)至隱層E誤差,見(jiàn)式(2):
(2)
最后推導(dǎo)至輸入層E,見(jiàn)式(3):
根據(jù)誤差就可以得出權(quán)值函數(shù)w和v。最后成功通過(guò)再一次的權(quán)值和閾值調(diào)整來(lái)更新校正函數(shù),修正GA_BP神經(jīng)網(wǎng)絡(luò),得到TC_GA_BP神經(jīng)網(wǎng)絡(luò)。
基于優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的流程圖如圖1所示。
圖1 基于優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的流程圖
利用上文提到的算法對(duì)近年房地產(chǎn)銷售額數(shù)據(jù)集[11]進(jìn)行銷售預(yù)測(cè)。
使用由《中國(guó)房地產(chǎn)統(tǒng)計(jì)年鑒》提供的數(shù)據(jù)集,抽取其中的一家名為萬(wàn)科的公司作為實(shí)驗(yàn)對(duì)象進(jìn)行仿真實(shí)驗(yàn)。利用已有銷售額統(tǒng)計(jì)的100條數(shù)據(jù),使用時(shí)間序列預(yù)測(cè)模型的二次指數(shù)平滑法對(duì)其進(jìn)行時(shí)間序列仿真預(yù)測(cè),而且與一次指數(shù)平滑法的結(jié)果做對(duì)比仿真結(jié)果如圖2~3。
圖2 一次平滑指數(shù)預(yù)測(cè)圖
圖3 二次平滑指數(shù)預(yù)測(cè)圖
經(jīng)過(guò)試驗(yàn),實(shí)驗(yàn)結(jié)果與理論預(yù)測(cè)完全符合,一次指數(shù)平滑法在50個(gè)數(shù)據(jù)集仿真結(jié)果中,出現(xiàn)了大量的滯后反應(yīng),無(wú)論=0.2,=0.5還是=0.8都無(wú)法改變滯后反映,這也正體現(xiàn)了二次指數(shù)平滑預(yù)測(cè)較高的準(zhǔn)確度(誤差率25.7471%),為下文提供了可行方案。
將優(yōu)化后的 BP 神經(jīng)網(wǎng)絡(luò)算法,與經(jīng)典 BP 神經(jīng)網(wǎng)絡(luò)、時(shí)間序列模型、遺傳算法改進(jìn)神經(jīng)網(wǎng)絡(luò)進(jìn)行銷售預(yù)測(cè)的比較。在已有銷售額統(tǒng)計(jì)的100條數(shù)據(jù)中,抽取其中的50條作為仿真訓(xùn)練集,剩余的50條作為仿真驗(yàn)證集,用于驗(yàn)證誤差。三種算法的誤差對(duì)比分析如圖4、圖5和圖 6所示。
圖4 傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)圖
圖5 遺傳算法BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)圖
圖6 TC_GA_BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)圖
由圖像直觀看出,在相應(yīng)的被修正點(diǎn)上,預(yù)測(cè)值比遺傳算法改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的結(jié)果預(yù)測(cè)值更為接近真實(shí)值結(jié)果,而誤差率也降至約13%,提高近8%。由此可知,新提出的TC_GA_BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)輸出結(jié)果,在預(yù)測(cè)的準(zhǔn)確度上大大改善,比另外三種模型的預(yù)測(cè)更加接近未來(lái)真實(shí)值。
部分預(yù)測(cè)結(jié)果如表 1 所示。
表1 預(yù)測(cè)結(jié)果對(duì)比
統(tǒng)計(jì)數(shù)據(jù)表明,TC_GA_BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的仿真效果最好,達(dá)到13.7395%;而傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的結(jié)果誤差最大,達(dá)到29.5501%,近乎30%的不可靠率被認(rèn)為是不可信的預(yù)測(cè)模型;時(shí)間序列預(yù)測(cè)模型和改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)都有良好的仿真實(shí)驗(yàn),但仍沒(méi)達(dá)到TC_GA_BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)精度。因此TC_GA_BP神經(jīng)網(wǎng)絡(luò)在同屬性的數(shù)據(jù)集預(yù)測(cè)上優(yōu)于其他三種預(yù)測(cè)模型。
采用時(shí)間序列模型減少源數(shù)據(jù)的誤差,利用優(yōu)化后的BP 神經(jīng)網(wǎng)絡(luò),建立起適當(dāng)?shù)匿N售預(yù)測(cè)模型,并具體應(yīng)用于某數(shù)據(jù)集中。實(shí)驗(yàn)表明優(yōu)化后的 BP 神經(jīng)網(wǎng)絡(luò)算法在提高了預(yù)測(cè)準(zhǔn)確度和收斂速度的同時(shí),也簡(jiǎn)化了網(wǎng)絡(luò)結(jié)構(gòu),減少了數(shù)據(jù)的誤差。
[1]周朝進(jìn), 王玉珍. 優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法在農(nóng)資網(wǎng)站銷售預(yù)測(cè)中的應(yīng)用[J]. 邵陽(yáng)學(xué)院學(xué)報(bào): 自然科學(xué)版, 2019, 16(1): 52-59.
[2]柳攀. 基于時(shí)間序列分析的銷售預(yù)測(cè)方法研究[D]. 大連:大連理工大學(xué), 2018.
[3]呂丹丹, 顧巧祥, 邢超. 二次指數(shù)平滑法優(yōu)化馬爾科夫預(yù)測(cè)模型[J]. 中國(guó)計(jì)量大學(xué)學(xué)報(bào), 2017, 28(3): 334-339.
[4] 董健. 基于FPGA的矩陣乘法實(shí)現(xiàn)方案在全連接深度神經(jīng)網(wǎng)絡(luò)前向傳播中的性能評(píng)估[D]. 長(zhǎng)沙: 中南大學(xué), 2018.
[5] 付敏娟. 基于指數(shù)平滑與神經(jīng)網(wǎng)絡(luò)模型的太陽(yáng)能熱水器銷售預(yù)測(cè)[D]. 湘潭: 湘潭大學(xué), 2017.
[6]邰麗君, 胡如夫, 趙韓, 等. 改進(jìn)遺傳神經(jīng)網(wǎng)絡(luò)算法在銷售預(yù)測(cè)中的應(yīng)用研究[J]. 現(xiàn)代圖書(shū)情報(bào)技術(shù), 2012(1): 63-67.
[7]王錦, 趙德群. 遺傳BP神經(jīng)網(wǎng)絡(luò)在超市大米日銷售預(yù)測(cè)中的應(yīng)用[J]. 信息與電腦: 理論版, 2018(21): 42-44.
[8]楊轉(zhuǎn)玲. 基于多元線性回歸的盈虧平衡分析[J]. 三明學(xué)院學(xué)報(bào), 2019, 36(2): 41-45.
[9]李新穎, 劉凱, 黃海燕. 多線函數(shù)法在曲線擬合中的應(yīng)用研究[J]. 計(jì)量學(xué)報(bào), 2018,39(5): 716-719.
[10] 蓋立平, 劉愛(ài)連, 劉義軍, 等. 能譜CT成像中測(cè)量位置與校正系數(shù)的關(guān)系[J]. 中國(guó)組織工程研究, 2016, 20(31): 4677-4686.
[11]高文, 李富星, 牛永潔. 基于BP神經(jīng)網(wǎng)絡(luò)對(duì)房?jī)r(jià)預(yù)測(cè)的研究[J]. 延安大學(xué)學(xué)報(bào): 自然科學(xué)版, 2018, 37(3): 37-40.
Research on Sales Forecasting Model Based on Optimized BP Neural Network
SHENG Wen-shun1, ZHAO Han-chi2, SUN Yan-wen1
(1.Pujiang Institute, Nanjing Tech University, Nanjing, 211200,China; 2. College of Computer and Information, Hohai University, Nanjing, 210098,China)
In order to accurately predict the sales volume per unit time in the future, an improved BP neural network prediction model based on the combination of traditional BP neural network and time series prediction model was constructed. In view of the non-linearity, redundancy and incompleteness of the input data of the neural network, the improved neural network makes self-calibration by referring to the prediction of synchronous time series, and uses genetic algorithm to achieve self-optimization through calibration, simplifies the network structure and improves the accuracy of prediction. An example of historical sales data of a real estate enterprise shows that compared with BP neural network model and linear regression analysis method without pre-processing, this model has fewer errors and higher prediction accuracy.
BP neural network; time series prediction model; genetic algorithm; sales forecast
F224
A
1674-3261(2020)02-0117-04
10.15916/j.issn1674-3261.2020.02.012
2019-04-13
2019年度江蘇省高等學(xué)校自然科學(xué)研究面上項(xiàng)目(19KJD520005);南京工業(yè)大學(xué)浦江學(xué)院2018年科研項(xiàng)目(NJPJ2018-2-08;PJST2018-02);南京工業(yè)大學(xué)浦江學(xué)院2019年科研項(xiàng)目(201913905009Y)
圣文順(1979-),男,山東德州人,副教授,碩士。
責(zé)任編校:劉亞兵