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

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

2009-07-03
作者:李雅莉

??? 摘 要:在研究數(shù)據(jù)挖掘預(yù)測算法時間序列AR模型的基礎(chǔ)上,提出了將影響銷售預(yù)測的因素與時間序列預(yù)測結(jié)合在一起的BP神經(jīng)網(wǎng)絡(luò)銷售預(yù)測模型,該模型通過數(shù)據(jù)倉庫獲取銷售歷史數(shù)據(jù)。實例驗證表明:BP神經(jīng)網(wǎng)絡(luò)銷售預(yù)測模型比時間序列AR銷售預(yù)測模型精度高。
??? 關(guān)鍵詞:數(shù)據(jù)挖掘;銷售預(yù)測;AR模型;BP神經(jīng)網(wǎng)絡(luò)

?

??? 銷售預(yù)測是企業(yè)市場營銷管理中最重要的因素之一,也是企業(yè)供應(yīng)鏈的關(guān)鍵環(huán)節(jié)。銷售預(yù)測是在對影響市場供求變化的諸多因素及過去和現(xiàn)在的銷售資料進行分析、研究的基礎(chǔ)上,運用科學(xué)的方法,對未來市場產(chǎn)品的供求發(fā)展趨勢進行估計和推測。根據(jù)銷售預(yù)測結(jié)果,企業(yè)可以科學(xué)合理地制定采購計劃、生產(chǎn)計劃、庫存計劃及營銷計劃。
??? 隨著計算機技術(shù)、網(wǎng)絡(luò)技術(shù)、通信技術(shù)和Internet技術(shù)的發(fā)展和各個業(yè)務(wù)操作流程的自動化,企業(yè)產(chǎn)生了數(shù)以幾十或上百GB的銷售歷史數(shù)據(jù),面對這些海量數(shù)據(jù),傳統(tǒng)的預(yù)測系統(tǒng)越來越不適應(yīng)新的預(yù)測要求,主要表現(xiàn)在:預(yù)測涉及海量數(shù)據(jù)的處理,傳統(tǒng)的方法無法滿足運行效率、計算性能、準確率及存儲空間的要求;預(yù)測所需的數(shù)據(jù)含有大量不完整(缺少屬性值或僅包含聚集數(shù)據(jù))、含噪聲(錯誤或存在偏離期望的孤立點值)、不一致的內(nèi)容(來源于多個數(shù)據(jù)源或編碼存在差異),導(dǎo)致預(yù)測陷入混亂[1]。在這種情況下,一個新的研究領(lǐng)域—數(shù)據(jù)挖掘DM(Data Mining)出現(xiàn)了。
??? 數(shù)據(jù)挖掘是由計算機自動從已有的大量數(shù)據(jù)中提取隱含的、未知的、具有潛在應(yīng)用價值的信息或模式的過程。常見的用于銷售預(yù)測的數(shù)據(jù)挖掘算法有:(1)統(tǒng)計分析方法,如時間序列分析、線性回歸模型分析、非線性回歸模型分析、灰色系統(tǒng)模型分析、馬爾可夫分析法等,統(tǒng)計分析法是目前最成熟的數(shù)據(jù)挖掘技術(shù)[1];(2)仿生物方法,如人工神經(jīng)網(wǎng)絡(luò)、遺傳算法等,這是數(shù)據(jù)挖掘算法研究的新方向。
??? 本文主要在數(shù)據(jù)挖掘預(yù)測算法時間序列AR模型分析的基礎(chǔ)上,試圖建立將影響銷售預(yù)測的因素與時間序列預(yù)測結(jié)合在一起的BP神經(jīng)網(wǎng)絡(luò)銷售預(yù)測模型,以提高銷售預(yù)測的準確性。該模型通過數(shù)據(jù)倉庫獲取銷售歷史數(shù)據(jù),并運用實例對這兩種算法進行了驗證對比。
1 銷售預(yù)測數(shù)據(jù)挖掘模型的建立
1.1 時間序列AR模型預(yù)測

??? 時間序列分析是根據(jù)已知時間序列中的銷售數(shù)據(jù)的變化特征和趨勢,預(yù)測未來銷售值。在時間序列模型中,自回歸模型AR是應(yīng)用最廣的一種預(yù)測模型。
???

