??? 摘 要:在研究數(shù)據(jù)挖掘預(yù)測(cè)算法時(shí)間序列AR模型的基礎(chǔ)上,,提出了將影響銷售預(yù)測(cè)的因素與時(shí)間序列預(yù)測(cè)結(jié)合在一起的BP神經(jīng)網(wǎng)絡(luò)銷售預(yù)測(cè)模型,,該模型通過數(shù)據(jù)倉庫獲取銷售歷史數(shù)據(jù),。實(shí)例驗(yàn)證表明:BP神經(jīng)網(wǎng)絡(luò)銷售預(yù)測(cè)模型比時(shí)間序列AR銷售預(yù)測(cè)模型精度高,。
??? 關(guān)鍵詞:數(shù)據(jù)挖掘,;銷售預(yù)測(cè),;AR模型,;BP神經(jīng)網(wǎng)絡(luò)
?
??? 銷售預(yù)測(cè)是企業(yè)市場(chǎng)營銷管理中最重要的因素之一,,也是企業(yè)供應(yīng)鏈的關(guān)鍵環(huán)節(jié)。銷售預(yù)測(cè)是在對(duì)影響市場(chǎng)供求變化的諸多因素及過去和現(xiàn)在的銷售資料進(jìn)行分析,、研究的基礎(chǔ)上,,運(yùn)用科學(xué)的方法,對(duì)未來市場(chǎng)產(chǎn)品的供求發(fā)展趨勢(shì)進(jìn)行估計(jì)和推測(cè),。根據(jù)銷售預(yù)測(cè)結(jié)果,,企業(yè)可以科學(xué)合理地制定采購計(jì)劃、生產(chǎn)計(jì)劃,、庫存計(jì)劃及營銷計(jì)劃,。
??? 隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù),、通信技術(shù)和Internet技術(shù)的發(fā)展和各個(gè)業(yè)務(wù)操作流程的自動(dòng)化,,企業(yè)產(chǎn)生了數(shù)以幾十或上百GB的銷售歷史數(shù)據(jù),面對(duì)這些海量數(shù)據(jù),,傳統(tǒng)的預(yù)測(cè)系統(tǒng)越來越不適應(yīng)新的預(yù)測(cè)要求,,主要表現(xiàn)在:預(yù)測(cè)涉及海量數(shù)據(jù)的處理,傳統(tǒng)的方法無法滿足運(yùn)行效率,、計(jì)算性能,、準(zhǔn)確率及存儲(chǔ)空間的要求;預(yù)測(cè)所需的數(shù)據(jù)含有大量不完整(缺少屬性值或僅包含聚集數(shù)據(jù)),、含噪聲(錯(cuò)誤或存在偏離期望的孤立點(diǎn)值),、不一致的內(nèi)容(來源于多個(gè)數(shù)據(jù)源或編碼存在差異),導(dǎo)致預(yù)測(cè)陷入混亂[1],。在這種情況下,,一個(gè)新的研究領(lǐng)域—數(shù)據(jù)挖掘DM(Data Mining)出現(xiàn)了。
??? 數(shù)據(jù)挖掘是由計(jì)算機(jī)自動(dòng)從已有的大量數(shù)據(jù)中提取隱含的、未知的,、具有潛在應(yīng)用價(jià)值的信息或模式的過程,。常見的用于銷售預(yù)測(cè)的數(shù)據(jù)挖掘算法有:(1)統(tǒng)計(jì)分析方法,如時(shí)間序列分析,、線性回歸模型分析,、非線性回歸模型分析、灰色系統(tǒng)模型分析,、馬爾可夫分析法等,,統(tǒng)計(jì)分析法是目前最成熟的數(shù)據(jù)挖掘技術(shù)[1];(2)仿生物方法,,如人工神經(jīng)網(wǎng)絡(luò),、遺傳算法等,這是數(shù)據(jù)挖掘算法研究的新方向,。
??? 本文主要在數(shù)據(jù)挖掘預(yù)測(cè)算法時(shí)間序列AR模型分析的基礎(chǔ)上,,試圖建立將影響銷售預(yù)測(cè)的因素與時(shí)間序列預(yù)測(cè)結(jié)合在一起的BP神經(jīng)網(wǎng)絡(luò)銷售預(yù)測(cè)模型,以提高銷售預(yù)測(cè)的準(zhǔn)確性,。該模型通過數(shù)據(jù)倉庫獲取銷售歷史數(shù)據(jù),,并運(yùn)用實(shí)例對(duì)這兩種算法進(jìn)行了驗(yàn)證對(duì)比。
1 銷售預(yù)測(cè)數(shù)據(jù)挖掘模型的建立
1.1 時(shí)間序列AR模型預(yù)測(cè)
??? 時(shí)間序列分析是根據(jù)已知時(shí)間序列中的銷售數(shù)據(jù)的變化特征和趨勢(shì),,預(yù)測(cè)未來銷售值,。在時(shí)間序列模型中,自回歸模型AR是應(yīng)用最廣的一種預(yù)測(cè)模型,。
???
式中:t?=1,2,…N,,時(shí)間序列{xt}為已知數(shù)據(jù),并假定是平穩(wěn)隨機(jī)序列,;為測(cè)量誤差,,并假定是白噪聲序列。
??? 建立AR模型的一般步驟為[2]:
??? (1)對(duì)時(shí)間序列進(jìn)行平穩(wěn)性處理,。由于AR模型適用于平穩(wěn)時(shí)間序列,,因此,建立模型之前要對(duì)銷售序列數(shù)據(jù)進(jìn)行平穩(wěn)化預(yù)處理,,通常采用零均值處理,。
??? (2)AR模型階數(shù)的確定。根據(jù)準(zhǔn)則函數(shù)定階法來確定模型的最優(yōu)階數(shù),。確定AR模型階數(shù)的準(zhǔn)則包括:FPE準(zhǔn)則,、AIC準(zhǔn)則,、BIC準(zhǔn)則,其函數(shù)表達(dá)式分別表示為:
?????
?在各自準(zhǔn)則函數(shù)取得最小值時(shí)的階數(shù)為模型的最優(yōu)階數(shù),,在最優(yōu)階數(shù)下所建立的模型就是最適用的模型。
??? (3)AR模型的參數(shù)估計(jì)。當(dāng)模型階數(shù)固定時(shí),,用普通最小二乘法可對(duì)模型參數(shù)進(jìn)行估計(jì):?
??? (4)AR模型的預(yù)報(bào)方程,。AR模型的l?步預(yù)報(bào)值為:
式中:為在t?時(shí)刻根據(jù)t?時(shí)刻及之前的數(shù)據(jù)基于AR模型預(yù)測(cè)第t?+l?時(shí)刻的值。
??? (5)對(duì)預(yù)測(cè)值進(jìn)行還原,。由于對(duì)原始數(shù)據(jù)進(jìn)行了平穩(wěn)性處理,,因此,必須對(duì)該預(yù)測(cè)值進(jìn)行還原,,得到實(shí)際銷售預(yù)測(cè)值,。
??? 通過AR模型建立銷售預(yù)測(cè)模型,就是根據(jù)已知時(shí)間序列中的銷售數(shù)據(jù)的變化特征和趨勢(shì),,預(yù)測(cè)未來銷售值,。在歷史銷售值與預(yù)測(cè)銷售值之間建立線性關(guān)系,預(yù)測(cè)時(shí),,輸入預(yù)測(cè)時(shí)間前n個(gè)銷售值,,便可根據(jù)預(yù)測(cè)模型計(jì)算出預(yù)測(cè)時(shí)間的銷售值。
??? 由于產(chǎn)品的需求往往是由許多因素綜合決定的,,而且影響需求的各種因素之間存在著各種錯(cuò)綜復(fù)雜的相互作用,,具有非線性的特征。根據(jù)統(tǒng)計(jì)分析方法建立的AR模型無法表達(dá)這種相互作用,。
1.2 BP網(wǎng)絡(luò)預(yù)測(cè)
??? 神經(jīng)網(wǎng)絡(luò)作為一種非線性自適應(yīng)系統(tǒng),,具有通過自學(xué)習(xí)提取信息內(nèi)部特征的優(yōu)點(diǎn),非常適合解決銷售數(shù)據(jù)中的數(shù)據(jù)挖掘問題,。BP網(wǎng)絡(luò)是目前應(yīng)用最為廣泛的一種神經(jīng)網(wǎng)絡(luò),,具有很強(qiáng)的映射能力,可以實(shí)現(xiàn)輸入和輸出間的任意非線性映射,。
??? BP網(wǎng)絡(luò)一般由一個(gè)輸入層,、一個(gè)或多個(gè)隱含層以及一個(gè)輸出層組成,是通過誤差反向傳播學(xué)習(xí)算法來修正網(wǎng)絡(luò)的權(quán)值和閾值,。圖1是一個(gè)典型的三層BP網(wǎng)絡(luò)模型,,其中?r為輸入層神經(jīng)元數(shù),s1為隱層神經(jīng)元數(shù),,s2為輸出層神經(jīng)元數(shù),,f1和f2為傳遞函數(shù),W1ij和b1i是輸入層到隱層的權(quán)值和閾值,,W2ki和b2k是隱層到輸出層的權(quán)值和閾值,。
?
?
??? BP算法由信息的正向傳遞與誤差的反向傳播兩部分組成。在正向傳遞過程中,,輸入信息從輸入層經(jīng)隱含層計(jì)算傳向輸出層,,如果在輸出層沒有得到期望的輸出,,則計(jì)算輸出層的誤差變化值,然后反向傳播,,通過網(wǎng)絡(luò)將誤差信號(hào)沿原來的連接通路反傳回來修改各層神經(jīng)元的權(quán)值和閾值直至達(dá)到期望目標(biāo),。
??? 其算法流程如下[3]:
??? (1)信息的正向傳遞
??? ①隱層第i個(gè)神經(jīng)元的輸出為:
??? ?????????????????????
??? 式中:P為輸入樣本;Q為輸入樣本個(gè)數(shù),;tk為網(wǎng)絡(luò)的期望輸出,;η為學(xué)習(xí)步長,0<η<1,;δ1為隱含層誤差傳輸項(xiàng),;δ2為輸出層誤差傳輸項(xiàng)。
??? 由于BP算法采用梯度下降法來收斂實(shí)際輸出與理想輸出之間誤差,,網(wǎng)絡(luò)有可能陷入局部極小值,,采用附加動(dòng)量與自適應(yīng)學(xué)習(xí)速率相結(jié)合的方法來改進(jìn)算法。
??? 通過BP網(wǎng)絡(luò)建立銷售預(yù)測(cè)模型,,就是將影響銷售預(yù)測(cè)的因素和銷售歷史數(shù)據(jù)作為輸入?yún)?shù),,要預(yù)測(cè)的銷售數(shù)據(jù)作為輸出參數(shù),建立網(wǎng)絡(luò)模型,。預(yù)測(cè)時(shí),,根據(jù)網(wǎng)絡(luò)模型輸入預(yù)測(cè)時(shí)間即可計(jì)算出要預(yù)測(cè)時(shí)間的銷售值。
1.3 預(yù)測(cè)評(píng)估標(biāo)準(zhǔn)
??? 為了比較AR模型和加入影響銷售因素后的BP模型的預(yù)測(cè)能力,,采用了平均絕對(duì)百分比誤差MAPE來評(píng)估預(yù)測(cè)的精確性,。
???
??? 式中:yi為第i期實(shí)際值; fi為第i期預(yù)測(cè)值,。
2 實(shí)例分析
??? 為了驗(yàn)證AR模型和加入影響銷售因素后的BP模型的運(yùn)行效果,,將其應(yīng)用于某一零售企業(yè)決策支持系統(tǒng)的銷售量預(yù)測(cè)中,對(duì)決策支持系統(tǒng)中數(shù)據(jù)倉庫的銷售數(shù)據(jù)進(jìn)行挖掘處理,。
2.1 問題分析
??? 對(duì)決策支持系統(tǒng)中數(shù)據(jù)倉庫的銷售數(shù)據(jù)進(jìn)行挖掘處理,,以預(yù)測(cè)商品的月銷售量作為時(shí)間序列,建立AR模型,;以銷售時(shí)間,、商品的月平均價(jià)格、購買此類商品的顧客平均收入作為影響因素,,與銷售時(shí)間序列一起作為BP網(wǎng)絡(luò)的輸入端,,建立BP網(wǎng)絡(luò)模型。當(dāng)用戶輸入預(yù)測(cè)時(shí)間和商品類型時(shí),,系統(tǒng)就能通過這些模型得到銷售量,。
2.2 數(shù)據(jù)準(zhǔn)備
??? 系統(tǒng)按照預(yù)測(cè)要求從數(shù)據(jù)倉庫中提取銷售預(yù)測(cè)所需的數(shù)據(jù),AR模型預(yù)測(cè)要求序列是平穩(wěn)序列,,BP網(wǎng)絡(luò)輸入樣本如果屬于不同的量綱,,為了避免量級(jí)上的差別影響網(wǎng)絡(luò)的識(shí)別精度,,在訓(xùn)練前對(duì)數(shù)據(jù)進(jìn)行歸一化處理。對(duì)這些數(shù)據(jù)按照算法要求進(jìn)行處理后存放在臨時(shí)數(shù)據(jù)庫中,。
2.3 運(yùn)行效果
??? 對(duì)這兩種模型分別在Matlab下編程,,數(shù)據(jù)選取企業(yè)1998年食品類商品按月匯總后在不同地區(qū)的銷售信息,,取前10個(gè)月數(shù)據(jù)作為訓(xùn)練樣本,,第11個(gè)月數(shù)據(jù)作為驗(yàn)證樣本。
??? 一個(gè)評(píng)價(jià)預(yù)測(cè)精度的參考標(biāo)準(zhǔn)認(rèn)為,,平均絕對(duì)百分比誤差在20?%~50?%之間的為可行預(yù)測(cè),,低于20%的為良好預(yù)測(cè)[4]。如圖2和圖3所示的兩種模型的預(yù)測(cè)結(jié)果,,和表1所列的預(yù)測(cè)精度比結(jié)果看,,BP模型預(yù)測(cè)精度比AR模型較高,但兩個(gè)模型預(yù)測(cè)都是良好預(yù)測(cè),。
?
?
?
??? 通過以上對(duì)兩種模型的實(shí)例分析,,得出以下結(jié)論:
??? (1)由于銷售預(yù)測(cè)是一個(gè)非線性問題,所以BP網(wǎng)絡(luò)預(yù)測(cè)精度較AR模型高,。而AR模型考慮到時(shí)間序列的隨機(jī)特性和統(tǒng)計(jì)特性,,也能達(dá)到令人滿意的預(yù)測(cè)精度。
??? (2)銷售量除了與銷售的時(shí)間序列有關(guān)以外,,還受許多綜合因素的影響, 像商品的質(zhì)量,、價(jià)格、銷售的時(shí)間,、地區(qū),、顧客的購買力、氣候,、促銷方式,、市場(chǎng)競爭力等,由于BP模型可以是多輸入的網(wǎng)絡(luò)結(jié)構(gòu),,因而可以方便地利用它來考慮其他因素對(duì)銷售量的影響,,在數(shù)據(jù)完備的情況下,建立起銷售量的BP網(wǎng)絡(luò)預(yù)測(cè)模型,,更能全面地反映出銷售量與其他因素的關(guān)系,。
參考文獻(xiàn)
[1]?劉玲梅,孔志周.數(shù)據(jù)挖掘在銷售預(yù)測(cè)中的應(yīng)用[J].商業(yè)時(shí)代(理論版),,2004,,23(17):8-9.
[2]?陳玉祥,張漢亞. 預(yù)測(cè)技術(shù)與應(yīng)用[M]. 北京:機(jī)械工業(yè)出版社, 1985.
[3]?陳祥光,裴旭東. 人工神經(jīng)網(wǎng)絡(luò)技術(shù)及應(yīng)用[M]. 北京:中國電力出版社,2003.
[4]?王玉榮. 商務(wù)預(yù)測(cè)方法[M]. 北京:對(duì)外經(jīng)濟(jì)貿(mào)易大學(xué)出版社, 2003.