[摘要] 大量商業(yè)交易數(shù)據(jù)中隱含著許多對商業(yè)決策有益的知識,數(shù)據(jù)挖掘技術(shù)可以發(fā)現(xiàn)這些隱藏的模式和關(guān)系。本文簡要介紹了關(guān)聯(lián)規(guī)則挖掘算法,重點分析了不一致的支持度約束策略,分析了最小支持度與最大可信度的關(guān)系,提出了一種新的評估手段反映關(guān)聯(lián)規(guī)則的意義,結(jié)合具體實例對交易數(shù)據(jù)進(jìn)行了關(guān)聯(lián)分析,用來發(fā)現(xiàn)那些雖然可信度、支持度較低,但仍然具有一定意義的規(guī)則。
[關(guān)鍵詞] 關(guān)聯(lián)分析 交易數(shù)據(jù) 規(guī)則篩選 商業(yè)決策
一、引言
商業(yè)流通領(lǐng)域積累的大量交易數(shù)據(jù)中隱含著許多對商業(yè)決策有益的知識,傳統(tǒng)的分析方法很難從中提取出這些知識,而數(shù)據(jù)挖掘技術(shù)可以發(fā)現(xiàn)這些隱藏的模式和關(guān)系。
企業(yè)為迎接市場的挑戰(zhàn),必須對市場運作有準(zhǔn)確的分析,通過分析可以得到準(zhǔn)確、及時的信息,決策人員以企業(yè)的數(shù)據(jù)倉庫為基礎(chǔ),經(jīng)過聯(lián)機(jī)分析處理工具(OLAP)、數(shù)據(jù)挖掘工具以及決策規(guī)劃人員的專業(yè)知識,從數(shù)據(jù)中獲得有用的信息和知識,幫助企業(yè)獲取利潤。在商品交易數(shù)據(jù)上應(yīng)用關(guān)聯(lián)規(guī)則可以實現(xiàn):商品關(guān)聯(lián)關(guān)系的分析;顧客購買模式分析;商品銷售因素分析等,發(fā)現(xiàn)的知識用來指導(dǎo)貨籃擺放、搭配促銷和搭配進(jìn)貨等經(jīng)營行為。
商品關(guān)聯(lián)數(shù)據(jù)分析的功能是挖掘用戶購買的商品間的關(guān)系。通過對用戶購買紀(jì)錄的分析,發(fā)現(xiàn)那些用戶同時購買可能性較高的商品組合。對這樣的組合進(jìn)行分析,確定哪些商品間存在著較強(qiáng)的關(guān)聯(lián),分析的結(jié)果可以用于指導(dǎo)超市的貨籃擺放、捆綁銷售及搭配進(jìn)貨。
商品關(guān)聯(lián)分析采用的是基于無候選項集產(chǎn)生算法FP-Growth開發(fā)的算法,在一種壓縮的數(shù)據(jù)結(jié)構(gòu)FP-tree上進(jìn)行挖掘,通過模式成長的方法挖掘頻繁模式。采用的算法,及針對數(shù)據(jù)特性對算法進(jìn)行的改進(jìn)。在文獻(xiàn)中有算法的詳細(xì)設(shè)計過程。
二、不一致的支持度約束策略
關(guān)聯(lián)規(guī)則是用來反映項之間的關(guān)系,它關(guān)心的是哪些項的組合滿足最小支持度,所以只有長度超過2的頻繁集(簡稱頻繁項集2)在的應(yīng)用中才有意義,現(xiàn)有算法一般只給出一個唯一的支持度約束,即長度不同的頻繁項集滿足相同的支持度。頻繁項集1應(yīng)該滿足更高的支持度約束才能保證頻繁項集2,這就是不一致的支持度約束策略。
不一致支持度約束策略:在不同長度的項集上采用不同的最小支持度約束,一般是隨著項集長度增加最小支持度遞減。
通過采用不一致的支持度約束策略,頻繁項集1的數(shù)目減少了,意味著每個事務(wù)處理包含更少的頻繁項,減少了插入到樹中所需的時間。同時,由于這些被忽略的項頻度都較低,在FP-tree中它們應(yīng)該處在葉節(jié)點或接近葉節(jié)點的位置,與頻度高的節(jié)點相比分布相對分散,單位節(jié)點所包含的信息量太少,限制這些節(jié)點在FP-tree中的出現(xiàn)有時會使FP-tree的尺寸明顯減小。
三、規(guī)則篩選
根據(jù)對超市商品構(gòu)成的分析,不同超市經(jīng)營理念上的差異決定了它們客戶群購買行為上的差異,這種不同超市間的挖掘結(jié)果會有很大的不同。例如:上海某超市商品多達(dá)32000種,而沃爾瑪只有不到10000種商品。同時,由于國內(nèi)外超市客戶購買行為上的不同,使得對于國內(nèi)這種大而全的超市的數(shù)據(jù)進(jìn)行關(guān)聯(lián)規(guī)則挖掘所得規(guī)則的可信度偏低。如果將規(guī)則的可信度調(diào)整的較高,則會丟失許多辛苦挖掘出來的規(guī)則,因此如何處理這些可信度較低的規(guī)則,發(fā)現(xiàn)其中有意義的規(guī)則是對挖掘結(jié)果進(jìn)行深度處理的關(guān)鍵。說一條規(guī)則A=>B是有意義的,是指當(dāng)規(guī)則滿足用戶給定的最小支持度Minsup和最小,可信度Minconf。
可信度:conf(A=>B)=sup(A∪B)/sup(A),通常由conf(A=>B)是否滿足給定的閩值Minconf來判斷A=>B是否有意義,且Minconf的值都比較大。一種觀點認(rèn)為:判斷規(guī)則是否有意義,關(guān)鍵要看它的可信度是否大于50%。原因是:若conf(A=>B)=30%,那么有conf(A=> B)=70%,表示購買了A商品但沒有購買B商品的人多于購買了A商品同時購買了B商品的人,即買A不買B的可能性要大于買A又買B,所以規(guī)則A=>B沒有意義。
在實際應(yīng)用中,認(rèn)為上述觀點只反映了關(guān)聯(lián)規(guī)則中可信度意義的一個方面,對可信度更有意義的理解應(yīng)該是conf(A => B)與conf (A => B)的比較,即購買了A又購買了B的人所占購買了A的人的比例與沒有購買A但購買了B的人所占沒有購買A的人的比例之間進(jìn)行比較。實際上就是看B商品在A與A的情況下是否是均勻分布的。如果conf(A => B)的值明顯高出conf (A => B)的值,雖然conf (A => B)較低,也應(yīng)該認(rèn)為它是有意義的。
由于有層次的加入,發(fā)現(xiàn)會有這樣的規(guī)則產(chǎn)生:A=>B(8% support,60% confidence),現(xiàn)在有規(guī)則a=>B,其中a是A的一部分,Support(a)≈0.25×Support(A)。規(guī)則a=>B期望的支持度與可信度分別為2%和60%。如果a=>B的真實支持度與可信度大約為2%和60%,那么把它看作是冗余的規(guī)則。因為它與A=>B比較,不具有一般性并且它不帶有額外的信息。對于那些支持度或可信度高于期望支持度或可信度的規(guī)則,其重要性更高。
四、實驗結(jié)果
在采用不一致的支持度約束策略時,如何根據(jù)用戶設(shè)定的最小支持度給出頻繁項集1滿足的支持度是關(guān)鍵。通過用戶設(shè)定的最小支持度和由頻繁項集2產(chǎn)生的規(guī)則中出現(xiàn)的最大可信度的近似值推導(dǎo)頻繁項集1應(yīng)該滿足的支持度約束??紤]規(guī)則a=>b,支持度為s,s>S,可信度c,c>C,S和C分別是最小支持度和最小可信度。根據(jù)支持度和可信度的定義可以得到a的支持度support(a)=s/c,如果s取最小值Smin,c取最大值Cmax,能夠得到頻繁項集2中包含的頻繁項集1需滿足的最小支持度值s1=Smin/Cmax,也就是說,只有滿足支持度s1的頻繁項集1才有可能產(chǎn)生滿足支持度S的頻繁項集2。顯然,支持度的最小值Smin是用戶設(shè)定的最小支持度:然而可信度的最高值Cmax就很難設(shè)置,如果設(shè)置為1,雖然保證了正確性,但沒有任何意義,如果設(shè)的過低,則有可能將某些有用的頻繁項集1忽略掉。
下面的實驗顯示了在對某超市一周銷售數(shù)據(jù)進(jìn)行關(guān)聯(lián)分析時,適當(dāng)提高頻繁項集1的支持度對算法的影響。
數(shù)據(jù)中包含36301個事務(wù)處理,設(shè)最小支持度為0.03%,最小可信度為10%。經(jīng)過對數(shù)據(jù)掃描,得到1050個項滿足頻繁項集1,并且在最小支持度附近分布的頻繁項集1非常多,如果將出現(xiàn)的最大可信度設(shè)為70%(70%偏高,在實際應(yīng)用中是很難出現(xiàn)的)。根據(jù)不一致支持度約束策略,頻繁項集1需滿足的支持度為0.043% (0.03%/70% ),這樣會有229個項不會被考慮,相應(yīng)的樹的大小、頻繁項的個數(shù)都會發(fā)生變化。
現(xiàn)人為設(shè)定若干可信度的上限并計算相應(yīng)的頻繁項集1應(yīng)滿足的最小支持度,但不改變頻繁項集2的支持度,下面的表顯示了頭表、樹、頻繁模式和規(guī)則數(shù)量的相應(yīng)變化。
說明:Maxconf最大可信度Cmax, Minsup頻繁項集1的最小支持度,HeadSize頻繁項集1項數(shù),
TreeSize FP-tree中節(jié)點數(shù),F(xiàn)Pnum頻繁項集數(shù),Rulenum規(guī)則數(shù)。
從表1中可以看出當(dāng)可信度的上限越來越小時,頭表、樹、頻繁模式的數(shù)目都發(fā)生了很大變化,卻沒有影響規(guī)則的完整性(直到40%時才出現(xiàn)規(guī)則缺失的情況)。FP-tree的空間消耗在表中明顯地減少了,意味著可以給出更小的最小支持度,挖掘出更多可能有意義的規(guī)則。
參考文獻(xiàn):
[1]王:商務(wù)數(shù)據(jù)中的關(guān)聯(lián)和聚類算法研究[學(xué)位論文],長春,吉林大學(xué),2005
[2]陸楠王品周春光:基于FP-tree頻繁模式的FP-tree算法對關(guān)聯(lián)規(guī)則挖掘的影響,古林大學(xué)學(xué)報(理學(xué)版)180-185,2003年2期
[3]Efrem G. Mallach. Decision support and data warehouse systems[J], Boston: McGraw-Hill, 2005.12,79-80