《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 基于數(shù)據(jù)挖掘的銷售預(yù)測(cè)研究

基于數(shù)據(jù)挖掘的銷售預(yù)測(cè)研究

2009-07-03
作者:李雅莉

??? 摘 要:在研究數(shù)據(jù)挖掘預(yù)測(cè)算法時(shí)間序列AR模型的基礎(chǔ)上,提出了將影響銷售預(yù)測(cè)的因素與時(shí)間序列預(yù)測(cè)結(jié)合在一起的BP神經(jīng)網(wǎng)絡(luò)銷售預(yù)測(cè)模型,該模型通過(guò)數(shù)據(jù)倉(cāng)庫(kù)獲取銷售歷史數(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íng)銷管理中最重要的因素之一,也是企業(yè)供應(yīng)鏈的關(guān)鍵環(huán)節(jié)。銷售預(yù)測(cè)是在對(duì)影響市場(chǎng)供求變化的諸多因素及過(guò)去和現(xiàn)在的銷售資料進(jìn)行分析、研究的基礎(chǔ)上,運(yùn)用科學(xué)的方法,對(duì)未來(lái)市場(chǎng)產(chǎn)品的供求發(fā)展趨勢(shì)進(jìn)行估計(jì)和推測(cè)。根據(jù)銷售預(yù)測(cè)結(jié)果,企業(yè)可以科學(xué)合理地制定采購(gòu)計(jì)劃、生產(chǎn)計(jì)劃、庫(kù)存計(jì)劃及營(yíng)銷計(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)越來(lái)越不適應(yīng)新的預(yù)測(cè)要求,主要表現(xiàn)在:預(yù)測(cè)涉及海量數(shù)據(jù)的處理,傳統(tǒng)的方法無(wú)法滿足運(yùn)行效率、計(jì)算性能、準(zhǔn)確率及存儲(chǔ)空間的要求;預(yù)測(cè)所需的數(shù)據(jù)含有大量不完整(缺少屬性值或僅包含聚集數(shù)據(jù))、含噪聲(錯(cuò)誤或存在偏離期望的孤立點(diǎn)值)、不一致的內(nèi)容(來(lá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à)值的信息或模式的過(guò)程。常見(jiàn)的用于銷售預(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)確性。該模型通過(guò)數(shù)據(jù)倉(cāng)庫(kù)獲取銷售歷史數(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è)未來(lái)銷售值。在時(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ù)定階法來(lái)確定模型的最優(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è)值。
??? 通過(guò)AR模型建立銷售預(yù)測(cè)模型,就是根據(jù)已知時(shí)間序列中的銷售數(shù)據(jù)的變化特征和趨勢(shì),預(yù)測(cè)未來(lái)銷售值。在歷史銷售值與預(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模型無(wú)法表達(dá)這種相互作用。
1.2 BP網(wǎng)絡(luò)預(yù)測(cè)
??? 神經(jīng)網(wǎng)絡(luò)作為一種非線性自適應(yīng)系統(tǒng),具有通過(guò)自學(xué)習(xí)提取信息內(nèi)部特征的優(yōu)點(diǎn),非常適合解決銷售數(shù)據(jù)中的數(shù)據(jù)挖掘問(wèn)題。BP網(wǎng)絡(luò)是目前應(yīng)用最為廣泛的一種神經(jīng)網(wǎng)絡(luò),具有很強(qiáng)的映射能力,可以實(shí)現(xiàn)輸入和輸出間的任意非線性映射。
??? BP網(wǎng)絡(luò)一般由一個(gè)輸入層、一個(gè)或多個(gè)隱含層以及一個(gè)輸出層組成,是通過(guò)誤差反向傳播學(xué)習(xí)算法來(lái)修正網(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算法由信息的正向傳遞與誤差的反向傳播兩部分組成。在正向傳遞過(guò)程中,輸入信息從輸入層經(jīng)隱含層計(jì)算傳向輸出層,如果在輸出層沒(méi)有得到期望的輸出,則計(jì)算輸出層的誤差變化值,然后反向傳播,通過(guò)網(wǎng)絡(luò)將誤差信號(hào)沿原來(lái)的連接通路反傳回來(lái)修改各層神經(jīng)元的權(quán)值和閾值直至達(dá)到期望目標(biāo)。
??? 其算法流程如下[3]
??? (1)信息的正向傳遞
??? ①隱層第i個(gè)神經(jīng)元的輸出為:
??? ?????????????????????
??? 式中:P為輸入樣本;Q為輸入樣本個(gè)數(shù);tk為網(wǎng)絡(luò)的期望輸出;η為學(xué)習(xí)步長(zhǎng),0<η<1;δ1為隱含層誤差傳輸項(xiàng);δ2為輸出層誤差傳輸項(xiàng)。
??? 由于BP算法采用梯度下降法來(lái)收斂實(shí)際輸出與理想輸出之間誤差,網(wǎng)絡(luò)有可能陷入局部極小值,采用附加動(dòng)量與自適應(yīng)學(xué)習(xí)速率相結(jié)合的方法來(lái)改進(jìn)算法。
??? 通過(guò)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來(lái)評(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ù)倉(cāng)庫(kù)的銷售數(shù)據(jù)進(jìn)行挖掘處理。
2.1 問(wèn)題分析
??? 對(duì)決策支持系統(tǒng)中數(shù)據(jù)倉(cāng)庫(kù)的銷售數(shù)據(jù)進(jìn)行挖掘處理,以預(yù)測(cè)商品的月銷售量作為時(shí)間序列,建立AR模型;以銷售時(shí)間、商品的月平均價(jià)格、購(gòu)買此類商品的顧客平均收入作為影響因素,與銷售時(shí)間序列一起作為BP網(wǎng)絡(luò)的輸入端,建立BP網(wǎng)絡(luò)模型。當(dāng)用戶輸入預(yù)測(cè)時(shí)間和商品類型時(shí),系統(tǒng)就能通過(guò)這些模型得到銷售量。
2.2 數(shù)據(jù)準(zhǔn)備
??? 系統(tǒng)按照預(yù)測(cè)要求從數(shù)據(jù)倉(cāng)庫(kù)中提取銷售預(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ù)庫(kù)中。
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è)。

?

?

?


??? 通過(guò)以上對(duì)兩種模型的實(shí)例分析,得出以下結(jié)論:
??? (1)由于銷售預(yù)測(cè)是一個(gè)非線性問(wèn)題,所以BP網(wǎng)絡(luò)預(yù)測(cè)精度較AR模型高。而AR模型考慮到時(shí)間序列的隨機(jī)特性和統(tǒng)計(jì)特性,也能達(dá)到令人滿意的預(yù)測(cè)精度。
??? (2)銷售量除了與銷售的時(shí)間序列有關(guān)以外,還受許多綜合因素的影響, 像商品的質(zhì)量、價(jià)格、銷售的時(shí)間、地區(qū)、顧客的購(gòu)買力、氣候、促銷方式、市場(chǎng)競(jìng)爭(zhēng)力等,由于BP模型可以是多輸入的網(wǎng)絡(luò)結(jié)構(gòu),因而可以方便地利用它來(lái)考慮其他因素對(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]. 北京:中國(guó)電力出版社,2003.
[4]?王玉榮. 商務(wù)預(yù)測(cè)方法[M]. 北京:對(duì)外經(jīng)濟(jì)貿(mào)易大學(xué)出版社, 2003.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。