伏蘭蘭 黃秋萍 盧葉園 廖靜 甘宇健
摘要:關(guān)聯(lián)規(guī)則是數(shù)據(jù)挖掘的重要方法之一, Apriori是傳統(tǒng)關(guān)聯(lián)規(guī)則中的經(jīng)典算法。提出基于大量商品價格的數(shù)據(jù)集,分別建立單維和二維商品價格關(guān)聯(lián)規(guī)則模型,挖掘單維和二維商品價格的強關(guān)聯(lián)規(guī)則。通過對比分析單維和二維商品價格強關(guān)聯(lián)規(guī)則,以發(fā)現(xiàn)同類或價格關(guān)聯(lián)度高的相關(guān)產(chǎn)品。
關(guān)鍵詞關(guān)鍵詞:關(guān)聯(lián)規(guī)則;商品分類;Apriori算法
DOIDOI:10.11907/rjdk.171888
中圖分類號:TP319
文獻(xiàn)標(biāo)識碼:A文章編號文章編號:16727800(2017)011018303
0引言
1993年Agrawal等[12]提出了第一個關(guān)聯(lián)規(guī)則挖掘算法AIS,但性能較差。隨后于1994年提出了項目集格空間理論,并依據(jù)該理論提出了著名的Apriori算法。1999年P(guān)asquier等[3]研究人員提出了閉合項目集挖掘理論,得出基于此理論的CLOSE算法。2000年HanJiawei等[4]為了提高挖掘效率,減少對原數(shù)據(jù)集的讀取次數(shù)及候選頻繁項目集生成,提出了FP_GROWTH算法。但關(guān)聯(lián)規(guī)則挖掘算法依然存在問題:篩選出的規(guī)則過多,不能得到真正實用的規(guī)則。楊剛[5]以房地產(chǎn)交易價格為研究對象,從房地產(chǎn)交易數(shù)據(jù)中挖掘得到關(guān)聯(lián)規(guī)則,對未來房地產(chǎn)價格進行預(yù)測。劉志勇[6]研究頻繁模式挖掘算法,提出將部分關(guān)聯(lián)規(guī)則挖掘算法與并行計算技術(shù)結(jié)合。孟月昊等[7]提出一種基于規(guī)則前后部約束的關(guān)聯(lián)規(guī)則挖掘算法AR_F&R。該算法根據(jù)用戶需求,構(gòu)造指定關(guān)聯(lián)規(guī)則的前后部項集,得出針對用戶需求的頻繁項集和關(guān)聯(lián)規(guī)則。本文利用計算機爬蟲在網(wǎng)上抓取的商品價格數(shù)據(jù),以Apriori算法建立單維和二維商品價格關(guān)聯(lián)規(guī)則模型,挖掘出同時滿足最小支持度和最小置信度的強關(guān)聯(lián)規(guī)則,并對比分析單維和二維關(guān)聯(lián)規(guī)則結(jié)果,由此對商品進行分類,利用分類結(jié)果對同類或相關(guān)度高的商品進行價格預(yù)測。
1關(guān)聯(lián)規(guī)則理論
1.1關(guān)聯(lián)規(guī)則挖掘原理
數(shù)據(jù)挖掘是指運用某一種方法分析數(shù)據(jù),從中得到一些潛在的有用的信息,又稱知識發(fā)現(xiàn)。關(guān)聯(lián)規(guī)則挖掘是數(shù)據(jù)挖掘的重要方法,是從大量數(shù)據(jù)中挖掘出事物之間可能存在的某種關(guān)聯(lián)或聯(lián)系,最著名的案例就是啤酒與尿布的故事。關(guān)聯(lián)規(guī)則可以定義為:假設(shè)給定一個交易數(shù)據(jù)集T,T由n個不同項目P和m個不同交易天數(shù)組成。如果有X→Y,就說X→Y是一條關(guān)聯(lián)規(guī)則。其中XP,YP,X是關(guān)聯(lián)規(guī)則的前件,Y是關(guān)聯(lián)規(guī)則的后件。在關(guān)聯(lián)規(guī)則挖掘過程中,需要先設(shè)置最小支持度和最小置信度,將滿足條件的規(guī)則提取出來形成有價值的信息。挖掘工作分為兩個步驟:①生成頻繁項集:找出滿足最小支持度的頻繁項集;②生成關(guān)聯(lián)規(guī)則:從頻繁項集中生成滿足最小置信度的關(guān)聯(lián)規(guī)則。
1.2關(guān)聯(lián)規(guī)則衡量指標(biāo)
關(guān)聯(lián)規(guī)則分析中的指標(biāo)主要有支持度(Support)和置信度(Confidence)。支持度揭示X和Y同時出現(xiàn)的概率,置信度揭示X出現(xiàn)時,Y是否一定會出現(xiàn)。計算公式分別如式(1)和式(2)所示。
Supp(X→Y)=P(X∩Y)(1)
Conf(X→Y)=P(YX)=P(Y∩X)P(X)(2)
式(1)中P(X∩Y)代表支持度,式(2)中P(Y|X)代表置信度。對比式(1)和式(2),發(fā)現(xiàn)任何一條關(guān)聯(lián)規(guī)則都是Conf(X→Y)≥(Supp(X→Y)。需要注意的是:支持度和置信度只是兩個參考值,并非絕對。一條關(guān)聯(lián)規(guī)則的支持度表示這條規(guī)則的可能性大小,如果一個規(guī)則支持度很小,表明它在交易集合中覆蓋范圍很小,很有可能是偶然發(fā)生的;若置信度很低,則表明很難根據(jù)X推出Y。若一條關(guān)聯(lián)規(guī)則的支持度和置信度都很高,不代表這個規(guī)則之間就一定存在某種關(guān)聯(lián)。
1.3Apriori算法
Apriori算法不僅可用來比較和評價其它算法性能,還可用來挖掘關(guān)聯(lián)規(guī)則。主要思想是:假設(shè)存在某個項目集滿足用戶設(shè)定的支持度,那么該項目集稱為頻繁項目集。反之,稱為非頻繁項目集,它的非空子集也是非頻繁項目集。同理,頻繁項目集的非空子集也是頻繁項目集。Apriori算法通過從低級到高級的方式向項目集進行逐層搜索,找出所有的頻繁項目集。
2商品價格關(guān)聯(lián)規(guī)則模型構(gòu)建
2.1商品價格數(shù)據(jù)預(yù)處理
本文隨機選擇160種不同商品進行關(guān)聯(lián)規(guī)則挖掘,利用Apriori算法分析不同商品價格之間的關(guān)聯(lián)關(guān)系。商品價格數(shù)據(jù)長度為2013年11月20日至2015年11月20日共730天的價格數(shù)據(jù),要求輸入數(shù)據(jù)的維度相同,但筆者獲取的數(shù)據(jù)存在一定的遺漏問題。為了解決維度不相同問題,需要在預(yù)處理時對數(shù)據(jù)進行補齊,補齊方法為將無價格的時間用上一日時間代替,如缺少2014年12月2日的價格則用2014年12月1日的價格代替。補齊數(shù)據(jù)后還要進一步處理成交易數(shù)據(jù)集。
商品價格間的關(guān)聯(lián)關(guān)系表現(xiàn)為:當(dāng)Y商品跟隨X商品的價格變化時(正向變化或逆向變化),XY商品存在一定關(guān)聯(lián)關(guān)系。因此,模型首先把商品的價格數(shù)據(jù)改成漲跌數(shù)據(jù),用當(dāng)天商品價格與昨日價格數(shù)據(jù)比較。若當(dāng)日價格高,則為上漲,標(biāo)記為1;不變則標(biāo)記為0;下跌則標(biāo)記為-1。
2.2模型實現(xiàn)
數(shù)據(jù)預(yù)處理后,需要設(shè)置最小支持度和置信度。經(jīng)過數(shù)次調(diào)整后,確定了關(guān)聯(lián)規(guī)則模型支持度和置信度。其中,設(shè)定單維關(guān)聯(lián)規(guī)模的最小支持度為0.05,最小置信度為0.8;二維關(guān)聯(lián)規(guī)則模型的最小支持度為0.15,最小置信度為0.8。計算完成后發(fā)現(xiàn),商品在大多數(shù)時間價格不變,而人們關(guān)心的是商品價格波動,所以在篩選關(guān)聯(lián)規(guī)則時,將商品價格不變的規(guī)則刪去,再根據(jù)運行結(jié)果對商品進行分類。為獲取更多信息,模型計算時保留價格不變的數(shù)據(jù),以保持?jǐn)?shù)據(jù)的完整性。在過濾掉多余的規(guī)則(如商品價格不變的規(guī)則)后,便可根據(jù)結(jié)果對商品進行分類,運用分析得出的結(jié)果進行價格預(yù)測。endprint
3商品價格關(guān)聯(lián)規(guī)則分類結(jié)果
3.1商品數(shù)據(jù)的單維關(guān)聯(lián)規(guī)則結(jié)果
設(shè)置最小支持度為0.05,最小置信度為0.8,建立商品價格的單維關(guān)聯(lián)規(guī)則模型,結(jié)果如表1所示。由表1中的商品關(guān)聯(lián)規(guī)則結(jié)果可知,維生素A上升→維生素C上升,維生素A下降→維生素E下降,說明維生素A、維生素C和維生素E三者之間的關(guān)聯(lián)緊密。另外,從醋酸丁酯下降→醋酸乙酯下降、滌綸FDY下降→滌綸POY下降兩條關(guān)聯(lián)規(guī)則可知,醋酸丁酯和醋酸乙酯、滌綸FDY和滌綸POY這兩對商品各自關(guān)聯(lián)緊密。
較為意外的規(guī)則是:丁二烯下降→鍍鋅板下降,鈷業(yè)下降→鍍鋅板下降,兩者的支持度和置信度也頗高。進一步調(diào)查發(fā)現(xiàn),丁二烯可作為制造鍍鋅板的防腐層涂料,所以不難理解其關(guān)聯(lián)性,但是否就此歸類還需進一步分析。至于鈷業(yè)和鍍鋅板二者存在什么關(guān)系,需要收集更多數(shù)據(jù)加以驗證。
此外,其它關(guān)聯(lián)規(guī)則支持度,如“多晶硅上升→維生素E下降”和“黨參上升→冷軋板下降”兩個關(guān)聯(lián)規(guī)則的支持度相對較小,進一步研究發(fā)現(xiàn)從2013年11月20日到2015年11月20日維生素E和冷軋板的價格基本上一直在下降,這種單邊走勢容易產(chǎn)生偽關(guān)聯(lián)規(guī)則,導(dǎo)致用戶得到錯誤結(jié)論。存在類似問題的規(guī)則還有六氟丙烯下降→維生素E下降和木糖醇下降→維生素E下降,防止類似問題的發(fā)生可通過對更長的價格數(shù)據(jù)進行關(guān)聯(lián)分析。
3.2商品數(shù)據(jù)的二維關(guān)聯(lián)規(guī)則結(jié)果
計算完單維關(guān)聯(lián)規(guī)則后,將最小支持度調(diào)整為0.15,進行二維關(guān)聯(lián)規(guī)則挖掘,以提取出更有價值的規(guī)則。為了避免得到與單維關(guān)聯(lián)規(guī)則前件和后件相同的二維關(guān)聯(lián)規(guī)則,將二維關(guān)聯(lián)規(guī)則中的前件和后件同時存在的規(guī)則刪去。例如:存在規(guī)則{維生素A上升,大豆上升}→{維生素C上升},因該規(guī)則中的前件“維生素A上升”和后件“維生素C上升”同時出現(xiàn)在表1的規(guī)則中,可刪去。根據(jù)這一篩選原則,提取出滿足最小支持度和最小置信度的二維關(guān)聯(lián)規(guī)則,結(jié)果如表2所示。由表2可知,在進行二維關(guān)聯(lián)規(guī)則挖掘后,發(fā)現(xiàn)多條二維關(guān)聯(lián)規(guī)則中同時包含黃金和白銀或螺紋鋼和熱軋卷或鋁業(yè)、銅業(yè)、鎳業(yè)和鉛業(yè)。因此可認(rèn)為金銀產(chǎn)品、螺紋鋼和熱軋卷及鋁業(yè)、銅業(yè)、鎳業(yè)和鉛業(yè)這3類商品分別有著各自的關(guān)聯(lián)性。
4結(jié)語
本文基于關(guān)聯(lián)規(guī)則Apriori算法,分別建立了單維和二維商品價格關(guān)聯(lián)規(guī)則模型,并對隨機選取的160種商品價格數(shù)據(jù)進行分析。單維模型結(jié)果分析,可將維生素A、維生素C和維生素E,醋酸丁酯和醋酸乙酯,滌綸FDY和滌綸POY分為3類商品;二維模型結(jié)果分析,可將金銀產(chǎn)品、螺紋鋼和熱軋卷及鋁業(yè)、銅業(yè)、鎳業(yè)和鉛業(yè)分為3類商品。通過對比還發(fā)現(xiàn),二維關(guān)聯(lián)規(guī)則的模型結(jié)果包含了一維關(guān)聯(lián)規(guī)則結(jié)果,說明通過建立多維關(guān)聯(lián)規(guī)則模型,可挖掘出更多符合條件的關(guān)聯(lián)規(guī)則。
在今后的研究工作中,要繼續(xù)優(yōu)化模型,提出更合理的商品價格關(guān)聯(lián)模型,對更多商品進行正確分類。
參考文獻(xiàn)參考文獻(xiàn):
[1]AGRAWAL, RAKESH. Mining association rules between sets of items in large databases[J].ACM SIGMOD Record,1993,22(2):207216.
[2]AGRAWAL, RAKESH, SRIKANT,et al. Fast algorithms for ming association rulers[M]. Readings in database systems, Morgan Kaufmann Publishers Inc,1998.
[3]NICOLAS PASQUIER, YVES, YVES BASTIDE, et al. Efficient mining of association rules using closed itemset lattices[J]. Information Systems,1999,24(1):2546.
[4]HAN JIAWEI, PEI JIAN,YIN YIWEN. Mining frequent patterns without candidate generation[C].Proc of the ACM SIGMOD International Conference on Management of Data. New York,NY:ACM,2000:112.
[5]楊剛.基于數(shù)據(jù)挖掘的房地產(chǎn)價格分析預(yù)測研究[D].南昌:南昌大學(xué),2014.
[6]劉智勇.關(guān)聯(lián)規(guī)則挖掘的并行化算法研究[D].南京:東南大學(xué),2016.
[7]孟月昊,王朝霞,郭宇棟.基于規(guī)則前后部約束的關(guān)聯(lián)規(guī)則挖掘算法[J].后勤工程學(xué)院學(xué)報,2017(5):125128.
責(zé)任編輯(責(zé)任編輯:杜能鋼)endprint