徐琴+韓潔
摘要:采用Microsoft時序算法來創(chuàng)建數(shù)據(jù)挖掘模型,并瀏覽驗(yàn)證了數(shù)據(jù)挖掘模型的有效性,可應(yīng)用該模型預(yù)測電子商城中的銷售情況,包括:每個商店、每類商品、每個商品的銷售額、銷售量及銷售成本等,可為電子商城中的商家的商業(yè)活動提供決策支持。
關(guān)鍵詞:數(shù)據(jù)挖掘;時序算法;銷售預(yù)測;電子商城
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)04-0243-02
1 概述
目前,在電子商城中各個商家和企業(yè)的商業(yè)活動在很大程度上存在著盲目性,對大家都有利的許多信息得不到共享,也沒有商業(yè)活動可依據(jù)的可靠的決策支持??梢酝ㄟ^數(shù)據(jù)挖掘來對電子商城的s未來銷售情況進(jìn)行預(yù)測,使企業(yè)和商家對未來的發(fā)展有一定的認(rèn)識,也有利于合理的安排各項(xiàng)商業(yè)活動。
對未來銷售情況預(yù)測包括:通過商城中各類商品的歷史銷售記錄,預(yù)測各類商品的發(fā)展前景進(jìn)行;通過各個企業(yè)和商家的商品的歷史銷售記錄,預(yù)測企業(yè)和商家的發(fā)展前景;通過各個產(chǎn)品的歷史銷售記錄,預(yù)測產(chǎn)品將來的發(fā)展前景等等。
本文的銷售預(yù)測采用Microsoft時序算法對電子商城中的銷售數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘。
2 Microsoft時序算法簡介
時間序列包含一系列的隨時間或者其他變量的增加而得到的數(shù)據(jù)。在現(xiàn)實(shí)世界中,許多變量的值隨著時間的改變而改變,變量值的序列也就組成了一個時間序列。在時間序列中,給定時間點(diǎn)的值由該時間點(diǎn)之前的值決定。通過收集時間序列數(shù)據(jù)對將來的值進(jìn)行預(yù)測。[1]
Microsoft時序算法是一個結(jié)合了自動回歸技術(shù)和決策樹技術(shù)的新預(yù)測算法,所以也把該算法稱作自動回歸樹(Auto Regression Tree,ART)。[2]
1)自動回歸:自動回歸是一種用來處理時間序列問題的常見的技術(shù)。在自動回歸過程中,x在f(xt)的值是t時間之前x的一系列值的一個函數(shù),例如:[xt=f(xt-1,xt-2,xt-3,…,xt-n)+εt],其中,xt是待研究的時間序列,n是自動回歸的階,通常遠(yuǎn)小于該序列的長度,最后一項(xiàng)[εt]代表噪聲。使用時間序列算法的目標(biāo)就是找到這個函數(shù)f。
2)使用多個時間序列:一個挖掘模型可能包含多個時間序列,這些序列可能不是相互獨(dú)立的。這一算法的特征之一就是當(dāng)這些序列存在著依賴關(guān)系的時候,可以被識別出是交叉序列。
3)自動回歸樹:使用該算法創(chuàng)建的模型是自動回歸樹,一顆回歸樹就對應(yīng)著函數(shù)f。
4)季節(jié)性:大多數(shù)時間序列都有季節(jié)性的模式。ART算法可以使用季節(jié)性參數(shù)Periodicity_Hint來增加歷史數(shù)據(jù)點(diǎn)。
5)預(yù)測歷史:當(dāng)處理完一個時序模型后,就可以用該模型對未來進(jìn)行預(yù)測、對歷史進(jìn)行預(yù)測。如果該模型對過去的預(yù)測比較準(zhǔn)確,則該模型對未來預(yù)測的結(jié)果也比較準(zhǔn)確。
3 使用Microsoft時序算法挖掘數(shù)據(jù)
3.1 創(chuàng)建模型
在本例中,采用Microsoft時序算法創(chuàng)建2個挖掘模型,其中:模型Stores_Model的目標(biāo)是對每個商店每個月的銷售額、銷售量、銷售成本進(jìn)行預(yù)測;模型Product_Category_Model的目標(biāo)是對每類商品每個月的銷售額、銷售量、銷售成本進(jìn)行預(yù)測。
利用DMX 語言創(chuàng)建時序模型Stores_Model和Product_Category_Model的代碼如下:
CREATE MINING MODEL Stores_Model (
年月 LONG KEY TIME,
商店名稱 TEXT KEY,
銷售額 LONG CONTINUOUS PREDICT,
銷售成本 LONG CONTINUOUS PREDICT,
銷售量 LONG CONTINUOUS PREDICT)
Using Microsoft_Time_Series (HISTORIC_MODEL_COUNT = 12, HISTORIC_MODEL_GAP = 2, MISSING_VALUE_SUBSTITUTION = Previous, PERIODICITY_HINT = '{12}')
CREATE MINING MODEL Product_Category_Model (
年月 LONG KEY TIME,
商品分類名稱 TEXT KEY,
銷售金額 LONG CONTINUOUS PREDICT,
銷售成本 LONG CONTINUOUS PREDICT,
銷售數(shù)量 LONG CONTINUOUS PREDICT)
Using Microsoft_Time_Series (HISTORIC_MODEL_COUNT = 12, HISTORIC_MODEL_GAP = 2, MISSING_VALUE_SUBSTITUTION = Previous, PERIODICITY_HINT = '{12}')
其中:HISTORIC_MODEL_COUNT參數(shù)設(shè)置為12,表示構(gòu)建12個歷史模型;HISTORIC_MODEL_GAP參數(shù)設(shè)置為2,表示構(gòu)建的歷史模型之間的時間間隔為2;MISSING_VALUE_SUBSTITUTION設(shè)置為Previous,指的是使用以前的值來填充歷史數(shù)據(jù)中的空白;PERIODICITY_HINT設(shè)置為{12},指的是按照年模式進(jìn)行計(jì)算。
3.2 瀏覽驗(yàn)證數(shù)據(jù)挖掘模型
在模型中通常有一或多棵樹,模型中的每一棵樹都有一或多個節(jié)點(diǎn),樹中的每一個非葉節(jié)點(diǎn)都包含一個線性回歸公式,樹中的每一個內(nèi)容節(jié)點(diǎn)的分布行集存儲著線性回歸公式的系數(shù)和截距的數(shù)值。[3]
商店Store22的銷售額的預(yù)測樹如圖1所示。可以看到該樹只有一個拆分,該拆分是基于前第二個月Store14的銷售量。所選擇的節(jié)點(diǎn)顯示前第二個月Store14的銷售量是否高于176.810,可以使用下面的兩個回歸公式來預(yù)測下一個月Store22的銷售額:
Store14.銷售量-2 >= 176.810:
Store22銷售額 = 86.828 -0.051 * 銷售額(Store03,-2) + 0.456 * 銷售量(Store14,-2) + 0.215 * 銷售量(Store06,-2) + 0.521 * 銷售成本(Store02,-1)
Store14.銷售量-2 < 176.810:
Store22銷售額 = 353.896 + 0.013 * 銷售量(Store06,-2) + 0.003 * 銷售額(Store03,-2)
這兩個公式可以在挖掘圖例中看到??梢钥闯?,在Store14.銷售量-2 >= 176.810時,回歸公式用前第二個月Store03的銷售額、Store14的銷售量、Store06的銷售量以及前一個月Store02的銷售成本來預(yù)測Store22的銷售額,這是因?yàn)樵撃P桶l(fā)現(xiàn)在這個條件下,Store22的銷售額序列和這些序列有較強(qiáng)的回歸關(guān)系;同樣的,在Store14.銷售量-2 < 176.810時,回歸公式用前第二個月Store03的銷售額、Store06的銷售量來預(yù)測Store22的銷售額,這也是因?yàn)槟P桶l(fā)現(xiàn)在這個條件下,Store22的銷售額序列和這些序列有較強(qiáng)的回歸關(guān)系。
Store16銷售額的預(yù)測曲線如圖2所示,藍(lán)色圖形表示Store16每月的銷售額。在圖形中有一根垂直的線,該線是歷史的序列值與將來的預(yù)測值的分界線,左邊表示歷史的序列值,右邊表示將來的預(yù)測值。由圖可見,將來的預(yù)測值用虛線表示,虛線之上的豎線表示的是預(yù)測偏差。通常情況下,預(yù)測的將來越遠(yuǎn),則預(yù)測的偏差相對也就越大。
另外,每個序列都會用相應(yīng)的回歸公式對歷史進(jìn)行預(yù)測。如圖2所示,在垂直線左邊的虛線部分就是歷史預(yù)測的圖形。從圖中可以看出模型對歷史的預(yù)測總體趨勢是符合的。
可以看出,該模型對過去進(jìn)行預(yù)測的結(jié)果是比較準(zhǔn)確的,所以,可認(rèn)為它對未來的預(yù)測結(jié)果也是比較準(zhǔn)確的。在模型對過去的預(yù)測有較大的偏差時,可以適當(dāng)?shù)男薷乃惴ǖ膮?shù)再進(jìn)行預(yù)測,直到得到滿意的結(jié)果為止。
4 應(yīng)用模型
在圖2中可以看出,在未來兩個月,Store16的銷售額會有所下降,應(yīng)該采取一定的措施來提高銷售額??梢愿鶕?jù)在商城中各類商品的銷售預(yù)測情況來做決策,比如適當(dāng)調(diào)整商品結(jié)構(gòu)、采取一定的促銷手段等等。
在圖3中顯示出,Vegetables的銷售額在未來兩個月下降得很快,之后將會保持在一個較低的水平,商店應(yīng)該適當(dāng)減少這類商品的采購量,降低庫存,或?qū)@類商品進(jìn)行促銷,以免出現(xiàn)商品積壓。Canned Oysters的銷售額會有大幅上升,之后雖會再下降但又會出現(xiàn)一個的高峰,維持在一個較高水平,商店可以適當(dāng)采購此類商品,增加其庫存量,避免出現(xiàn)供不應(yīng)求的現(xiàn)象。Frozen Entree的銷售額不變化不大,維持在一個較穩(wěn)定的水平,其庫存量也可維持在正常水平,也可對其進(jìn)行促銷,以增加其銷量。
5 結(jié)論
本文利用Microsoft 時序算法對電子商城中大量的歷史銷售數(shù)據(jù)進(jìn)行分析、數(shù)據(jù)挖掘,建立了預(yù)測模型,得出了電子商城中各個商店和各類商品的銷售量、銷售額、銷售成本的變化趨勢,并對未來的銷售情況進(jìn)行了預(yù)測。通過對具體的模型構(gòu)建,實(shí)現(xiàn)了Microsoft時序算法在電子商城中的應(yīng)用。
參考文獻(xiàn):
[1] 劉金平. 基于Microsoft時序算法在電力負(fù)荷預(yù)測中的應(yīng)用[J]. 電腦知識與技術(shù),2011,7(8):1923-1926.
[2] Microsoft時序算法[EB/OL]. https://msdn.microsoft.com/zh-cn/library/ms174923.aspx. 2014.
[3] 袁亞麗. 時序算法在銷售預(yù)測中的應(yīng)用研究[J].微計(jì)算機(jī)信息,2009,25(15):249-250.
[4]Jose-Norberto Mazón, Juan Trujillo, Jens Lechtenberger. Reconciling requirement-driven data warehouses with data sources via multidimensional normal forms[J]. Data & Knowledge Engineering, 2007, 63(3):725-751.
[5] 岑琴. 數(shù)據(jù)挖掘技術(shù)在飾品設(shè)計(jì)中的應(yīng)用[J]. 商業(yè)現(xiàn)代化,2011(1):75-76.
[6] Mark F.Hornick, Erik Marcadé, Sunil Venkayala. Data Mining Process[J]. Java Data Mining, 2007:51-83
[7] 袁凡,唐國華. 數(shù)據(jù)挖掘在電子商務(wù)中的應(yīng)用研究[J].江西科學(xué),2015,33(6):920-924.
[8] 迪麗拜爾·艾海提,庫德來提·熱西提,EHAT Diliber,等.數(shù)據(jù)挖掘技術(shù)的應(yīng)用[J].電腦編程技巧與維護(hù), 2009(6):66-67.
[9] Salvatore T.March, Alan R.Hevner. Integrated decision support systems: A data warehousing perspective[J]. Decision Support Systems, 2007,43(3):1031-1043.
[10]Jing Zhao, Shan Wang, Wilfred V. Huang. A study of B2B e-market in China: E-commerce process perspective[J]. Information & Management, 2008,45(4): 242-244.