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