式中:t?=1,2,…N,時間序列{xt}為已知數(shù)據(jù),并假定是平穩(wěn)隨機序列;為測量誤差,并假定是白噪聲序列。
??? 建立AR模型的一般步驟為[2]
??? (1)對時間序列進行平穩(wěn)性處理。由于AR模型適用于平穩(wěn)時間序列,因此,建立模型之前要對銷售序列數(shù)據(jù)進行平穩(wěn)化預(yù)處理,通常采用零均值處理。
??? (2)AR模型階數(shù)的確定。根據(jù)準則函數(shù)定階法來確定模型的最優(yōu)階數(shù)。確定AR模型階數(shù)的準則包括:FPE準則、AIC準則、BIC準則,其函數(shù)表達式分別表示為:
?????
?在各自準則函數(shù)取得最小值時的階數(shù)為模型的最優(yōu)階數(shù),在最優(yōu)階數(shù)下所建立的模型就是最適用的模型。
??? (3)AR模型的參數(shù)估計。當模型階數(shù)固定時,用普通最小二乘法可對模型參數(shù)進行估計:?
??? (4)AR模型的預(yù)報方程。AR模型的l?步預(yù)報值為:

式中:為在t?時刻根據(jù)t?時刻及之前的數(shù)據(jù)基于AR模型預(yù)測第t?+l?時刻的值。
??? (5)對預(yù)測值進行還原。由于對原始數(shù)據(jù)進行了平穩(wěn)性處理,因此,必須對該預(yù)測值進行還原,得到實際銷售預(yù)測值。
??? 通過AR模型建立銷售預(yù)測模型,就是根據(jù)已知時間序列中的銷售數(shù)據(jù)的變化特征和趨勢,預(yù)測未來銷售值。在歷史銷售值與預(yù)測銷售值之間建立線性關(guān)系,預(yù)測時,輸入預(yù)測時間前n個銷售值,便可根據(jù)預(yù)測模型計算出預(yù)測時間的銷售值。
??? 由于產(chǎn)品的需求往往是由許多因素綜合決定的,而且影響需求的各種因素之間存在著各種錯綜復(fù)雜的相互作用,具有非線性的特征。根據(jù)統(tǒng)計分析方法建立的AR模型無法表達這種相互作用。
1.2 BP網(wǎng)絡(luò)預(yù)測
??? 神經(jīng)網(wǎng)絡(luò)作為一種非線性自適應(yīng)系統(tǒng),具有通過自學(xué)習提取信息內(nèi)部特征的優(yōu)點,非常適合解決銷售數(shù)據(jù)中的數(shù)據(jù)挖掘問題。BP網(wǎng)絡(luò)是目前應(yīng)用最為廣泛的一種神經(jīng)網(wǎng)絡(luò),具有很強的映射能力,可以實現(xiàn)輸入和輸出間的任意非線性映射。
??? BP網(wǎng)絡(luò)一般由一個輸入層、一個或多個隱含層以及一個輸出層組成,是通過誤差反向傳播學(xué)習算法來修正網(wǎng)絡(luò)的權(quán)值和閾值。圖1是一個典型的三層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)隱含層計算傳向輸出層,如果在輸出層沒有得到期望的輸出,則計算輸出層的誤差變化值,然后反向傳播,通過網(wǎng)絡(luò)將誤差信號沿原來的連接通路反傳回來修改各層神經(jīng)元的權(quán)值和閾值直至達到期望目標。
??? 其算法流程如下[3]
??? (1)信息的正向傳遞
??? ①隱層第i個神經(jīng)元的輸出為:
??? ?????????????????????
??? 式中:P為輸入樣本;Q為輸入樣本個數(shù);tk為網(wǎng)絡(luò)的期望輸出;η為學(xué)習步長,0<η<1;δ1為隱含層誤差傳輸項;δ2為輸出層誤差傳輸項。
??? 由于BP算法采用梯度下降法來收斂實際輸出與理想輸出之間誤差,網(wǎng)絡(luò)有可能陷入局部極小值,采用附加動量與自適應(yīng)學(xué)習速率相結(jié)合的方法來改進算法。
??? 通過BP網(wǎng)絡(luò)建立銷售預(yù)測模型,就是將影響銷售預(yù)測的因素和銷售歷史數(shù)據(jù)作為輸入?yún)?shù),要預(yù)測的銷售數(shù)據(jù)作為輸出參數(shù),建立網(wǎng)絡(luò)模型。預(yù)測時,根據(jù)網(wǎng)絡(luò)模型輸入預(yù)測時間即可計算出要預(yù)測時間的銷售值。
1.3 預(yù)測評估標準
??? 為了比較AR模型和加入影響銷售因素后的BP模型的預(yù)測能力,采用了平均絕對百分比誤差MAPE來評估預(yù)測的精確性。

