專(zhuān)利名稱(chēng):基于時(shí)序向量差異序列法聚類(lèi)的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在數(shù)據(jù)挖掘領(lǐng)域發(fā)現(xiàn)時(shí)間序列的周期關(guān)聯(lián)規(guī)則的一種算法;具體涉及一類(lèi)基于時(shí)態(tài)約束的各屬性狀態(tài)之間的周期時(shí)態(tài)關(guān)聯(lián)規(guī)則問(wèn)題,適用于發(fā)展有限個(gè)屬性之間的狀態(tài)周期性地按時(shí)間的關(guān)聯(lián)性的問(wèn)題。定義了等價(jià)事件映射、非相同屬性和相同屬性的時(shí)態(tài)關(guān)聯(lián)規(guī)則,通過(guò)計(jì)算支持率和可信度確定時(shí)態(tài)關(guān)聯(lián)規(guī)則的提取。確定時(shí)態(tài)關(guān)聯(lián)規(guī)則的有效性的同時(shí)給出了發(fā)掘時(shí)間序列的周期關(guān)聯(lián)規(guī)則的算法主要步驟。
背景技術(shù):
在現(xiàn)實(shí)世界中的變化都以時(shí)間因素密不可分,所以研究現(xiàn)實(shí)世界數(shù)據(jù)中時(shí)態(tài)數(shù)據(jù)的周期性關(guān)聯(lián)規(guī)則對(duì)于完成周期性經(jīng)濟(jì)規(guī)律的發(fā)現(xiàn)和預(yù)測(cè)、自然災(zāi)害預(yù)防等大多數(shù)領(lǐng)域可以幫助人類(lèi)進(jìn)行正確決策有著重大而深遠(yuǎn)的意義。
關(guān)于時(shí)間區(qū)域內(nèi)周期關(guān)聯(lián)規(guī)則的研究目前在國(guó)內(nèi)外處于初期起步階段。例如歐陽(yáng)為民[1]提出的發(fā)現(xiàn)具有時(shí)態(tài)約束的關(guān)聯(lián)規(guī)則,但對(duì)周期關(guān)聯(lián)規(guī)則沒(méi)有論述。在OzdenB的《CyclicAssociation Rules》[2]中提出的周期關(guān)聯(lián)規(guī)則時(shí)間是人為確定的,用戶(hù)憑經(jīng)驗(yàn)給定一個(gè)時(shí)間單位和周期長(zhǎng)度(為時(shí)間單位的整數(shù)倍),并由此將數(shù)據(jù)劃分到若干長(zhǎng)度相同的時(shí)間段,然后根據(jù)這些時(shí)間段中存在的事務(wù)求解周期性關(guān)聯(lián)規(guī)則。這往往會(huì)造成時(shí)間段的劃分不十分準(zhǔn)確,更有可能會(huì)漏掉一些周期性關(guān)聯(lián)規(guī)則。例如,設(shè)時(shí)間單位為1小時(shí),周期長(zhǎng)度為24小時(shí),對(duì)于周期性關(guān)聯(lián)規(guī)則牛奶→面包(7AM~8AM),若牛奶→面包的主要分布的時(shí)間段為(6:45AM~7:20AM),則可能不成立。這樣“在每天的6:45AM~7:20AM時(shí)間范圍內(nèi)購(gòu)買(mǎi)牛奶的客戶(hù)也會(huì)購(gòu)買(mǎi)面包”的關(guān)聯(lián)規(guī)則將不能夠發(fā)現(xiàn)。還有黃益民的《經(jīng)常性周期關(guān)聯(lián)規(guī)則的研究》[3]主要是對(duì)OzdenB的《Cyclic Association Rules》文中算法的改進(jìn)。
目前已有的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法存在的問(wèn)題主要有 問(wèn)題一時(shí)域數(shù)據(jù)特征點(diǎn)的選擇 針對(duì)OzdenB的《Cyclic Association Rules》[2]文中的問(wèn)題徐敏提出的一種新的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)模型[4][5],通過(guò)聚類(lèi)分析將一個(gè)周期分為長(zhǎng)度不同的時(shí)間段,從而可以更準(zhǔn)確的發(fā)現(xiàn)周期關(guān)聯(lián)規(guī)則。但這種周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)模型選擇每一時(shí)刻發(fā)生的事務(wù)數(shù)目為時(shí)域數(shù)據(jù)特征點(diǎn)進(jìn)行聚類(lèi),其聚類(lèi)是針對(duì)事務(wù)進(jìn)行的,而項(xiàng)目自身有自己分布規(guī)律,這種聚類(lèi)方式并不能反映單個(gè)項(xiàng)目的規(guī)律,它存在問(wèn)題是我們以一個(gè)例子來(lái)說(shuō)明,對(duì)于一段時(shí)間,每一天0點(diǎn)到14點(diǎn)的情況都如圖1所示,例如以文[4][5]中按每一時(shí)刻發(fā)生的事務(wù)數(shù)量聚類(lèi)在時(shí)間區(qū)域1-5、6-12每一刻發(fā)生的事務(wù)數(shù)可以分別聚為一類(lèi)。按每一時(shí)刻發(fā)生的項(xiàng)目數(shù)量聚類(lèi)在時(shí)間區(qū)域3-8每一刻項(xiàng)目A發(fā)生的數(shù)目(包含項(xiàng)目A的事務(wù)數(shù)目)可聚為一類(lèi)。時(shí)間區(qū)域3-8,項(xiàng)目A支持度≈15*5/25*2+(25+20)/2+20*2≈66%,時(shí)間區(qū)域1-5,項(xiàng)目A支持度≈2.5+(2.5+15)/2+15*2/25*4≈41.3%,時(shí)間區(qū)域6-12,項(xiàng)目A支持度≈15*2+(15+2.5)/2+2.5*3/20*6≈38.6%。如果最小支持度是54%,按文[4][5]中聚類(lèi)方法無(wú)法發(fā)現(xiàn)項(xiàng)目A是頻繁的,然而按每一時(shí)刻發(fā)生的項(xiàng)目數(shù)量聚類(lèi)可發(fā)現(xiàn)項(xiàng)目A是頻繁的。
雖然按每一時(shí)刻發(fā)生的項(xiàng)目數(shù)量聚類(lèi)例如文[21]可以解決文[4][5]的問(wèn)題,但是它還是存在一定的問(wèn)題。因?yàn)榘疵恳粫r(shí)刻發(fā)生的項(xiàng)目數(shù)量聚類(lèi)只考慮了項(xiàng)目在每一時(shí)刻發(fā)生的項(xiàng)目數(shù),而忽略了每一時(shí)刻發(fā)生的總的事務(wù)數(shù)。在兩個(gè)時(shí)刻的項(xiàng)目數(shù)雖然相同,但有可能兩個(gè)時(shí)刻的總事務(wù)數(shù)不相同而導(dǎo)致兩個(gè)時(shí)刻的項(xiàng)目支持度不同。然而只有每一時(shí)刻的項(xiàng)目支持度才能真正反映和決定項(xiàng)目是否是頻繁的。所以按項(xiàng)目聚類(lèi)只片面的考慮了項(xiàng)目在每一時(shí)刻發(fā)生的項(xiàng)目數(shù),并不能反映每一時(shí)刻項(xiàng)目支持度的內(nèi)在規(guī)律。所以我們?nèi)匀灰詧D一中實(shí)例情況來(lái)說(shuō)明這個(gè)問(wèn)題。如圖一,因?yàn)榘疵恳粫r(shí)刻發(fā)生的項(xiàng)目數(shù)量聚類(lèi)3-8是一類(lèi),如果最小支持度變化為72%,這樣一種情況下,3-8的項(xiàng)目A不是頻繁的。但是如果按在每一時(shí)刻包含項(xiàng)目的事務(wù)數(shù)目與該時(shí)刻發(fā)生總的事務(wù)數(shù)的比值(項(xiàng)目A在每一時(shí)刻的支持度)進(jìn)行聚類(lèi)的方法6-8時(shí)間段每一刻項(xiàng)目A發(fā)生的數(shù)目與每一刻總事務(wù)數(shù)的比值可以聚為一類(lèi),其項(xiàng)目A支持度略等于75%,所以6-8時(shí)間段的項(xiàng)目A是頻繁的。然而按照每一時(shí)刻項(xiàng)目支持度進(jìn)行聚類(lèi)將發(fā)現(xiàn)6-8時(shí)間段的頻繁項(xiàng)目A。按每一時(shí)刻發(fā)生的項(xiàng)目數(shù)量聚類(lèi)將漏掉6-8時(shí)間段的頻繁項(xiàng)目。
所以本發(fā)明采用對(duì)每一時(shí)刻發(fā)生的項(xiàng)目支持度來(lái)聚類(lèi)的CMDSA算法,當(dāng)然在每一時(shí)刻發(fā)生的不止上例中的一個(gè)項(xiàng)目A,有很多種項(xiàng)目發(fā)生。所以在每一時(shí)刻我們可以將每一種項(xiàng)目的支持度作為一個(gè)向量的一維分量,所有項(xiàng)目在該時(shí)刻的支持度就形成一個(gè)時(shí)序向量,對(duì)這個(gè)時(shí)序向量聚類(lèi)即可。
問(wèn)題二周期時(shí)間區(qū)域分段數(shù)目的確定 文[2][4][5]還存在另一個(gè)問(wèn)題,將一個(gè)周期分成多少個(gè)時(shí)間段是人為確定的。雖然文[4][5]的周期性關(guān)聯(lián)規(guī)則模型時(shí)間段的長(zhǎng)度根據(jù)事務(wù)發(fā)生數(shù)目的集中度自動(dòng)聚類(lèi)求出,但是它的聚類(lèi)是在人為確定了聚類(lèi)個(gè)數(shù)前提下使用Fisher算法獲得的最佳聚類(lèi)。這就忽略了判斷聚類(lèi)效果的另一個(gè)指標(biāo)聚類(lèi)個(gè)數(shù),然而聚類(lèi)個(gè)數(shù)的選擇要根據(jù)具體數(shù)據(jù)的實(shí)際情況來(lái)判定,而不是人為規(guī)定,只有通過(guò)聚類(lèi)有效性函數(shù)[11][12][13]根據(jù)具體數(shù)據(jù)的實(shí)際情況來(lái)判斷聚類(lèi)個(gè)數(shù),才能更真實(shí)的反映實(shí)際數(shù)據(jù)的變化情況,達(dá)到最理想的聚類(lèi)效果。在本發(fā)明中采用DB Index準(zhǔn)則[9][19]來(lái)判斷聚類(lèi)的有效性,確定最佳聚類(lèi)個(gè)數(shù)。
問(wèn)題三發(fā)現(xiàn)周期關(guān)聯(lián)規(guī)則基礎(chǔ)算法的選擇 文[2][3][4][5][21]周期關(guān)聯(lián)規(guī)則算法都基于A(yíng)priori算法[6],還有文[1]帶有時(shí)態(tài)約束的關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法和文[18]的部分周期模式的挖掘算法也基于A(yíng)priori算法[6],他們都存在著處理的候選項(xiàng)集十分大,模式和數(shù)據(jù)庫(kù)事務(wù)搜索匹配將耗費(fèi)大量的時(shí)間,資源耗用高,運(yùn)行效率不高等問(wèn)題。所以本發(fā)明用FP-tree替換Apriori。
發(fā)明內(nèi)容
本發(fā)明提出的-基于時(shí)序向量差異序列法[7]聚類(lèi)的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法(CARDSATSV)由兩部分組成CMDSA和CFP-tree。首先CMDSA對(duì)由項(xiàng)目支持度組成的時(shí)序向量采用基于差異序列法[7]和DB Index準(zhǔn)則[9][19]的聚類(lèi)來(lái)動(dòng)態(tài)的確定周期內(nèi)的關(guān)聯(lián)規(guī)則的各個(gè)時(shí)間區(qū)域,用DB Index準(zhǔn)則[9][19]來(lái)控制聚類(lèi)個(gè)數(shù)以達(dá)到最佳的聚類(lèi)效果。CMDSA針對(duì)問(wèn)題一和問(wèn)題二中提到的問(wèn)題,最大限度發(fā)現(xiàn)有用的關(guān)聯(lián)規(guī)則。然后針對(duì)問(wèn)題三,CFP-tree對(duì)周期中各個(gè)時(shí)間區(qū)域上的事務(wù)數(shù)據(jù)庫(kù)采用基于Fp-tree[8][16]的方法進(jìn)行周期性關(guān)聯(lián)規(guī)則的發(fā)現(xiàn)。利用FP-tree明顯優(yōu)于A(yíng)priori算法的特點(diǎn),CFP-tree采用基于條件FP-tree的周期性剪裁技術(shù)大幅度提高了算法效率,在理論和實(shí)驗(yàn)說(shuō)明了基于Fp-tree的周期關(guān)聯(lián)規(guī)則算法CFP-tree在時(shí)空效率上遠(yuǎn)遠(yuǎn)優(yōu)于基于A(yíng)priori的周期關(guān)聯(lián)規(guī)則算法。
圖1周期關(guān)聯(lián)規(guī)則的問(wèn)題分析舉例 圖2在第一周期時(shí)間段[sj,ej]中頻繁項(xiàng)目集生成樹(shù) 圖3時(shí)間段[sj,ej]中周期頻繁項(xiàng)目集生成樹(shù) 圖4CARDSATSV和文[4][5]中周期性關(guān)聯(lián)規(guī)則模型發(fā)現(xiàn)有用周期頻繁項(xiàng)目集數(shù)量的比較 圖5當(dāng)T=30天思路二和思路三的運(yùn)行時(shí)間比較 圖6當(dāng)T=30天思路二和思路三的運(yùn)行時(shí)間比較 圖7T=30天CARDSATSV和基于A(yíng)priori的周期關(guān)聯(lián)規(guī)則算法在不同最小支持度下運(yùn)行時(shí)間的比較 具體實(shí)施例方式 (1)時(shí)域數(shù)據(jù)的相關(guān)基本概念和性質(zhì) 定義1(時(shí)域數(shù)據(jù)).時(shí)域數(shù)據(jù)指帶有時(shí)間屬性的事務(wù)集。設(shè)整個(gè)事務(wù)集時(shí)間區(qū)域?yàn)門(mén),可以將T表示為T(mén)=∪Ti;Ti∩Tj=0;|Tj|=|Ti|其中i≠j;i,j=1,2,...,n|Ti|表示Ti的時(shí)間長(zhǎng)度。這里稱(chēng)|Ti|為一個(gè)周期長(zhǎng)度,Ti為第i個(gè)周期,|Ti|長(zhǎng)度是用戶(hù)定義的,如1年,1月或1周。本發(fā)明的目標(biāo)是找到在所有周期Ti中的某段時(shí)間內(nèi)某些頻繁項(xiàng)目之間的關(guān)聯(lián)關(guān)系。
定義2(時(shí)序向量).按時(shí)間順序取得的一系列觀(guān)測(cè)值,每一個(gè)觀(guān)測(cè)值是一個(gè)n維的向量,這些帶有時(shí)間屬性的向量稱(chēng)為時(shí)序向量。
時(shí)序向量組成的時(shí)序向量序列是一種時(shí)間序列(時(shí)間序列相關(guān)概念見(jiàn)文[17]),下面是時(shí)序向量的相關(guān)符號(hào)表示 1)由時(shí)序向量組成的時(shí)序向量序列表示為E={ei|i=1,...,m}。
2)其中時(shí)序向量ei=<x1,...,xn>,ei是n維向量。在本發(fā)明中每一時(shí)刻發(fā)生的每一個(gè)項(xiàng)目的支持度構(gòu)成ei的每一維分量,ei的每一維分量取值范圍是閉區(qū)間
中所有實(shí)數(shù)。
3)Lend(E)=m表示時(shí)序向量序列長(zhǎng)度,即E中向量個(gè)數(shù)。
4)Time(E)表示時(shí)序向量序列E經(jīng)歷的時(shí)間跨度,即E的最后一個(gè)元素的時(shí)刻和第一個(gè)元素時(shí)刻的時(shí)間間隔。
5)本發(fā)明中定義時(shí)序向量序列E中任意兩個(gè)時(shí)序向量之間的時(shí)間間隔相等,Granularity(E)稱(chēng)為時(shí)間粒度,表示時(shí)序向量序列E中兩個(gè)元素間時(shí)間間隔。
6)Es表示E的子序列。如果E中兩個(gè)子序列Es1和Es1之間沒(méi)有相同元素則稱(chēng)Es1和Es1不重疊。
定義3(周期項(xiàng)目集).周期項(xiàng)目集也是項(xiàng)目集,它在項(xiàng)目集的定義基礎(chǔ)上增加了項(xiàng)目集的周期性屬性定義,設(shè)一個(gè)關(guān)于項(xiàng)目集X的周期項(xiàng)目集表達(dá)式為X[C,si,ei,sX]。C為周期時(shí)間長(zhǎng)度,si,ei為周期中第i個(gè)時(shí)間段的起點(diǎn)和終點(diǎn);sX稱(chēng)為周期項(xiàng)目集X[C,si,ei,sX]在所有周期中第i個(gè)時(shí)間區(qū)域[si,ei]內(nèi)的周期性支持度。具體其中rti表示周期項(xiàng)目集X[C,si,ei,sX]在第t個(gè)周期的第i個(gè)時(shí)間段[si,ei]區(qū)域內(nèi)包含X的事務(wù)數(shù)目與時(shí)間段[si,ei]區(qū)域內(nèi)中所有事務(wù)數(shù)目的比值,即項(xiàng)目集X在[si,ei]的支持度。在所有n個(gè)周期的第i個(gè)時(shí)間段[si,ei]中,有sX=min{r1i,r2i,...,rni}。
定義4(周期頻繁項(xiàng)目集).周期項(xiàng)目集X[C,si,ei,sX]在所有n個(gè)周期的第i個(gè)時(shí)間段[si,ei]中,若sX>=smin則稱(chēng)X[C,s1,ei,sX]為周期頻繁項(xiàng)目集。其中smin是最小支持度閥值。
定義5(一般周期頻繁項(xiàng)目集).當(dāng)整個(gè)事務(wù)集時(shí)間區(qū)域T→∞,周期個(gè)數(shù)n→∞,若在每個(gè)周期的時(shí)間段[si,ei]中的周期項(xiàng)目集X[C,si,ei,sX]的周期性支持度sX>=smin則稱(chēng)周期項(xiàng)目集X[C,si,ei,sX]為一般周期頻繁項(xiàng)目集。
定義6(周期關(guān)聯(lián)規(guī)則).周期關(guān)聯(lián)規(guī)則是如下一個(gè)蘊(yùn)涵式X->Y[C,si,ei,sX->Y,cX->Y]。其中X,Y為周期項(xiàng)目集;C為周期時(shí)間長(zhǎng)度,si,ei為周期中第i個(gè)時(shí)間段起點(diǎn)和終點(diǎn);sX->Y,cX->Y稱(chēng)為X->Y[C,si,ei,sX->Y,cX->Y]在所有周期第i個(gè)時(shí)間區(qū)域[si,ei]內(nèi)周期性支持度和周期性可信度。其中sti表示X->Y[C,si,ei,sX->Y,cX->Y]在第t個(gè)周期的第i個(gè)時(shí)間段[si,ei]區(qū)域內(nèi)包含X∪Y的事務(wù)數(shù)目與時(shí)間段[si,ei]區(qū)域內(nèi)中所有事務(wù)數(shù)目的比值,cti表示X->Y在第t個(gè)周期的第i個(gè)時(shí)間段[si,ei]區(qū)域內(nèi)包含X∪Y的事務(wù)數(shù)目與包含X的事務(wù)數(shù)目的比值。在所有n個(gè)周期的第i個(gè)時(shí)間段[si,ei]中,有sX->Y=min{s1i,s2i,...,sni},cX->Y=min{c1i,c2i,...,cni}。
定義7(強(qiáng)周期關(guān)聯(lián)規(guī)則和弱周期關(guān)聯(lián)規(guī)則).對(duì)于周期關(guān)聯(lián)規(guī)則X->Y[C,si,ei,sX->Y,cX->Y],在所有n個(gè)周期中的第i時(shí)間段[si,ei]中,若sX->Y>=smin且cX->Y>=cmin,則稱(chēng)周期關(guān)聯(lián)規(guī)則X->Y[C,si,ei,sX->Y,cX->Y]為強(qiáng)周期關(guān)聯(lián)規(guī)則。在所有n個(gè)周期中的第i個(gè)時(shí)間段[si,ei]中的至少一個(gè)周期時(shí)間段[si,ei]中,若sX->Y>s=min且cX->Y>=cmin,則稱(chēng)周期關(guān)聯(lián)規(guī)則X->Y[C,si,ei,sX->Y,cX->Y]為弱周期關(guān)聯(lián)規(guī)則。其中smin和cmin是為挖掘有效的關(guān)聯(lián)規(guī)則所定義的最小支持度和最小可信度。
性質(zhì)1.由定義5可知道,任意一個(gè)周期頻繁項(xiàng)目集A的所有子集在所有周期中A所在的時(shí)間區(qū)域中都是周期頻繁項(xiàng)目集。
定理1.任何一個(gè)周期頻繁項(xiàng)目集X[C,si,ei,sX],(設(shè)X[C,si,ei,sX]在時(shí)間段[si,ei]中周期頻繁項(xiàng)目集),則在每一個(gè)周期的對(duì)應(yīng)時(shí)間段[si,ei]中至少有一個(gè)頻繁項(xiàng)目集Y包含X[C,si,ei,sX],即X[C,s1,e1,sX]Y。
證明在每一個(gè)周期的對(duì)應(yīng)時(shí)間段[si,ei]中至少可以讓項(xiàng)目集Y取值為項(xiàng)目集X,由定義3知道X[C,si,ei,sX]的周期性支持度sX是每一個(gè)周期的對(duì)應(yīng)時(shí)間段[si,ei]中的項(xiàng)目集X支持度的最小值,∴Y的支持度大于sX,又∵X[C,si,ei,sX]周期頻繁項(xiàng)目集,由定義4知道sX>=smin,∴項(xiàng)目集Y是頻繁項(xiàng)目集,結(jié)論成立。
性質(zhì)2.當(dāng)整個(gè)事務(wù)集時(shí)間區(qū)域T不斷增大時(shí)(即周期個(gè)數(shù)不斷增大時(shí)),在T中發(fā)現(xiàn)的周期頻繁項(xiàng)目集趨近于一般周期頻繁項(xiàng)目集,兩者的差距趨近于0。當(dāng)T為無(wú)窮大時(shí),在T中發(fā)現(xiàn)的周期頻繁項(xiàng)目集等于一般周期頻繁項(xiàng)目集,兩者的差距等于0。從更深一層次理解,整個(gè)事務(wù)集時(shí)間區(qū)域T跨度越大,所發(fā)現(xiàn)的周期關(guān)聯(lián)規(guī)則更具抽象性、一般性、普遍性。
(2)基于差異序列法和DB Index準(zhǔn)則的時(shí)序向量的聚類(lèi)算法(CMDSA) 在第一周期進(jìn)行一次聚類(lèi),確定周期內(nèi)的關(guān)聯(lián)規(guī)則的各個(gè)時(shí)間區(qū)域,以后其他周期的時(shí)間區(qū)域也按此劃分。
整個(gè)事務(wù)集時(shí)間區(qū)域T來(lái)說(shuō)有多個(gè)周期,由于每個(gè)周期發(fā)生的事務(wù)不一樣,所以每一個(gè)周期進(jìn)行聚類(lèi)得到的時(shí)間段劃分必然不一樣。例如T中有3個(gè)周期,第一個(gè)周期經(jīng)過(guò)聚類(lèi)后,8:30-9:30事務(wù)聚為一類(lèi),8:30-9:30中存在頻繁項(xiàng)目集A,第二個(gè)周期經(jīng)過(guò)聚類(lèi)后,8:50-9:50事務(wù)聚為一類(lèi),8:50-9:50中存在頻繁項(xiàng)目集A,第三個(gè)周期經(jīng)過(guò)聚類(lèi)后,9:00-10:00事務(wù)聚為一類(lèi),9:00-10:00中存在頻繁項(xiàng)目集A,那么周期頻繁項(xiàng)目集A必然存在于三個(gè)周期包含頻繁項(xiàng)目集A的時(shí)間段的交集9:00-9:30中。所以在T中的任意第i個(gè)周期中進(jìn)行聚類(lèi)得到的時(shí)間段劃分,由定理l可知按照這個(gè)時(shí)間段劃分在周期i中得到的所有頻繁項(xiàng)目集必然包含所有的周期頻繁項(xiàng)目集。所以只需要在某一個(gè)周期進(jìn)行一次聚類(lèi)(不妨在第一周期),確定周期內(nèi)的關(guān)聯(lián)規(guī)則的各個(gè)時(shí)間區(qū)域,然后在第一個(gè)周期找到該周期中的所有頻繁項(xiàng)目集,每一個(gè)頻繁項(xiàng)目集和其他周期對(duì)應(yīng)時(shí)間段的所有事務(wù)進(jìn)行比對(duì)(即經(jīng)過(guò)周期性剪裁),就可以找到所有周期頻繁項(xiàng)目集,進(jìn)而發(fā)現(xiàn)所有強(qiáng)周期關(guān)聯(lián)規(guī)則。
當(dāng)然我們可以在每一個(gè)周期中進(jìn)行聚類(lèi),再根據(jù)每一個(gè)周期各自不同的時(shí)間段找出適合于所有周期的時(shí)間劃分,但是有n個(gè)周期就要進(jìn)行n次聚類(lèi),隨著n的增加,計(jì)算開(kāi)銷(xiāo)和代價(jià)越大。這樣是不可取的。
聚類(lèi)的時(shí)域數(shù)據(jù)特征點(diǎn)選取文[4][5]的按每一時(shí)刻發(fā)生事務(wù)數(shù)目聚類(lèi)、按每一時(shí)刻發(fā)生項(xiàng)目數(shù)目聚類(lèi)和本發(fā)明由每一時(shí)刻發(fā)生項(xiàng)目的支持度組成的時(shí)序向量進(jìn)行聚類(lèi)都屬于對(duì)時(shí)域數(shù)據(jù)進(jìn)行聚類(lèi),只不過(guò)它們聚類(lèi)的對(duì)象--時(shí)域數(shù)據(jù)特征點(diǎn)選擇有所不同。文[4][5]選擇的是每一時(shí)刻發(fā)生的事務(wù)數(shù)目為時(shí)域數(shù)據(jù)特征點(diǎn),本發(fā)明選擇的是每一個(gè)項(xiàng)目在每一時(shí)刻包含該項(xiàng)目的事務(wù)發(fā)生數(shù)目與該時(shí)刻發(fā)生總的事務(wù)數(shù)的比值(發(fā)生項(xiàng)目的支持度)形成的時(shí)序向量為時(shí)域數(shù)據(jù)特征點(diǎn)。
本發(fā)明時(shí)域數(shù)據(jù)特征點(diǎn)具體定義如下 1)在一個(gè)周期中每一時(shí)刻發(fā)生的每一個(gè)項(xiàng)目的支持度(該時(shí)刻包含的該項(xiàng)目的事務(wù)數(shù)和該時(shí)刻總的事務(wù)數(shù)的比值)構(gòu)成時(shí)序向量ei的每一維分量,n維時(shí)序向量ei=<x1,...,xn>,ei的每一維分量取值范圍是閉區(qū)間
中所有實(shí)數(shù)。
2)那么由時(shí)序向量組成的時(shí)序向量序列表示為E={ei|i=1,...,m},其中時(shí)序向量序列長(zhǎng)度Lend(E)=m,Time(E)為一個(gè)周期,本發(fā)明中定義時(shí)序向量序列E中任意兩個(gè)時(shí)序向量之間的時(shí)間間隔相等,時(shí)間粒度Granularity(E)定值。
在本發(fā)明中CMDSA算法主要完成對(duì)第一周期中的時(shí)序向量序列E的聚類(lèi)。
時(shí)序向量聚類(lèi)前的工作開(kāi)始時(shí)序向量聚類(lèi)之前我們面臨這樣一個(gè)問(wèn)題將一個(gè)周期中的時(shí)序向量分成多少個(gè)類(lèi)可以得到最理想的聚類(lèi)結(jié)果。最理想的聚類(lèi)結(jié)果的判斷指標(biāo)是什么。換而言之聚類(lèi)結(jié)果達(dá)到什么判斷標(biāo)準(zhǔn)是最理想的。
聚類(lèi)有效性函數(shù)[11][12][13]要解決上述問(wèn)題需要聚類(lèi)有效性函數(shù)來(lái)控制聚類(lèi)個(gè)數(shù),這里我們采用DB Index準(zhǔn)則[9][19]來(lái)控制聚類(lèi)個(gè)數(shù)。在聚類(lèi)有效性的判斷規(guī)則中,類(lèi)內(nèi)離散度和類(lèi)間距離常被用來(lái)判斷聚類(lèi)的有效性,DB Index準(zhǔn)則[9][19]同時(shí)使用了類(lèi)內(nèi)離散度和類(lèi)間距離,在本發(fā)明中采用DB Index準(zhǔn)則作為分類(lèi)有效性的判斷準(zhǔn)則。DB Index準(zhǔn)則基本內(nèi)容如下 1)類(lèi)內(nèi)平均離散度,其中,Zi是Ci類(lèi)的類(lèi)中心;|Ci|表示Ci類(lèi)樣本數(shù)。
2)類(lèi)間距離dij=‖Zi-Zj‖,即用兩個(gè)類(lèi)中心的距離表示類(lèi)間距離。
3)DB Index,其中,k是分類(lèi)數(shù)目。
DB Index準(zhǔn)則是DBk的值越小,說(shuō)明分類(lèi)的效果越好。
優(yōu)化CMDSA算法-減少最佳聚類(lèi)個(gè)數(shù)copt的搜索范圍一個(gè)周期有n個(gè)時(shí)序向量e,可以讓聚類(lèi)個(gè)數(shù)c取值從2一直到n,運(yùn)用DB Index準(zhǔn)則和差異序列法確定最佳聚類(lèi)個(gè)數(shù)copt。那聚類(lèi)個(gè)數(shù)c的搜索范圍如果是從2到n,即2<=copt<=n。那么效率就存在問(wèn)題,當(dāng)n非常大時(shí),尋找copt的運(yùn)算代價(jià)是非常大的,所以我們需要減小copt的搜索范圍Cmax。對(duì)于如何確定Cmax很多研究者使用經(jīng)驗(yàn)規(guī)則,該規(guī)則在文[13]中提到。還有文獻(xiàn)[15]提到的規(guī)則cmax≤21nn。但是上述規(guī)則缺乏理論支持。文[14]給出一種確定Cmax的新方法,該新方法在理論上說(shuō)明了的有效性。文[14]討論了模糊聚類(lèi)最佳聚類(lèi)數(shù)范圍,主要討論模糊劃分,硬劃分屬于模糊劃分的一個(gè)特例,所以文[14]的理論同樣適用于本發(fā)明的硬聚類(lèi)。所以本發(fā)明根據(jù)文[14]采用規(guī)則我們確定copt的搜索范圍為2到
即確定。然后運(yùn)用DB Index準(zhǔn)則和差異序列法最終確定最佳聚類(lèi)個(gè)數(shù)copt。和cmax≤n相比,節(jié)約的運(yùn)算代價(jià)是非常巨大的,而且n越大和cmax≤n的運(yùn)算代價(jià)差距呈幾何級(jí)數(shù)增長(zhǎng)。
差異序列法[7]本發(fā)明中我們對(duì)第一個(gè)周期中每一個(gè)時(shí)刻的時(shí)序時(shí)序向量ei進(jìn)行聚類(lèi),這種帶有時(shí)間參數(shù)的向量屬于對(duì)有序樣品,我們可以考慮采用Fisher算法[10][20],文[4][5]對(duì)每一刻的事務(wù)數(shù)目聚類(lèi)用的就是Fisher算法[10][20],但是Fisher算法在計(jì)算每一類(lèi)的直徑時(shí),沒(méi)有考慮樣品的有序性。針對(duì)這種有序性我們采用差異序列法來(lái)對(duì)時(shí)序向量ei進(jìn)行聚類(lèi)。差異序列法不光考慮到了帶有時(shí)間參數(shù)的樣品的有序性,同時(shí)具有計(jì)算簡(jiǎn)單,結(jié)果直觀(guān)的特點(diǎn)。
差異序列法[7]相關(guān)概念設(shè)有m個(gè)有序樣品x1,x2,...xm,每一個(gè)樣品都有n個(gè)指標(biāo)觀(guān)測(cè)值,對(duì)第i個(gè)樣品xi,記作xi=(xi1,...xin)xij表示第i個(gè)樣品的第j個(gè)指標(biāo)觀(guān)測(cè)值,其中1<=i<=m,1<=j(luò)<=n。用非負(fù)數(shù)gi=g(xi,xi+1)表示第i個(gè)樣品xi和第i+1個(gè)樣品xi+1之間的差異,i=1,2,...m-1。.其中當(dāng)xi=xi+1時(shí),gi=g(xi,xi+1)=0。通常,可取gi為加權(quán)l(xiāng)p模i=1,2,...,m-1其中wj為權(quán),wj>=0。權(quán)wj的作用主要是消除不同指標(biāo)尺度的不同以及反映指標(biāo)的重要性。
概念1(差異序列).稱(chēng)gi=g(xi,xi+1)為第i個(gè)樣品與i+1個(gè)樣品的差異度,稱(chēng)(g1,g2,...,gm-1)為樣品的差異序列。
概念2(二次差異序列).(g1,g2,...,gm-1)的差異度hi=h(g1,gi+1)為樣品的二次差異度,通常取為hi=|g1-gi+1|,i=1,2,...,m-2,稱(chēng)(h1,h2,...,gm-2)為樣品的二次差異序列。
概念3(差異序列法).利用差異序列對(duì)有序樣品進(jìn)行分類(lèi)的方法,稱(chēng)為差異序列法。
概念4(k類(lèi)分割點(diǎn)).把有序樣品(x1,x2,...,xm)聚成k(1<k<m)類(lèi)的步驟是首先確定k-1整數(shù)點(diǎn)i1,...,ik-1。它們滿(mǎn)足1<=i1<=i2<=...<=ik-1然后把樣品聚成k類(lèi)(x1,...,xi1)(xi1+1,...,xi2+1)...(xik-2+1,...,xik-1)(xik-1+1,...,xm)稱(chēng)i1,...,ik-1為k類(lèi)分割點(diǎn)。
差異序列法[7]基本思想先考慮每一個(gè)樣品和它下一個(gè)樣品之間的差異度,然后從整體上考慮差異度,選擇出用于聚類(lèi)的分割點(diǎn)。在分割點(diǎn)處樣品由一類(lèi)變到另一類(lèi),因此在分割點(diǎn)處的樣品差異度應(yīng)該比較大;又由于樣品是隨機(jī)的,即使在同一類(lèi)里,樣品的差異也是不同的,但是,在分割點(diǎn)附近,樣品差異度變化應(yīng)該比較大,也即樣品的二次差異度應(yīng)該比較大,所以分成兩類(lèi)時(shí)二次差異度最大,三類(lèi)時(shí)次之。
差異序列法的步驟是先把樣品分成兩類(lèi),在此基礎(chǔ)上再把樣品分成三類(lèi),直到k類(lèi)。具體為首先確定2類(lèi)分割點(diǎn)i1。取(1<=l<=m-2)使。i1由下式確定
。(b)式的意義是,在l和l+1兩個(gè)點(diǎn)中取差異度大的點(diǎn)為分割點(diǎn)i1。如果l1和l2(l1≠l2)都滿(mǎn)足(a)式,當(dāng)max(gl1,gl1+1)>max(gl2,gl2+1)...............(c)時(shí),則由l1按照(b)式確定i1。當(dāng)2類(lèi)分割點(diǎn)i1確定后,就可把樣品(x1,x2,...,xm)分成兩類(lèi)(xl,...,xil)和(xil+1,...,xm)。在此基礎(chǔ)上,可把樣品分成三類(lèi)對(duì)以上兩類(lèi)分別求最大二次差異度(見(jiàn)(a)),對(duì)這兩個(gè)值中的最大值所在的類(lèi)按以上方法再分成兩類(lèi),這樣就把樣品分成了三類(lèi)。依此下去把樣品分成k類(lèi)。
基于差異序列法和DB Index準(zhǔn)則的時(shí)序向量的聚類(lèi)算法(CMDSA)差異序列法只是分類(lèi)無(wú)法判斷分多少類(lèi)達(dá)到最佳分類(lèi),所以還需DB INDEX準(zhǔn)則來(lái)判斷最佳分類(lèi)數(shù)。本發(fā)明結(jié)合兩者來(lái)對(duì)第一周期的時(shí)序向量序列E進(jìn)行聚類(lèi),確定時(shí)域數(shù)據(jù)特征點(diǎn)的分布規(guī)律,進(jìn)而確定周期內(nèi)的關(guān)聯(lián)規(guī)則的各個(gè)時(shí)間區(qū)域。
CMDSA算法 1)步驟1先計(jì)算在一個(gè)周期中擁有m個(gè)時(shí)序向量的時(shí)序向量序列E的m-1個(gè)差異度g[i],和m-2個(gè)二次差異度h[i],并形成相應(yīng)的差異度和次差異度數(shù)組。
2)步驟2因?yàn)闀r(shí)序向量序列E聚類(lèi)個(gè)數(shù)c取值由2到
,所以我們找到
個(gè)分割點(diǎn)即可。在二次差異度序列數(shù)組中先找到最大的二次差異度值h[i],然后確定相應(yīng)分割點(diǎn),然后在剩余h[i]中找最大的h[i],再確定相應(yīng)分割點(diǎn),如此類(lèi)推。為了避免重復(fù)掃描已找到的二次差異度值h[i],我們可以使用排序。找到最大的h[i]后讓它和二次差異度序列數(shù)組的第一個(gè)位置的h
互換,第二大h[i]和第二個(gè)位置的h[1]互換,直到第
大h[i]。
3)由于排序使每個(gè)h[i]的初始位置被打亂,要想找到h[i]后確定相應(yīng)的分割點(diǎn)位置,所以我們必須記錄下h[i]的初始位置,我們讓h[i]包含2個(gè)分量的結(jié)構(gòu)體變量,h[i].data是二次差異度大小值,h[i]的位置h[i].place存放了初始位置i。
4)步驟2的分步驟1在2)中的每找到一個(gè)h[i],就根據(jù)h[i]確定分割點(diǎn),具體為每確定一個(gè)h[i],根據(jù)h[i].place利用公式
確定分割點(diǎn)位置k_wei,然后將k_wei插入到從分割點(diǎn)位置從小到大排序存放的有序單鏈表Fen中的對(duì)應(yīng)位置,k_wei插入后Fen中分割點(diǎn)位置仍然保持從小到大的順序。
5)步驟2的分步驟2在4)中每確定一個(gè)新分割點(diǎn),根據(jù)新變化的Fen利用過(guò)程INDEX(c,F(xiàn)en)計(jì)算與新分割點(diǎn)對(duì)應(yīng)的DBc值,DBc值和DB*比較,若DBc值小于DB*,將DBc覆蓋DB*,同時(shí)將與DBc值對(duì)應(yīng)鏈表Fen覆蓋Fen*。然后當(dāng)2)中執(zhí)行結(jié)束就找到了最小的DBc值。因?yàn)镈Bc值越小聚類(lèi)效果越好,最小的DBc值對(duì)應(yīng)鏈表Fen就是最佳分類(lèi)。
(3)基于FP-tree樹(shù)的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法(CFP-tree) 使用CMDSA算法對(duì)每一時(shí)刻發(fā)生的項(xiàng)目的支持度組成的時(shí)序向量進(jìn)行聚類(lèi)從而確定周期內(nèi)的關(guān)聯(lián)規(guī)則的各個(gè)時(shí)間區(qū)域以后(根據(jù)前面得到的最佳分割點(diǎn)位置有序單鏈表Fen*確定各時(shí)間分段),我們開(kāi)始在周期的各個(gè)時(shí)間區(qū)域上發(fā)現(xiàn)有用的周期關(guān)聯(lián)規(guī)則。周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法有多種選擇基于A(yíng)priori或基于FP-tree。本發(fā)明采用基于FP-tree的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法(CFP-tree)。
發(fā)現(xiàn)周期頻繁項(xiàng)目集的三種思路 思路一容易想到在每個(gè)周期的各個(gè)時(shí)間段構(gòu)造FP-tree樹(shù),產(chǎn)生頻繁項(xiàng)目集,然后所有周期對(duì)應(yīng)時(shí)間段之間進(jìn)行頻繁項(xiàng)目集比對(duì),產(chǎn)生周期頻繁項(xiàng)目集。但是這個(gè)時(shí)間開(kāi)銷(xiāo)是巨大的,是不可取的。
思路二由第三節(jié)的定理1可以知道任意一個(gè)周期頻繁項(xiàng)目集在每一個(gè)周期的對(duì)應(yīng)時(shí)間段中存在一個(gè)頻繁項(xiàng)目集包含它,所以我們只要能挖掘出在一個(gè)周期中各個(gè)時(shí)間段的頻繁項(xiàng)目集,然后這些頻繁項(xiàng)目集和其他所有周期對(duì)應(yīng)時(shí)間段的事務(wù)數(shù)據(jù)庫(kù)進(jìn)行比對(duì)就找出所有周期頻繁項(xiàng)目集。所以可以先在第一個(gè)周期的各個(gè)時(shí)間段構(gòu)造FP-tree樹(shù),利用FP-growth產(chǎn)生第一個(gè)周期各個(gè)時(shí)間段的頻繁項(xiàng)目集,然后將這些頻繁項(xiàng)目集和其他所有周期對(duì)應(yīng)時(shí)間段的事務(wù)庫(kù)進(jìn)行比對(duì),產(chǎn)生所有周期頻繁項(xiàng)目集。
思路三我們可以進(jìn)一步優(yōu)化思路二的方法,根據(jù)定理1,可以先在第一個(gè)周期的各個(gè)時(shí)間段構(gòu)造FP-tree樹(shù),從周期頻繁項(xiàng)目列表L出發(fā),采用基于條件FP-tree的周期性剪裁技術(shù)生成所有周期頻繁項(xiàng)目集,進(jìn)而發(fā)現(xiàn)所有強(qiáng)周期關(guān)聯(lián)規(guī)則。思路三也就是本發(fā)明的CFP-tree算法。
在第一個(gè)周期每一個(gè)時(shí)間分段構(gòu)造一棵FP-tree樹(shù)[8][16] 根據(jù)前面CMDSA在第一個(gè)周期得到的c個(gè)最合理時(shí)間分段,每一個(gè)時(shí)間分段一個(gè)事務(wù)數(shù)據(jù)庫(kù),就有c個(gè)事務(wù)數(shù)據(jù)庫(kù)D1,...,DC(Di對(duì)應(yīng)第i個(gè)時(shí)間分段),一個(gè)事務(wù)數(shù)據(jù)庫(kù)一棵FP-tree樹(shù)就需要構(gòu)造c棵FP-tree樹(shù)。
在第一個(gè)周期的每一個(gè)時(shí)間段[si,ei]中事務(wù)數(shù)據(jù)庫(kù)Di中構(gòu)造FP-treei具體步驟 1)掃描1次事務(wù)數(shù)據(jù)庫(kù)Di,產(chǎn)生頻繁項(xiàng)目集合Fi及其相應(yīng)支持度,將Fi和除開(kāi)第一周期的所有周期中的對(duì)應(yīng)時(shí)間段[si,ei]的事務(wù)數(shù)據(jù)庫(kù)Di的所有事務(wù)進(jìn)行比對(duì)得到周期頻繁項(xiàng)目集合F(F里面的每一個(gè)項(xiàng)目x形成的1-項(xiàng)集都是周期頻繁項(xiàng)目集)和x相應(yīng)的周期性支持度。以x的周期性支持度降序排列F,生成周期頻繁項(xiàng)目列表Li;其中F中的項(xiàng)目rti表示F中的項(xiàng)目x在第t個(gè)周期的第i個(gè)時(shí)間段[si,ei]區(qū)域內(nèi)包含x的事務(wù)數(shù)目與時(shí)間段[si,ei]區(qū)域內(nèi)中所有事務(wù)數(shù)目的比值。在所有n個(gè)周期的第i個(gè)時(shí)間段[si,ei]中,有x的周期性支持度s=min{r1i,r2i,...,rni}。
2)創(chuàng)建FP-treei的根節(jié)點(diǎn),以“null”標(biāo)記。對(duì)Di中的每一個(gè)事務(wù)t做如下處理按周期頻繁項(xiàng)目列表L選擇t中頻繁項(xiàng)目,刪除非頻繁項(xiàng)目,按L中元素出現(xiàn)次序排列事務(wù)t中頻繁元素.排過(guò)序的頻繁元素列表做標(biāo)記[p|P],p是第1個(gè)元素,P是剩余元素的列表.然后調(diào)用inserttree([p|P],T)。其中,函數(shù)insert tree([p|P],T)處理過(guò)程為如果T有子結(jié)點(diǎn)N,且N.item_name=P.item_name,則使N計(jì)數(shù)加1;否則,創(chuàng)建新結(jié)點(diǎn)N,計(jì)數(shù)為1,其父結(jié)點(diǎn)為T(mén),結(jié)點(diǎn)鏈接到與其名稱(chēng)相同的下一個(gè)結(jié)點(diǎn)。如果P非空,再遞歸調(diào)用insert tree(P,N)。
基于條件FP-tree的周期性剪裁技術(shù)基于條件FP-tree的周期性剪裁技術(shù)的具體思路主要是對(duì)文[8][16]的FP-growth的改進(jìn),增加FP-growth發(fā)現(xiàn)周期頻繁項(xiàng)目集的功能。CFP-growth對(duì)FP-growth中的模式β的條件FP-tree進(jìn)行周期性剪裁。也就是將模式β和β的條件FP-tree形成的集合(例如β為{kma},β的條件FP-tree為{(f3,b3)}|kma,則形成的集合{{fkam},{bkam}})和其他周期的對(duì)應(yīng)時(shí)間分段[sj,ej]中所有事務(wù)進(jìn)行比對(duì),剪裁掉集合中周期性支持度小于smin的項(xiàng)目集,生成模式β的周期性條件FP-tree。在第一周期每一個(gè)時(shí)間分段[sj,ej]的FP-tree遍歷完成時(shí),即生成所有周期頻繁項(xiàng)目集。
基于條件FP-tree的周期性剪裁技術(shù)的運(yùn)用使得思路三優(yōu)于思路二。下面分析該技術(shù)的有效性 a)相關(guān)概念與性質(zhì) 條件模式基和條件FP-tree的概念請(qǐng)參閱文[8][16]這里不在累述。
定理2.設(shè)a是某一個(gè)周期j中的某一個(gè)時(shí)間段[sj,ej]的事務(wù)數(shù)據(jù)庫(kù)Di中的項(xiàng)目集,B是a的條件模式基,M是B中涉及到的所有項(xiàng)目形成的項(xiàng)目集,β為M中的任意一個(gè)子集,βM,那么,在周期j中,a∪β在Di中的支持度supporta∪β等于β在B中的支持度,即supporta∪β=supportβ。
證明按文[8][16]條件模式基的定義,所有到達(dá)a的前綴路徑形成a的條件模式基,所以每個(gè)在B中出現(xiàn)的事務(wù)同時(shí)在Di中a出現(xiàn)的地方出現(xiàn),換而言之一個(gè)事務(wù)包含β,那么它肯定包含a。如果一個(gè)項(xiàng)目集β在B中出現(xiàn)n次,那么β也和a同時(shí)在Di中出現(xiàn)n次,并且所有和a同時(shí)在Di中出現(xiàn)的項(xiàng)目都被聚集在a的條件模式基中,所以a∪β在Di中恰好出現(xiàn)n次.結(jié)論成立。
推論1.設(shè)a是某一個(gè)周期j中的某一個(gè)時(shí)間段[sj,ej]的事務(wù)數(shù)據(jù)庫(kù)Di中的項(xiàng)目集,B是a的條件模式基,M是B中涉及到的所有項(xiàng)目形成的項(xiàng)目集,β為M中的任意一個(gè)子集,βM,那么,在周期j中,a∪β在Di中的支持度supporta∪β小于等于a在Di中的支持度,即supporta∪β<=supporta。
證明按照文[8][16]中條件模式基的定義,每個(gè)在B中出現(xiàn)的事務(wù)都在Di中a出現(xiàn)的地方出現(xiàn)。如果一個(gè)項(xiàng)目集β在B中出現(xiàn)n次,那么β也和a在Di中同時(shí)出現(xiàn)n次,這說(shuō)明a在Di中出現(xiàn)次數(shù)至少為n次,還可能同時(shí)存在a不和β一起出現(xiàn)的情況,這時(shí)a出現(xiàn)次數(shù)大于或等于n次,supportβ<=supporta,由定理2知supporta∪β=supportβ,所以supporta∪β<=supporta。
推論2.在某一個(gè)周期j的時(shí)間段[sj,ej]中的項(xiàng)目集a,B是a的條件模式基,M是B中涉及到的所有項(xiàng)目形成的項(xiàng)目集,β為M中的任意一個(gè)子集,βM,那么,在除開(kāi)周期j的任意一個(gè)周期k的時(shí)間段[sj,ej]中,有a∪β在周期k的時(shí)間段[sj,ej]中的事務(wù)數(shù)據(jù)庫(kù)Di中的支持度supporta∪β小于等于a在Di中的支持度,即supporta∪β<=supporta。
證明i).B是周期j的時(shí)間段[sj,ej]中的項(xiàng)目集a的條件模式基,βM,由推論1知在周期j的時(shí)間段[sj,ej]中有supporta∪β<=supporta。ii).但在除開(kāi)j的其他任意一個(gè)周期k的時(shí)間段[sj,ej]中,B不一定是a的條件模式基,對(duì)于βM,β和a在周期k中的時(shí)間段[sj,ej]中的FP-tree中的位置關(guān)系有三種可能1)β和a在同一條路徑中,β是a的前綴路徑。2)β和a在同一條路徑中,a是β的前綴路徑。3)β和a不在同一條路徑中。iii).在所有周期的時(shí)間段[sj,ej]中每一個(gè)事務(wù)都是按照時(shí)間段[sj,ej]中的周期頻繁列表Li的順序排序后形成FP-tree中,所以在周期j時(shí)間段[sj,ej]中存在B是a的條件模式基,對(duì)于βM,β中的所有項(xiàng)目在Li中位置在a中的所有項(xiàng)目在Li中位置之前,所以在在其他除開(kāi)j的周期k中的時(shí)間段[sj,ej]中,β和a在該周期中的時(shí)間段[sj,ej]中的FP-tree中的位置關(guān)系不會(huì)出現(xiàn)2)情況---a是β的前綴路徑。iv).在其他除開(kāi)j的周期k中的時(shí)間段[sj,ej]中,β和a在該周期中的時(shí)間段[sj,ej]中的FP-tree中的位置關(guān)系是1)的話(huà),由推論1有a∪β在該周期的時(shí)間段[sj,ej]中的事務(wù)數(shù)據(jù)庫(kù)Di中的支持度supporta∪β小于等于a在Di中的支持度,即supporta∪β<=supporta。是2)的話(huà)supporta∪β=0。v).綜上所述,結(jié)論成立。
定理3.假設(shè)a[C,si,ei,sa,ca]是時(shí)間段[si,ei]中的周期項(xiàng)目集,B是某一個(gè)周期j的時(shí)間段[sj,ej]中的項(xiàng)目集a的條件模式基,M是B中涉及到的所有項(xiàng)目形成的項(xiàng)目集,β為M中的任意一個(gè)子集,βM,那么,對(duì)于時(shí)間段[si,ei]中周期項(xiàng)目集a∪β[C,si,ei,sa∪β,ca∪β]的周期性支持度sa∪β小于等于a[C,si,ei,sa,ca]的周期支持度即sa∪β<=sa。
證明i).由第2節(jié)定義3,在所有周期的時(shí)間段[si,ei]中sa=min{sa1,...,san},其中sai是a在第i個(gè)周期的時(shí)間段[si,ei]中的支持度。不妨設(shè)第k個(gè)周期的時(shí)間段[si,ei]中sak最小,那么sak=sa。ii).當(dāng)k=j(luò)時(shí)由推論1有sak>=sa∪βk,當(dāng)k≠j時(shí)由推論2知道在除開(kāi)周期j的周期k的時(shí)間段[sj,ej]中sak>=sa∪βk,其中sa∪βk是a∪β在周期k的時(shí)間段[sj,ej]中的支持度。所以sa>=sa∪βk。iii).又因?yàn)閟a∪βk>=min{sa∪β1,...,sa∪βn}=sa∪β,所以sa∪β<=sa。
b)基于條件FP-tree的周期性剪裁技術(shù)的分析 我們以文[8]中實(shí)例來(lái)說(shuō)明這個(gè)問(wèn)題,本發(fā)明引用文[8]中實(shí)例的頻繁集生成樹(shù)Figure 6(見(jiàn)本發(fā)明圖2),我們?cè)O(shè)圖2中頻繁集生成樹(shù)是屬于第一周期時(shí)間段[si,ei]中的。我們以圖2中的生成樹(shù)節(jié)點(diǎn)ma為例,設(shè)M是ma的條件模式基中所有涉及到的項(xiàng)目形成的項(xiàng)目集,在ma的子節(jié)點(diǎn)mac和maf中有{c}M;{f}M,所以由定理3我們知道,在圖2的FP-tree中ma的周期性支持度大于其所有子節(jié)點(diǎn)mac,maf的周期性支持度,同理mac,maf的周期性支持度大于也大于各自的子節(jié)點(diǎn)的周期性支持度。那么在那么以ma為根節(jié)點(diǎn)的子樹(shù)中,根節(jié)點(diǎn)ma的周期性支持度最大。如果ma不是周期頻繁項(xiàng)目集,除開(kāi)根節(jié)點(diǎn)ma外的節(jié)點(diǎn)都不是周期頻繁項(xiàng)目集。如果采用思路三的基于條件FP-tree的周期性剪裁技術(shù),只有根節(jié)點(diǎn)ma需要和其他周期對(duì)應(yīng)時(shí)間段事務(wù)數(shù)據(jù)庫(kù)進(jìn)行比對(duì)一次,而除了ma的其他所有節(jié)點(diǎn)都不用和其他周期對(duì)應(yīng)時(shí)間段事務(wù)數(shù)據(jù)庫(kù)進(jìn)行比對(duì),所以在周期頻繁項(xiàng)目集生成樹(shù)中以ma為根節(jié)點(diǎn)的子樹(shù)在圖3中不會(huì)生成,這樣和思路二相比就節(jié)約了生成以ma為根節(jié)點(diǎn)的子樹(shù)的代價(jià),同時(shí)節(jié)約了該子樹(shù)進(jìn)行周期性比對(duì)的代價(jià)。在ma不是周期性頻繁集的條件下,思路二先在第一周期生成前圖2,經(jīng)過(guò)周期性剪裁后生成圖3,思路三在第一周期直接生成圖3。所以思路三中基于條件FP-tree的周期性剪裁技術(shù),有效控制周期頻繁集生成樹(shù)的規(guī)模,減少搜索空間。
發(fā)現(xiàn)周期頻繁項(xiàng)目集輸入第一個(gè)周期的c棵FP-treeFP-tree1,...,F(xiàn)P-treec,其中FP-treei是第i個(gè)時(shí)間段[si,ei]產(chǎn)生的FP樹(shù)。
輸出所有周期頻繁項(xiàng)目集 Void Main()//主程序 begin for(i=1;i<=c;i++)do begin CFP-growth(FP-treei,Null); End End Procedure CFP-growth(FP-treei,Null)//對(duì)模式β的條件模式FP-tree進(jìn)行周期性剪裁生成周期頻繁項(xiàng)目集的過(guò)程 Begin if Tree包含一條單一路徑P then for each路徑P中節(jié)點(diǎn)組合(記為β)//β是路徑P中的結(jié)點(diǎn)元素的合并 產(chǎn)生α∪β模式,使其支持度等于β中各結(jié)點(diǎn)元素的最低周期性支持度; Else For each Tree中所有頭元素αi do begin 產(chǎn)生模式β=αi∪α使其支持度等于αi的周期性支持度; 構(gòu)造β的條件模式基和β的條件FP-tree Treeβc; Treeβc和β構(gòu)成的集合C;//例如{(f3,b3)}|kma,則形成的集合{{fkam},{bkam}} Treeβ=CFP-Pruning(C)//對(duì)Treeβc和β構(gòu)成的集合C進(jìn)行周期性剪裁的過(guò)程,輸出Treeβ。IfTreeβ
φthen CFP-growth(Treeβ,β);//若Treeβ非空,遞歸調(diào)用CFP-growth End//結(jié)束5) End Function CFP-Pruning(C) begin for(j=2;j<=n;j++)do begin//2到n個(gè)周期 Ci=φ;//清空Ci for all c∈C do begin//計(jì)算集合C中所有項(xiàng)目集c和第j個(gè)周期第i個(gè)時(shí)間段[si,ei]的事務(wù)數(shù)據(jù)庫(kù)Dji中支持度,剪裁掉支持度supportc小于smin的項(xiàng)目集 計(jì)算項(xiàng)目集c在Dji中支持度supportc; Ifsupportc>=smin then c∪Ci; end C=Ci; If C=φthen exit;//若所有項(xiàng)目集都被剪裁掉,則退出所有循環(huán) end If C≠φthen begin 根據(jù)C生成Treeβ;//例如集合C={{fkam},{bkam}},β=kam,Treeβ為{(f3,b3)}|kma Return Treeβ;//輸出Treeβend else Returnφ; End 發(fā)現(xiàn)強(qiáng)周期關(guān)聯(lián)規(guī)則每個(gè)周期的每一個(gè)時(shí)間段[si,ei]中的強(qiáng)周期關(guān)聯(lián)規(guī)則可用該時(shí)間段中找到的所有周期頻繁項(xiàng)目集直接產(chǎn)生。具體為即對(duì)每一個(gè)周期頻繁項(xiàng)目集L的所有非空的子集合a,若support(L)/support(a)>=cmin,則有強(qiáng)周期關(guān)聯(lián)規(guī)則a→(L-a)[C,si,ei,sa→(L-a),ca→(L-a)]。
(4)本發(fā)明與現(xiàn)行算法性能比較 如果檢驗(yàn)理論方法的實(shí)驗(yàn)數(shù)據(jù)過(guò)于簡(jiǎn)單,很多時(shí)候很難全面的檢驗(yàn)理論方法的正確性和有效性。所以本發(fā)明選取實(shí)際的工業(yè)控制生產(chǎn)第一線(xiàn)信息采集數(shù)據(jù)去驗(yàn)證理論,這些數(shù)據(jù)具有數(shù)據(jù)量大,能反映復(fù)雜多變的實(shí)際情況的特點(diǎn)。
實(shí)驗(yàn)測(cè)試的軟/硬件平臺(tái)和參數(shù)如下(1)曙光天闊S240XP服務(wù)器(雙CPU(Intel Xeon MP,主頻2.0GHz),1G內(nèi)存)。(2)編程語(yǔ)言VC++6.0,操作系統(tǒng)Windows2000AdvanceServer,數(shù)據(jù)庫(kù)Oracle9i。(3)一天取60萬(wàn)條預(yù)處理數(shù)據(jù)。周期為一天,那么時(shí)序向量序列E經(jīng)歷的時(shí)間跨度Time(E)=1天。采樣時(shí)間粒度Granularity(E)為1秒,即1秒采樣一次,所以一個(gè)周期采樣數(shù)目Lend(E)=86400個(gè)采樣值。實(shí)驗(yàn)數(shù)據(jù)共有300個(gè)項(xiàng)目,所以每個(gè)采樣值有300個(gè)屬性指標(biāo)(項(xiàng)目),每一個(gè)采樣值是300維的時(shí)序向量。因?yàn)橐恢芷诓蓸訑?shù)目Lend(E)=86400個(gè),所以,經(jīng)過(guò)CMDSA算法聚類(lèi)后得到Copt為95,在同樣條件下實(shí)際生產(chǎn)中將一天分成94段左右是合理的,所以經(jīng)有效性函數(shù)DB Index準(zhǔn)則判斷Copt為95是實(shí)際可行的。
1)基于CMDSA的CARDSATSV算法和文[4][5]中基于Fisher的周期性關(guān)聯(lián)規(guī)則模型在不同最小支持度下發(fā)現(xiàn)有用周期頻繁項(xiàng)目集數(shù)量上的比較 圖4是以一天為周期,在不同的時(shí)間總長(zhǎng)度T(T=1天,30天,60天)和不同的最小支持度條件下比較兩者發(fā)現(xiàn)周期頻繁項(xiàng)目集數(shù)量。如圖4在相同的最小支持度和相同的時(shí)間總長(zhǎng)度T情況下基于CMDSA的CARDSATSV算法發(fā)現(xiàn)有用周期頻繁項(xiàng)目集數(shù)量多于文[4][5]中基于Fisher的周期性關(guān)聯(lián)規(guī)則模型發(fā)現(xiàn)的周期頻繁項(xiàng)目數(shù)量,說(shuō)明了本發(fā)明CARDSATSV算法優(yōu)于文[4][5]中周期性關(guān)聯(lián)規(guī)則模型。而且由于文[4][5]中Fisher算法的周期性關(guān)聯(lián)規(guī)則模型比文[2]《Cyclic Association Rules》的算法發(fā)現(xiàn)更多有用周期關(guān)聯(lián)規(guī)則,所以CARDSATSV算法也優(yōu)于文[2]算法。
2)CFP-tree算法中基于條件FP-tree的周期性剪裁技術(shù)的實(shí)驗(yàn)分析設(shè)Time(T30,3)為周期為一天,總時(shí)間長(zhǎng)度T=30天情況按照思路三采用了基于條件FP-tree的周期性剪裁技術(shù)的算法的運(yùn)行時(shí)間,Time(T30,2)為周期為一天,總時(shí)間長(zhǎng)度T=30天情況按照思路二未采用周期性的剪裁技術(shù)的算法的運(yùn)行時(shí)間。
圖6第二行是在不同最小支持度下Time(T30,3)和Time(T30,2)比值,第三行是在不同最小支持度下Time(T30,3)和Time(T30,2)差值。如圖5和圖6可以看出1)在相同的最小支持度下T=30天(思路二)算法運(yùn)行時(shí)間高于T=30天(思路三)。因?yàn)樵谒悸范袕腡=1天到T=30天要和其他周期事務(wù)比對(duì)的候選項(xiàng)目集多于思路三。2)隨著最小支持度的不斷降低,在圖6中思路三的運(yùn)行時(shí)間相對(duì)于思路二的運(yùn)行時(shí)間的比值Time(T30,3)/Time(T30,2)越來(lái)越低,兩者運(yùn)行時(shí)間的差值Time(T30,2)-Time(T30,3)越來(lái)越大。說(shuō)明最小支持度越低,從T=1天到T=30天需要和其他周期事務(wù)比對(duì)的候選項(xiàng)目集越多,思路三中基于條件FP-tree的周期性剪裁技術(shù)剪裁掉的不需要和其他周期事務(wù)進(jìn)行比對(duì)的非頻繁候選項(xiàng)目集越多,對(duì)第一周期的非頻繁候選項(xiàng)目集的周期性削減作用越大,具有越高的運(yùn)行效率。
3)CARDSATSV算法和基于A(yíng)priori算法周期關(guān)聯(lián)規(guī)則模型在不同最小支持度下的運(yùn)行時(shí)間比較 首先來(lái)看一下CARDSATSV算法的時(shí)間開(kāi)銷(xiāo),它由兩部分組成CMDSA和CFP-tree的時(shí)間開(kāi)銷(xiāo)。CMDSA算法只對(duì)一個(gè)周期的時(shí)域數(shù)據(jù)特征點(diǎn)進(jìn)行聚類(lèi),而且時(shí)域數(shù)據(jù)特征點(diǎn)采樣數(shù)目一般低于一個(gè)周期的事務(wù)數(shù)目(例如本發(fā)明一秒一次時(shí)域數(shù)據(jù)特征點(diǎn)采樣,共計(jì)86400個(gè)采樣點(diǎn),然而一個(gè)周期的事務(wù)數(shù)目60萬(wàn)條)。對(duì)于運(yùn)行于事務(wù)集時(shí)間區(qū)域總長(zhǎng)度T(T有多個(gè)周期)上的CFP-tree算法,CMDSA算法的運(yùn)行時(shí)間開(kāi)銷(xiāo)遠(yuǎn)遠(yuǎn)小于CFP-tree算法,并且T跨度越大,CMDSA和CFP-tree的時(shí)間開(kāi)銷(xiāo)差距越大,所以CARDSATSV時(shí)間開(kāi)銷(xiāo)主要在CFP-tree算法上。
然后比較2種算法本發(fā)明CARDSATSV和文[4][5]相比不但能發(fā)現(xiàn)更多有用的周期關(guān)聯(lián)規(guī)則,同時(shí)CARDSATSV的CFP-tree算法在效率上遠(yuǎn)遠(yuǎn)優(yōu)于文[4][5]中基于A(yíng)priori的周期關(guān)聯(lián)規(guī)則算法。Apriori算法產(chǎn)生大量候選集(當(dāng)長(zhǎng)度為1的頻繁集有15000個(gè)時(shí)候,長(zhǎng)度為2的候選集個(gè)數(shù)將超過(guò)18M)和反復(fù)掃描數(shù)據(jù)庫(kù)(Apriori算法幾乎對(duì)每一個(gè)候選項(xiàng)都要掃描數(shù)據(jù)庫(kù)一次)。然而CFP-tree在第一周期掃描數(shù)據(jù)庫(kù)2次就可產(chǎn)生第一周期所有的頻繁項(xiàng)集,同時(shí)CFP-tree對(duì)第一周期的頻繁項(xiàng)目集β的條件FP-tree的進(jìn)行周期性剪裁不但不必產(chǎn)生包含β在第一周期是頻繁集的非周期頻繁項(xiàng)目集,而且節(jié)約了這些包含β項(xiàng)目集和其他周期事務(wù)比對(duì)的時(shí)間,這樣大幅度提高了算法整體效率。CFP-Tree算法在第一周期的大部分工作是在內(nèi)存中進(jìn)行的,這也節(jié)省了大量的時(shí)間開(kāi)銷(xiāo)。
圖7是在事務(wù)集時(shí)間區(qū)域總長(zhǎng)度T=30天情況下CARDSATSV算法和基于A(yíng)priori的周期關(guān)聯(lián)規(guī)則算法在不同最小支持度下運(yùn)行時(shí)間的比較。
由圖7有1)2種算法的時(shí)間開(kāi)銷(xiāo)隨著最小支持度的增加而減少。因?yàn)樽钚≈С侄仍礁?,淘汰的?xiàng)目就越多。2)CARDSATSV算法遠(yuǎn)遠(yuǎn)低于基于A(yíng)priori的周期關(guān)聯(lián)規(guī)則算法的時(shí)間開(kāi)銷(xiāo)。
本發(fā)明提出的基于時(shí)序向量差異序列法聚類(lèi)的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法(CARDSATSV)最大限度發(fā)現(xiàn)目前周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法無(wú)法發(fā)現(xiàn)的有用關(guān)聯(lián)規(guī)則,而且和目前基于A(yíng)priori的周期關(guān)聯(lián)規(guī)則算法相比時(shí)空效率得到了極大的提高。各項(xiàng)實(shí)驗(yàn)表明本發(fā)明的CARDSATSV算法適用于工業(yè)生產(chǎn)的周期性海量數(shù)據(jù)的分析。本發(fā)明的CARDSATSV算法是工業(yè)生產(chǎn)線(xiàn)嵌入式主控系統(tǒng)(中國(guó)專(zhuān)利申請(qǐng)?zhí)?00610052850.1)中信息采集相似比對(duì)模糊算法的技術(shù)總結(jié)的一部分,工業(yè)生產(chǎn)線(xiàn)嵌入式主控系統(tǒng)(中國(guó)專(zhuān)利申請(qǐng)?zhí)?00610052850.1)是為浙江某地區(qū)的特色工業(yè)產(chǎn)業(yè)的信息化建設(shè)與改造項(xiàng)目,在推動(dòng)該地區(qū)特色工業(yè)產(chǎn)業(yè)提高生產(chǎn)效率的同時(shí)為當(dāng)?shù)卣推髽I(yè)管理層提供準(zhǔn)確和完備的決策信息。針對(duì)實(shí)際的工業(yè)控制生產(chǎn)第一線(xiàn)信息采集數(shù)據(jù)具有數(shù)據(jù)量大、時(shí)間跨度長(zhǎng)、數(shù)據(jù)變化復(fù)雜的特點(diǎn),基于本發(fā)明CARDSATSV算法的工業(yè)生產(chǎn)線(xiàn)嵌入式主控系統(tǒng)(中國(guó)專(zhuān)利申請(qǐng)?zhí)?00610052850.1)的信息采集相似比對(duì)模糊算法提出了高效、完備的解決方案,在系統(tǒng)具體實(shí)施過(guò)程中CARDSATSV算法不但有效的提出了挖掘周期性數(shù)據(jù)關(guān)聯(lián)規(guī)則的技術(shù)難點(diǎn),而且通過(guò)具體實(shí)現(xiàn)過(guò)程提出了相關(guān)難點(diǎn)的解決辦法,并且在實(shí)驗(yàn)和實(shí)踐生產(chǎn)中得到了驗(yàn)證和運(yùn)用。CARDSATSV算法的實(shí)際研究成果---工業(yè)生產(chǎn)線(xiàn)嵌入式主控系統(tǒng)(中國(guó)專(zhuān)利申請(qǐng)?zhí)?00610052850.1)已投入前期運(yùn)行階段。從各種實(shí)際反饋數(shù)據(jù)信息顯示CARDSATSV算法適用于工業(yè)生產(chǎn)的周期性海量數(shù)據(jù)的分析,并且為挖掘周期關(guān)聯(lián)規(guī)則的理論研究和實(shí)際運(yùn)用提供了一定的參考。
參考文獻(xiàn)歐陽(yáng)為民,蔡慶生.在數(shù)據(jù)庫(kù)中發(fā)現(xiàn)具有時(shí)態(tài)約束的關(guān)聯(lián)規(guī)則.軟件學(xué)報(bào),1999,10(5)527~532Ozden B,Ramaswamy S,Silberschatz A.Cyclic Association Rules[J].IEEE Trans on DataEngineering,1998,412~421黃益民,經(jīng)常性周期關(guān)聯(lián)規(guī)則的研究.計(jì)算機(jī)科學(xué),2000,27(4)43~45)徐敏,金遠(yuǎn)平.一種新的周期性關(guān)聯(lián)規(guī)則模型.,計(jì)算機(jī)工程與科學(xué),2000,22(4)78~81Xu Min..et al...Mining Cyclic Generalized Association Rules.Transactions of NanjingUniversity of Aeronaut ics & Astronaut ics,2002,19(1)Agrawal R.et al..Fast algorithms for mining association rules.InProceedings of the 20thInternational Conference on Very LargeDatabases,Santiago,Chile,1994,487~499程乾生.一種新的樣品聚類(lèi)方法——差異序列法.科學(xué)通報(bào).1994,39(2)Han J.et al..Mining frequent patterns without candidate generation.InProceedings of the2000ACMSIGMOD Conference On Management of Data,Dallas,TX,2000,1~12Sergios Theodoridis,Konstantinos Koutroumbas.Pattern Recognition(Second Edition)[M].BeijingMechanical Industrial Press,,2003.163-205Fisher,W.D.,J.Am.Stat.Assoc.,1958789~798.BezdekJ C,Pal N R.Some new indexes of cluster validity,IEEE Transactions onSystems,Man,and Cybernetics--Part BCyber-netics,1998,28(3)301~315Xie X L.et al..A validity method for fuzzy clustering.IEEE Trans Patt Anal MachIntell,1991,13(8)841~847Ramze R M.et al..A new cluster validity index for the fuzzy c-mean.Patterm RecognitionLetters,1998,19237~246于劍,程乾生.模糊聚類(lèi)方法中最佳聚類(lèi)數(shù)的搜索范圍[J].中國(guó)科學(xué),2002,32(2)274-280范九倫,裴繼紅,謝維信.基于可能性分布的聚類(lèi)有效性.電子學(xué)報(bào),1998,26(4)113-115Fan M,Meng XF,et al.Data MiningConcepts and Techniques.BeijingMechanical IndustrialPress,2001(in Chinese).Jiawei Han,Wan Gong,Yiwen Yin.Mining Segment-wise Periodic Pattern in Time RelatedDatabases,Proc.of 1998 of International Conf[R].On Knowledge Discovery and DataMining(KDD’98)New York City,NY,1998.Han J.Gong W.Yin Y.Efficient Mining of Partial Periodic Patterns in Time SeriesDatabase.In Proc.1999Int.Conf.Data Engineering(ICDE′99),Sadney,Australia,Apr1999106~115Maria Halkidi.et al..On Clustering Validation Techniques.Journal of Intelligent InformationSystems.2001,17(2-3)107~145Hartigan,J.A..,Clustering Algorithrns,John Wiley &Sons,1975.王磊,譚躍進(jìn),黃金才,張堅(jiān).基于聚類(lèi)的快速時(shí)域關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法.計(jì)算機(jī)仿真,2005,7(22)。
權(quán)利要求
1.一種基于時(shí)序向量差異序列法聚類(lèi)的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法(CARDSATSV),CARDSATSV由兩部分組成CMDSA和CFP-tree。首先CMDSA對(duì)由項(xiàng)目支持度組成的時(shí)序向量采用基于差異序列法和DB Index準(zhǔn)則的聚類(lèi)來(lái)動(dòng)態(tài)的確定周期內(nèi)的關(guān)聯(lián)規(guī)則的各個(gè)時(shí)間區(qū)域,用DB Index準(zhǔn)則來(lái)控制聚類(lèi)個(gè)數(shù)以達(dá)到最佳的聚類(lèi)效果。CFP-tree采用基于條件FP樹(shù)的周期性剪裁技術(shù)對(duì)周期中各個(gè)時(shí)間區(qū)域上的事務(wù)數(shù)據(jù)庫(kù)進(jìn)行周期性關(guān)聯(lián)規(guī)則的發(fā)現(xiàn)。
2.根據(jù)權(quán)利要求1所述的CMDSA算法,其特征在于CMDSA基于差異序列法和DB Index準(zhǔn)則對(duì)時(shí)序向量進(jìn)行聚類(lèi)。差異序列法只是分類(lèi)無(wú)法判斷分多少類(lèi)達(dá)到最佳分類(lèi),所以還需DB INDEX準(zhǔn)則來(lái)判斷最佳分類(lèi)數(shù)。CMDSA結(jié)合兩者來(lái)對(duì)第一周期的時(shí)序向量序列E進(jìn)行聚類(lèi),確定時(shí)域數(shù)據(jù)特征點(diǎn)的分布規(guī)律,進(jìn)而確定周期內(nèi)的關(guān)聯(lián)規(guī)則的各個(gè)時(shí)間區(qū)域。
3.根據(jù)權(quán)利要求1所述的CFP-tree算法,其特征在于在第一個(gè)周期的各個(gè)時(shí)間段構(gòu)造FP-tree樹(shù),從周期頻繁項(xiàng)目列表L出發(fā),采用基于條件FP-tree的周期性剪裁技術(shù)生成所有周期頻繁項(xiàng)目集,進(jìn)而發(fā)現(xiàn)所有強(qiáng)周期關(guān)聯(lián)規(guī)則。
4.根據(jù)權(quán)利要求1、3所述的在第一個(gè)周期的各個(gè)時(shí)間段構(gòu)造FP-tree樹(shù),其特征在于在第一個(gè)周期的每一個(gè)時(shí)間段[si,ei]中事務(wù)數(shù)據(jù)庫(kù)Di中構(gòu)造FP-treei具體步驟1)掃描1次事務(wù)數(shù)據(jù)庫(kù)Di,產(chǎn)生頻繁項(xiàng)目集合Fi及其相應(yīng)支持度,將Fi和除開(kāi)第一周期的所有周期中的對(duì)應(yīng)時(shí)間段[si,ei]的事務(wù)數(shù)據(jù)庫(kù)Di的所有事務(wù)進(jìn)行比對(duì)得到周期頻繁項(xiàng)目集合F(F里面的每一個(gè)項(xiàng)目x形成的1-項(xiàng)集都是周期頻繁項(xiàng)目集)和x相應(yīng)的周期性支持度。以x的周期性支持度降序排列F,生成周期頻繁項(xiàng)目列表Li;其中F中的項(xiàng)目rti表示F中的項(xiàng)目x在第t個(gè)周期的第i個(gè)時(shí)間段[si,ei]區(qū)域內(nèi)包含x的事務(wù)數(shù)目與時(shí)間段[si,ei]區(qū)域內(nèi)中所有事務(wù)數(shù)目的比值。在所有n個(gè)周期的第i個(gè)時(shí)間段[si,ei]中,有x的周期性支持度s=min{r1i,r2i,...,rni}。2)創(chuàng)建FP-treei的根節(jié)點(diǎn),以“null”標(biāo)記。對(duì)Di中的每一個(gè)事務(wù)t做如下處理按周期頻繁項(xiàng)目列表L選擇t中頻繁項(xiàng)目,刪除非頻繁項(xiàng)目,按L中元素出現(xiàn)次序排列事務(wù)t中頻繁元素排過(guò)序的頻繁元素列表做標(biāo)記[p|P],p是第1個(gè)元素,P是剩余元素的列表然后調(diào)用insert tree([p|P],T)。其中,函數(shù)insert tree([p|P],T)處理過(guò)程為如果T有子結(jié)點(diǎn)N,且N.item_name=P.item_name,則使N計(jì)數(shù)加1;否則,創(chuàng)建新結(jié)點(diǎn)N,計(jì)數(shù)為1,其父結(jié)點(diǎn)為T(mén),結(jié)點(diǎn)鏈接到與其名稱(chēng)相同的下一個(gè)結(jié)點(diǎn)。如果P非空,再遞歸調(diào)用insert tree(P,N)。
5.根據(jù)權(quán)利要求1、3所述基于條件FP-tree的周期性剪裁技術(shù),其特征在于對(duì)FP-growth的改進(jìn),增加FP-growth發(fā)現(xiàn)周期頻繁項(xiàng)目集的功能。CFP-growth對(duì)FP-growth中的模式β的條件FP-tree進(jìn)行周期性剪裁。也就是將模式β和β的條件FP-tree形成的集合(例如β為{kma},β的條件FP-tree為{(f3,b3)}|kma,則形成的集合{{fkam},{bkam}})和其他周期的對(duì)應(yīng)時(shí)間分段[sj,ej]中所有事務(wù)進(jìn)行比對(duì),剪裁掉集合中周期性支持度小于smin的項(xiàng)目集,生成模式β的周期性條件FP-tree。在第一周期每一個(gè)時(shí)間分段[sj,ej]的FP-tree遍歷完成時(shí),即生成所有周期頻繁項(xiàng)目集。
6.據(jù)權(quán)利要求1、3所述發(fā)現(xiàn)所有強(qiáng)周期關(guān)聯(lián)規(guī)則,其特征在于每個(gè)周期的每一個(gè)時(shí)間段[si,ei]中的強(qiáng)周期關(guān)聯(lián)規(guī)則可用該時(shí)間段中找到的所有周期頻繁項(xiàng)目集直接產(chǎn)生。具體為即對(duì)每一個(gè)周期頻繁項(xiàng)目集L的所有非空的子集合a,若support(L)/support(a)>=cmin,則有強(qiáng)周期關(guān)聯(lián)規(guī)則a→(L-a)[C,si,ei,sa→(L-a),ca→(L-a)]。
全文摘要
一種基于時(shí)序向量差異序列法聚類(lèi)的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法。首先針對(duì)目前周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法在時(shí)間區(qū)域劃分問(wèn)題上存在的不足,提出算法CMDSA,它選擇由項(xiàng)目支持度組成的時(shí)序向量作為時(shí)域數(shù)據(jù)特征點(diǎn)進(jìn)行聚類(lèi),同時(shí)用DB準(zhǔn)則控制聚類(lèi)個(gè)數(shù)以達(dá)到最佳的聚類(lèi)效果,從而更準(zhǔn)確確定周期內(nèi)關(guān)聯(lián)規(guī)則的各個(gè)時(shí)間區(qū)域,和目前算法相比可發(fā)現(xiàn)更多有用周期關(guān)聯(lián)規(guī)則。針對(duì)目前周期關(guān)聯(lián)規(guī)則算法都基于A(yíng)priori算法,存在效率低的問(wèn)題,提出基于Fp樹(shù)的算法CFP-tree,它采用基于條件FP樹(shù)的周期性剪裁技術(shù)大幅度提高了算法效率,運(yùn)用CFP-tree的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法在時(shí)空效率上遠(yuǎn)遠(yuǎn)優(yōu)于現(xiàn)有的基于A(yíng)priori的算法。
文檔編號(hào)G06F17/30GK101127037SQ20061005295
公開(kāi)日2008年2月20日 申請(qǐng)日期2006年8月15日 優(yōu)先權(quán)日2006年8月15日
發(fā)明者斌 曾, 凱 曾, 姜小麗, 王宇熙 申請(qǐng)人:臨安微創(chuàng)網(wǎng)格信息工程有限公司