孫艷文,詹天明
(南京審計大學 信息工程學院,江蘇 南京 211200)
銷售預測是銷售實施單位根據(jù)已有歷史銷售數(shù)據(jù)進行規(guī)律分析和數(shù)據(jù)挖掘,綜合考慮多種影響因子,設計科學合理的預測銷售模型,對未來銷售情況的一種預測。銷售預測的準確、可靠性一直是企業(yè)作為市場需求規(guī)劃的必要保證,銷售預測作為營銷的重要一環(huán),是進行行情分析和市場研究的重要依據(jù),銷售預測是否精準可直接影響工程預算、資金回籠、經(jīng)營決策甚至是企業(yè)的未來發(fā)展走向。
常見的銷售預測模型有移動平均模型、時間序列預測模型、灰色預測模型和回歸分析模型等。移動平均方法相對簡單,通過對一定數(shù)組的平均值進行計算,得出未來的數(shù)值趨勢;缺點是數(shù)值的間隔選定有一定難度,只能了解變化的短期未來趨勢。時間序列模型運用矩陣及統(tǒng)計學的方法,可以預測銷售產(chǎn)品將會進入高銷量區(qū)還是低銷量區(qū)的未來短期走勢?;疑A測模型所需建模信息少,其模型是依靠灰色系統(tǒng)生成,特點是能從混亂的數(shù)據(jù)找到數(shù)據(jù)之間的規(guī)律,它大多數(shù)情況用于小樣本預測,該環(huán)節(jié)存在不確定性。回歸分析模型對未來的預測較為精準,目前有專業(yè)的統(tǒng)計軟件SPSS/SAS支持,但因為相對專業(yè)和復雜,需要的自變量及因變量數(shù)據(jù)要多而且精確。
利用時間序列預測的穩(wěn)定性,使用遺傳算法對BP神經(jīng)網(wǎng)絡進行優(yōu)化,既能保持數(shù)據(jù)挖掘環(huán)節(jié)搜索的全局性和并行化,又能兼顧預測過程的靈活性和可擴展性,最終還能得到精確度較高的預測結果。經(jīng)過實驗驗證,基于優(yōu)化BP神經(jīng)網(wǎng)絡的銷售預測算法不僅提高了銷售預測的預測準確度,而且大大縮短了收斂時間,簡化了網(wǎng)絡結構,數(shù)據(jù)預測的誤差進一步縮小,對于精準營銷具有較高的理論研究意義和實際應用價值。
時間序列分析模型是根據(jù)已有的系統(tǒng)觀測所得時間序列數(shù)據(jù),通過特定方法進行參數(shù)評估和曲線擬合來建立數(shù)學模型的一種方法。把與時間有因變量關系的數(shù)據(jù)序列稱之為動態(tài)數(shù)據(jù),采用線性插值法對曲線進行擬合,參數(shù)估計一般使用非線性最小二乘法或指數(shù)平滑法。時間序列模型對已有數(shù)據(jù)序列依賴性較高,并假設從已有數(shù)據(jù)分析所得的變化模式會延續(xù)至后續(xù)階段,這種必然式的規(guī)律預測不能綜合考慮房地產(chǎn)及其他行業(yè)的多種復雜影響因素的綜合作用結果,但其時間跨度可以任意調節(jié),常用單位有年、季度、月或日,統(tǒng)計跨度靈活。同時,預測所依托的前期數(shù)據(jù)允許具有不規(guī)則性,甚至可以不考慮事務間的因果關系,具有較好的適用性。
指數(shù)平滑法是平穩(wěn)測試方法中的一種,由移動平滑法演變而來,通過對已有歷史數(shù)據(jù)進行加權平均進而得到預測結果,對離預測區(qū)間緊鄰的數(shù)據(jù)賦予較大的權值系數(shù),對較遠的后期預測,其權值則按指數(shù)規(guī)律遞減,所得曲線相對平滑,因此稱之為指數(shù)平滑方法。根據(jù)所選函數(shù)的冪級分為一級指數(shù)平滑、二級指數(shù)平滑等。
二次指數(shù)平滑法(second exponential smoothing method)是在一次指數(shù)平滑的基礎上再進行一次指數(shù)平滑,因而稱之為二次指數(shù)平滑。數(shù)據(jù)經(jīng)過二次指數(shù)平滑處理之后得到一條二次平滑曲線,各數(shù)據(jù)點經(jīng)過擬合處理之后,避免了時間序列曲線上出現(xiàn)突兀式的瞬間抖動或數(shù)據(jù)點的大尺度偏離現(xiàn)象,對特殊點能加以自動調整,依據(jù)該算法計算所得的數(shù)據(jù)能預測時間序列的短期變化規(guī)律。
N
次迭代。BP神經(jīng)網(wǎng)絡算法通過將循環(huán)模擬中系統(tǒng)產(chǎn)生的誤差值返回到輸出結果中用于調整神經(jīng)元的權重,從而得到可以模擬原始問題的人工神經(jīng)網(wǎng)絡系統(tǒng)。簡單地講就是不停地修正網(wǎng)絡中各層節(jié)點的權值和閾值,直到獲得符合預期目標的輸出結果。對于BP神經(jīng)網(wǎng)絡算法的步驟,可以簡單歸納如下:
(1)給定BP神經(jīng)網(wǎng)絡的輸入向量X
和輸出向量Y
,初始化權值和閾值;(2)經(jīng)過計算,得出BP神經(jīng)網(wǎng)絡的實際輸出;
(3)計算BP神經(jīng)網(wǎng)絡實際輸出與輸出向量Y
之間的誤差;(4)誤差反向傳播,更新權值;
(5)權值進行學習,使得誤差最小。
重復步驟(1)~步驟(5),直至誤差最小,如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡算法過程
BP神經(jīng)網(wǎng)絡是一種具有非線性映射與自學習能力的全局算法,具有非常高效的泛化能力。對于任意的非線性映射關系,BP神經(jīng)網(wǎng)絡均可以逼近,然而其是一種基于梯度下降的算法,具有以下缺陷:
(1)誤差存在于誤差曲面上,然而有些誤差曲面比較平坦,此時誤差感受不到權值的變化,導致下降速度變慢,訓練時間較長;
(2)算法存在多個極小值點,將導致算法陷入極小值點而無法得到全局最優(yōu)解;
(3)算法在學習數(shù)據(jù)的過程,由于其權值的變化不定,將導致學習過程變得不穩(wěn)定,出現(xiàn)振蕩。
(1)通過算法對每條染色體評估個體的適應度;
(2)以高適應度和高選擇率為基準原則,從染色體隊列中找出父母雙親;
(3)對父母雙親進行染色體的抽取,用以交叉生成子代;
(4)將子代進行變異操作;
(5)不斷去重復步驟(2)~步驟(4),直到有新的種群生成;
(6)結束循環(huán),返回結果。
算法流程如圖2所示。
施藥后,試驗全程調查雜草5次,分別為藥前調查基數(shù),藥后5天調查藥劑防效藥;10后天調查藥劑防效;藥后15天調查藥劑防效;藥后20天調查最終藥劑防效,調查時小區(qū)對角線選取5點,每點(1m×1m)。目測試驗藥劑對水稻的安全性。
圖2 遺傳算法流程
遺傳算法的缺點是無法直接處理空間參數(shù),為解決這一問題學者們引入了優(yōu)化參數(shù)進行調優(yōu),通過適應度函數(shù)形成編碼串聯(lián)群體,對其進行交叉結合和基因變異,最終優(yōu)勝劣汰地篩選出優(yōu)秀個體,根據(jù)適應度閾值不斷迭代,直至滿足條件為止。
優(yōu)化BP神經(jīng)網(wǎng)絡由BP神經(jīng)網(wǎng)絡的網(wǎng)絡結構、算法優(yōu)化和算法預測三個部分組合而成。模擬生物個體的長度信息由網(wǎng)絡結構進行表征,在實際算法設計中通常表示為擬合函數(shù)的輸入或輸出參數(shù);通過探索和調整特定權值達到優(yōu)化BP神經(jīng)網(wǎng)絡算法的目的,最終迭代篩選出具有最后適應度值的種群個體;網(wǎng)絡預測通過遺傳算法獲取最優(yōu)個體的閾值和權值用以訓練網(wǎng)絡,預測出函數(shù)的輸出。
對BP神經(jīng)網(wǎng)絡進行一次實驗,實驗所用模擬數(shù)據(jù)來源于《中國房地產(chǎn)統(tǒng)計年鑒》。實驗抽取一家名為碧桂園的房地產(chǎn)公司作為實驗對象,并對其進行仿真實驗。根據(jù)該公司提供的銷售額,統(tǒng)計出了1 000條數(shù)據(jù),在數(shù)據(jù)清洗后取前975條利用建立的BP神經(jīng)網(wǎng)絡進行訓練學習,再利用后25條已經(jīng)完備的數(shù)據(jù)進行缺失銷售額的實驗,得到實驗結果與原數(shù)據(jù)進行比對,得出了結果——利用BP神經(jīng)網(wǎng)絡進行實驗后的預測誤差為29.550 1%,如圖3所示。
圖3 BP神經(jīng)網(wǎng)絡預測結果
對上述數(shù)據(jù)集合利用遺傳算法優(yōu)化后的BP神經(jīng)網(wǎng)絡模型進行仿真實驗,如圖4所示,其預測結果誤差為21.472 8%。
圖4 GA-BP神經(jīng)網(wǎng)絡預測結果
就之前利用BP神經(jīng)網(wǎng)絡和GA-BP神經(jīng)網(wǎng)絡得到的結果來看,預測誤差仍然較大。數(shù)據(jù)集的大小不一,對于一些數(shù)據(jù)量比較小的數(shù)據(jù)集,上述兩種神經(jīng)網(wǎng)絡都沒有足夠的訓練量,這樣會導致閾值調整不充分、過快收斂等等問題,從而使最后的預測精度大打折扣。面對這一問題,該文提出了一種應用方法,即利用時間序列的結果對GA-BP神經(jīng)網(wǎng)絡進行優(yōu)化校正(簡稱TC-GABP神經(jīng)網(wǎng)絡模型)。由于時間序列預測模型對于事物發(fā)展之間的不規(guī)則性和因果關系和對預測精度和時長呈反比都不考慮的特點,基于樣本容量較小的情況,對原GA-BP神經(jīng)網(wǎng)絡的閾值和結果進行一些優(yōu)化。
時間序列預測模型的實現(xiàn)流程如下:
(1)人工收集歷史資料,按照傳統(tǒng)分類方法進行整理并根據(jù)時間序列繪成統(tǒng)計圖;
(2)對時間序列中每一時期的數(shù)值進行誘發(fā)的原因進行分析;
(3)對長期趨勢、季節(jié)變動以及不規(guī)則變動進行求值操作,并找到最近似的數(shù)學模式來代表;
(4)計算未來的時間序列預測值。利用步驟(3)中得到的模型以及預測不規(guī)則變動值通過加法或乘法模式進行計算。
利用BP神經(jīng)網(wǎng)絡的單次傳遞值和時間序列模型的結果所產(chǎn)生的誤差進行一元線性回歸,并通過計算誤差的函數(shù)擬合關系進行預測。最后通過找出兩者的誤差規(guī)律,對BP神經(jīng)網(wǎng)絡的傳遞值進行校正,擇優(yōu)選擇遺傳算法,進入GA-BP神經(jīng)網(wǎng)絡進行結果計算得出校正后的預測值。
在面對樣本數(shù)據(jù)量小的情況下,利用每個個體獨立討論又會導致工程量過大,那么就有必要利用線性關系來處理這種非線性問題,但是最后誤差一定較大。為此設定一個元線性回歸函數(shù)為y
=f
(x
)作為校正函數(shù),再使用BP神經(jīng)網(wǎng)絡的輸出誤差E
減去y
的值,得到校正過后的值,E
值。該值在GA-BP的三層網(wǎng)絡架構中影響各個神經(jīng)元的閾值和各傳遞權值,并在校正GA-BP神經(jīng)網(wǎng)絡缺少訓練樣本的情況下,達到調整傳遞值的目的。y
修正GA-BP神經(jīng)網(wǎng)絡的預測值,得到E
、E
以及E
的修正值,其中E
為誤差平方和。根據(jù)數(shù)學方法,對GA-BP神經(jīng)網(wǎng)絡的閾值與權值進行再一次帶有優(yōu)化因子的優(yōu)化,步驟如下:基于優(yōu)化BP神經(jīng)網(wǎng)絡的流程圖如圖5所示。
圖5 基于優(yōu)化BP神經(jīng)網(wǎng)絡的流程圖
利用時間序列預測模型和優(yōu)化改進后的TC-GABP神經(jīng)網(wǎng)絡對數(shù)據(jù)集進行銷售預測。
仿真實驗使用的是《中國房地產(chǎn)統(tǒng)計年鑒》中碧桂園房產(chǎn)公司數(shù)據(jù)作為數(shù)據(jù)集。使用其已經(jīng)提供的1 000條銷售額數(shù)據(jù),抽取前975條進行訓練學習,并分別利用一次指數(shù)平滑法和二次指數(shù)平滑法的時間序列模型對其進行仿真測試,仿真結果如圖6和圖7所示。
圖6 一次平滑指數(shù)預測
圖7 二次平滑指數(shù)預測
從仿真實驗結果可以看出,實驗結果與理論預測基本相同。但一次指數(shù)平滑法的實驗結果無論是在α
為何值的情況下都出現(xiàn)了較多的滯后反應。這也襯托出了二次指數(shù)平滑法的預測準確度之高(誤差率為25.747 1%),為優(yōu)化算法提供了可行方案。以上文提及的BP神經(jīng)網(wǎng)絡算法和遺傳算法優(yōu)化后的BP神經(jīng)網(wǎng)絡算法的實驗結果誤差程度為比較對象。使用已經(jīng)提供的1 000條銷售額數(shù)據(jù),訓練集由數(shù)據(jù)集中97.5%的數(shù)據(jù)組成,其余數(shù)據(jù)則作為驗證集,來驗證誤差。TC-GABP神經(jīng)網(wǎng)絡算法得到的結果如圖8所示。
圖8 TC-GABP神經(jīng)網(wǎng)絡預測
從上述圖像中可以直觀看出,TC-GABP神經(jīng)網(wǎng)絡訓練后的預測結果更接近真實的結果,比遺傳算法改進的BP神經(jīng)網(wǎng)絡得到的結果更準確。經(jīng)過數(shù)學計算,它的精度提高了8%,誤差率降低了13%。表明TC-GABP神經(jīng)網(wǎng)絡模型不單單是在預測的準確率上有所提升,其誤差率也得到了改善。相較于另外三種模型來說,預測結果更為接近真實值的結果。
部分預測結果如表1所示。
表1 不同模型預測結果對比
根據(jù)表1的數(shù)據(jù)可以看出,TC-GABP神經(jīng)網(wǎng)絡的預測準確率最佳,達到了13.739 7%。對于傳統(tǒng)的BP神經(jīng)網(wǎng)絡,可以看出它的誤差率達到了29.554 1%,接近于30%。一般來說,接近30%的誤差率的預測模型將被認為是不可靠的。對于時間序列模型和遺傳算法改進的神經(jīng)網(wǎng)絡,雖然誤差率不是特別高,仿真實驗也都表現(xiàn)良好,但是相較于TC-GABP神經(jīng)網(wǎng)絡的誤差率來說,仍是不太理想。因此,預測模型效果最好的還是TC-GABP神經(jīng)網(wǎng)絡,仿真實驗也是最接近真實效果的。
文章對于銷售預測模型的建立,首先選擇時間序列模型來減少源數(shù)據(jù)中的大量誤差,再利用優(yōu)化后的BP神經(jīng)網(wǎng)絡進行預測,并具體應用于某房地產(chǎn)銷售數(shù)據(jù)集合。實驗結果表明,優(yōu)化后的BP神經(jīng)網(wǎng)絡算法不僅大幅提高了預測準確度,縮短了收斂時間,簡化了網(wǎng)絡結構,也使得數(shù)據(jù)預測的誤差進一步縮小。算法具有較高的理論研究意義和實際應用價值。