???

??? 式中:yi為第i期實際值; fi為第i期預(yù)測值。
2 實例分析
??? 為了驗證AR模型和加入影響銷售因素后的BP模型的運行效果,將其應(yīng)用于某一零售企業(yè)決策支持系統(tǒng)的銷售量預(yù)測中,對決策支持系統(tǒng)中數(shù)據(jù)倉庫的銷售數(shù)據(jù)進行挖掘處理。
2.1 問題分析
??? 對決策支持系統(tǒng)中數(shù)據(jù)倉庫的銷售數(shù)據(jù)進行挖掘處理,以預(yù)測商品的月銷售量作為時間序列,建立AR模型;以銷售時間、商品的月平均價格、購買此類商品的顧客平均收入作為影響因素,與銷售時間序列一起作為BP網(wǎng)絡(luò)的輸入端,建立BP網(wǎng)絡(luò)模型。當用戶輸入預(yù)測時間和商品類型時,系統(tǒng)就能通過這些模型得到銷售量。
2.2 數(shù)據(jù)準備
??? 系統(tǒng)按照預(yù)測要求從數(shù)據(jù)倉庫中提取銷售預(yù)測所需的數(shù)據(jù),AR模型預(yù)測要求序列是平穩(wěn)序列,BP網(wǎng)絡(luò)輸入樣本如果屬于不同的量綱,為了避免量級上的差別影響網(wǎng)絡(luò)的識別精度,在訓(xùn)練前對數(shù)據(jù)進行歸一化處理。對這些數(shù)據(jù)按照算法要求進行處理后存放在臨時數(shù)據(jù)庫中。
2.3 運行效果
??? 對這兩種模型分別在Matlab下編程,數(shù)據(jù)選取企業(yè)1998年食品類商品按月匯總后在不同地區(qū)的銷售信息,取前10個月數(shù)據(jù)作為訓(xùn)練樣本,第11個月數(shù)據(jù)作為驗證樣本。
??? 一個評價預(yù)測精度的參考標準認為,平均絕對百分比誤差在20?%~50?%之間的為可行預(yù)測,低于20%的為良好預(yù)測[4]。如圖2和圖3所示的兩種模型的預(yù)測結(jié)果,和表1所列的預(yù)測精度比結(jié)果看,BP模型預(yù)測精度比AR模型較高,但兩個模型預(yù)測都是良好預(yù)測。

?

?

?


??? 通過以上對兩種模型的實例分析,得出以下結(jié)論:
??? (1)由于銷售預(yù)測是一個非線性問題,所以BP網(wǎng)絡(luò)預(yù)測精度較AR模型高。而AR模型考慮到時間序列的隨機特性和統(tǒng)計特性,也能達到令人滿意的預(yù)測精度。
??? (2)銷售量除了與銷售的時間序列有關(guān)以外,還受許多綜合因素的影響, 像商品的質(zhì)量、價格、銷售的時間、地區(qū)、顧客的購買力、氣候、促銷方式、市場競爭力等,由于BP模型可以是多輸入的網(wǎng)絡(luò)結(jié)構(gòu),因而可以方便地利用它來考慮其他因素對銷售量的影響,在數(shù)據(jù)完備的情況下,建立起銷售量的BP網(wǎng)絡(luò)預(yù)測模型,更能全面地反映出銷售量與其他因素的關(guān)系。
參考文獻
[1]?劉玲梅,孔志周.數(shù)據(jù)挖掘在銷售預(yù)測中的應(yīng)用[J].商業(yè)時代(理論版),2004,23(17):8-9.
[2]?陳玉祥,張漢亞. 預(yù)測技術(shù)與應(yīng)用[M]. 北京:機械工業(yè)出版社, 1985.
[3]?陳祥光,裴旭東. 人工神經(jīng)網(wǎng)絡(luò)技術(shù)及應(yīng)用[M]. 北京:中國電力出版社,2003.
[4]?王玉榮. 商務(wù)預(yù)測方法[M]. 北京:對外經(jīng)濟貿(mào)易大學(xué)出版社, 2003.

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