国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于時序向量差異序列法聚類的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法的制作方法

      文檔序號:6556619閱讀:319來源:國知局
      專利名稱:基于時序向量差異序列法聚類的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及在數(shù)據(jù)挖掘領(lǐng)域發(fā)現(xiàn)時間序列的周期關(guān)聯(lián)規(guī)則的一種算法;具體涉及一類基于時態(tài)約束的各屬性狀態(tài)之間的周期時態(tài)關(guān)聯(lián)規(guī)則問題,適用于發(fā)展有限個屬性之間的狀態(tài)周期性地按時間的關(guān)聯(lián)性的問題。定義了等價事件映射、非相同屬性和相同屬性的時態(tài)關(guān)聯(lián)規(guī)則,通過計(jì)算支持率和可信度確定時態(tài)關(guān)聯(lián)規(guī)則的提取。確定時態(tài)關(guān)聯(lián)規(guī)則的有效性的同時給出了發(fā)掘時間序列的周期關(guān)聯(lián)規(guī)則的算法主要步驟。
      背景技術(shù)
      在現(xiàn)實(shí)世界中的變化都以時間因素密不可分,所以研究現(xiàn)實(shí)世界數(shù)據(jù)中時態(tài)數(shù)據(jù)的周期性關(guān)聯(lián)規(guī)則對于完成周期性經(jīng)濟(jì)規(guī)律的發(fā)現(xiàn)和預(yù)測、自然災(zāi)害預(yù)防等大多數(shù)領(lǐng)域可以幫助人類進(jìn)行正確決策有著重大而深遠(yuǎn)的意義。
      關(guān)于時間區(qū)域內(nèi)周期關(guān)聯(lián)規(guī)則的研究目前在國內(nèi)外處于初期起步階段。例如歐陽為民[1]提出的發(fā)現(xiàn)具有時態(tài)約束的關(guān)聯(lián)規(guī)則,但對周期關(guān)聯(lián)規(guī)則沒有論述。在OzdenB的《CyclicAssociation Rules》[2]中提出的周期關(guān)聯(lián)規(guī)則時間是人為確定的,用戶憑經(jīng)驗(yàn)給定一個時間單位和周期長度(為時間單位的整數(shù)倍),并由此將數(shù)據(jù)劃分到若干長度相同的時間段,然后根據(jù)這些時間段中存在的事務(wù)求解周期性關(guān)聯(lián)規(guī)則。這往往會造成時間段的劃分不十分準(zhǔn)確,更有可能會漏掉一些周期性關(guān)聯(lián)規(guī)則。例如,設(shè)時間單位為1小時,周期長度為24小時,對于周期性關(guān)聯(lián)規(guī)則牛奶→面包(7AM~8AM),若牛奶→面包的主要分布的時間段為(6:45AM~7:20AM),則可能不成立。這樣“在每天的6:45AM~7:20AM時間范圍內(nèi)購買牛奶的客戶也會購買面包”的關(guān)聯(lián)規(guī)則將不能夠發(fā)現(xiàn)。還有黃益民的《經(jīng)常性周期關(guān)聯(lián)規(guī)則的研究》[3]主要是對OzdenB的《Cyclic Association Rules》文中算法的改進(jìn)。
      目前已有的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法存在的問題主要有 問題一時域數(shù)據(jù)特征點(diǎn)的選擇 針對OzdenB的《Cyclic Association Rules》[2]文中的問題徐敏提出的一種新的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)模型[4][5],通過聚類分析將一個周期分為長度不同的時間段,從而可以更準(zhǔn)確的發(fā)現(xiàn)周期關(guān)聯(lián)規(guī)則。但這種周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)模型選擇每一時刻發(fā)生的事務(wù)數(shù)目為時域數(shù)據(jù)特征點(diǎn)進(jìn)行聚類,其聚類是針對事務(wù)進(jìn)行的,而項(xiàng)目自身有自己分布規(guī)律,這種聚類方式并不能反映單個項(xiàng)目的規(guī)律,它存在問題是我們以一個例子來說明,對于一段時間,每一天0點(diǎn)到14點(diǎn)的情況都如圖1所示,例如以文[4][5]中按每一時刻發(fā)生的事務(wù)數(shù)量聚類在時間區(qū)域1-5、6-12每一刻發(fā)生的事務(wù)數(shù)可以分別聚為一類。按每一時刻發(fā)生的項(xiàng)目數(shù)量聚類在時間區(qū)域3-8每一刻項(xiàng)目A發(fā)生的數(shù)目(包含項(xiàng)目A的事務(wù)數(shù)目)可聚為一類。時間區(qū)域3-8,項(xiàng)目A支持度≈15*5/25*2+(25+20)/2+20*2≈66%,時間區(qū)域1-5,項(xiàng)目A支持度≈2.5+(2.5+15)/2+15*2/25*4≈41.3%,時間區(qū)域6-12,項(xiàng)目A支持度≈15*2+(15+2.5)/2+2.5*3/20*6≈38.6%。如果最小支持度是54%,按文[4][5]中聚類方法無法發(fā)現(xiàn)項(xiàng)目A是頻繁的,然而按每一時刻發(fā)生的項(xiàng)目數(shù)量聚類可發(fā)現(xiàn)項(xiàng)目A是頻繁的。
      雖然按每一時刻發(fā)生的項(xiàng)目數(shù)量聚類例如文[21]可以解決文[4][5]的問題,但是它還是存在一定的問題。因?yàn)榘疵恳粫r刻發(fā)生的項(xiàng)目數(shù)量聚類只考慮了項(xiàng)目在每一時刻發(fā)生的項(xiàng)目數(shù),而忽略了每一時刻發(fā)生的總的事務(wù)數(shù)。在兩個時刻的項(xiàng)目數(shù)雖然相同,但有可能兩個時刻的總事務(wù)數(shù)不相同而導(dǎo)致兩個時刻的項(xiàng)目支持度不同。然而只有每一時刻的項(xiàng)目支持度才能真正反映和決定項(xiàng)目是否是頻繁的。所以按項(xiàng)目聚類只片面的考慮了項(xiàng)目在每一時刻發(fā)生的項(xiàng)目數(shù),并不能反映每一時刻項(xiàng)目支持度的內(nèi)在規(guī)律。所以我們?nèi)匀灰詧D一中實(shí)例情況來說明這個問題。如圖一,因?yàn)榘疵恳粫r刻發(fā)生的項(xiàng)目數(shù)量聚類3-8是一類,如果最小支持度變化為72%,這樣一種情況下,3-8的項(xiàng)目A不是頻繁的。但是如果按在每一時刻包含項(xiàng)目的事務(wù)數(shù)目與該時刻發(fā)生總的事務(wù)數(shù)的比值(項(xiàng)目A在每一時刻的支持度)進(jìn)行聚類的方法6-8時間段每一刻項(xiàng)目A發(fā)生的數(shù)目與每一刻總事務(wù)數(shù)的比值可以聚為一類,其項(xiàng)目A支持度略等于75%,所以6-8時間段的項(xiàng)目A是頻繁的。然而按照每一時刻項(xiàng)目支持度進(jìn)行聚類將發(fā)現(xiàn)6-8時間段的頻繁項(xiàng)目A。按每一時刻發(fā)生的項(xiàng)目數(shù)量聚類將漏掉6-8時間段的頻繁項(xiàng)目。
      所以本發(fā)明采用對每一時刻發(fā)生的項(xiàng)目支持度來聚類的CMDSA算法,當(dāng)然在每一時刻發(fā)生的不止上例中的一個項(xiàng)目A,有很多種項(xiàng)目發(fā)生。所以在每一時刻我們可以將每一種項(xiàng)目的支持度作為一個向量的一維分量,所有項(xiàng)目在該時刻的支持度就形成一個時序向量,對這個時序向量聚類即可。
      問題二周期時間區(qū)域分段數(shù)目的確定 文[2][4][5]還存在另一個問題,將一個周期分成多少個時間段是人為確定的。雖然文[4][5]的周期性關(guān)聯(lián)規(guī)則模型時間段的長度根據(jù)事務(wù)發(fā)生數(shù)目的集中度自動聚類求出,但是它的聚類是在人為確定了聚類個數(shù)前提下使用Fisher算法獲得的最佳聚類。這就忽略了判斷聚類效果的另一個指標(biāo)聚類個數(shù),然而聚類個數(shù)的選擇要根據(jù)具體數(shù)據(jù)的實(shí)際情況來判定,而不是人為規(guī)定,只有通過聚類有效性函數(shù)[11][12][13]根據(jù)具體數(shù)據(jù)的實(shí)際情況來判斷聚類個數(shù),才能更真實(shí)的反映實(shí)際數(shù)據(jù)的變化情況,達(dá)到最理想的聚類效果。在本發(fā)明中采用DB Index準(zhǔn)則[9][19]來判斷聚類的有效性,確定最佳聚類個數(shù)。
      問題三發(fā)現(xiàn)周期關(guān)聯(lián)規(guī)則基礎(chǔ)算法的選擇 文[2][3][4][5][21]周期關(guān)聯(lián)規(guī)則算法都基于Apriori算法[6],還有文[1]帶有時態(tài)約束的關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法和文[18]的部分周期模式的挖掘算法也基于Apriori算法[6],他們都存在著處理的候選項(xiàng)集十分大,模式和數(shù)據(jù)庫事務(wù)搜索匹配將耗費(fèi)大量的時間,資源耗用高,運(yùn)行效率不高等問題。所以本發(fā)明用FP-tree替換Apriori。

      發(fā)明內(nèi)容
      本發(fā)明提出的-基于時序向量差異序列法[7]聚類的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法(CARDSATSV)由兩部分組成CMDSA和CFP-tree。首先CMDSA對由項(xiàng)目支持度組成的時序向量采用基于差異序列法[7]和DB Index準(zhǔn)則[9][19]的聚類來動態(tài)的確定周期內(nèi)的關(guān)聯(lián)規(guī)則的各個時間區(qū)域,用DB Index準(zhǔn)則[9][19]來控制聚類個數(shù)以達(dá)到最佳的聚類效果。CMDSA針對問題一和問題二中提到的問題,最大限度發(fā)現(xiàn)有用的關(guān)聯(lián)規(guī)則。然后針對問題三,CFP-tree對周期中各個時間區(qū)域上的事務(wù)數(shù)據(jù)庫采用基于Fp-tree[8][16]的方法進(jìn)行周期性關(guān)聯(lián)規(guī)則的發(fā)現(xiàn)。利用FP-tree明顯優(yōu)于Apriori算法的特點(diǎn),CFP-tree采用基于條件FP-tree的周期性剪裁技術(shù)大幅度提高了算法效率,在理論和實(shí)驗(yàn)說明了基于Fp-tree的周期關(guān)聯(lián)規(guī)則算法CFP-tree在時空效率上遠(yuǎn)遠(yuǎn)優(yōu)于基于Apriori的周期關(guān)聯(lián)規(guī)則算法。


      圖1周期關(guān)聯(lián)規(guī)則的問題分析舉例 圖2在第一周期時間段[sj,ej]中頻繁項(xiàng)目集生成樹 圖3時間段[sj,ej]中周期頻繁項(xiàng)目集生成樹 圖4CARDSATSV和文[4][5]中周期性關(guān)聯(lián)規(guī)則模型發(fā)現(xiàn)有用周期頻繁項(xiàng)目集數(shù)量的比較 圖5當(dāng)T=30天思路二和思路三的運(yùn)行時間比較 圖6當(dāng)T=30天思路二和思路三的運(yùn)行時間比較 圖7T=30天CARDSATSV和基于Apriori的周期關(guān)聯(lián)規(guī)則算法在不同最小支持度下運(yùn)行時間的比較 具體實(shí)施例方式 (1)時域數(shù)據(jù)的相關(guān)基本概念和性質(zhì) 定義1(時域數(shù)據(jù)).時域數(shù)據(jù)指帶有時間屬性的事務(wù)集。設(shè)整個事務(wù)集時間區(qū)域?yàn)門,可以將T表示為T=∪Ti;Ti∩Tj=0;|Tj|=|Ti|其中i≠j;i,j=1,2,...,n|Ti|表示Ti的時間長度。這里稱|Ti|為一個周期長度,Ti為第i個周期,|Ti|長度是用戶定義的,如1年,1月或1周。本發(fā)明的目標(biāo)是找到在所有周期Ti中的某段時間內(nèi)某些頻繁項(xiàng)目之間的關(guān)聯(lián)關(guān)系。
      定義2(時序向量).按時間順序取得的一系列觀測值,每一個觀測值是一個n維的向量,這些帶有時間屬性的向量稱為時序向量。
      時序向量組成的時序向量序列是一種時間序列(時間序列相關(guān)概念見文[17]),下面是時序向量的相關(guān)符號表示 1)由時序向量組成的時序向量序列表示為E={ei|i=1,...,m}。
      2)其中時序向量ei=<x1,...,xn>,ei是n維向量。在本發(fā)明中每一時刻發(fā)生的每一個項(xiàng)目的支持度構(gòu)成ei的每一維分量,ei的每一維分量取值范圍是閉區(qū)間
      中所有實(shí)數(shù)。
      3)Lend(E)=m表示時序向量序列長度,即E中向量個數(shù)。
      4)Time(E)表示時序向量序列E經(jīng)歷的時間跨度,即E的最后一個元素的時刻和第一個元素時刻的時間間隔。
      5)本發(fā)明中定義時序向量序列E中任意兩個時序向量之間的時間間隔相等,Granularity(E)稱為時間粒度,表示時序向量序列E中兩個元素間時間間隔。
      6)Es表示E的子序列。如果E中兩個子序列Es1和Es1之間沒有相同元素則稱Es1和Es1不重疊。
      定義3(周期項(xiàng)目集).周期項(xiàng)目集也是項(xiàng)目集,它在項(xiàng)目集的定義基礎(chǔ)上增加了項(xiàng)目集的周期性屬性定義,設(shè)一個關(guān)于項(xiàng)目集X的周期項(xiàng)目集表達(dá)式為X[C,si,ei,sX]。C為周期時間長度,si,ei為周期中第i個時間段的起點(diǎn)和終點(diǎn);sX稱為周期項(xiàng)目集X[C,si,ei,sX]在所有周期中第i個時間區(qū)域[si,ei]內(nèi)的周期性支持度。具體其中rti表示周期項(xiàng)目集X[C,si,ei,sX]在第t個周期的第i個時間段[si,ei]區(qū)域內(nèi)包含X的事務(wù)數(shù)目與時間段[si,ei]區(qū)域內(nèi)中所有事務(wù)數(shù)目的比值,即項(xiàng)目集X在[si,ei]的支持度。在所有n個周期的第i個時間段[si,ei]中,有sX=min{r1i,r2i,...,rni}。
      定義4(周期頻繁項(xiàng)目集).周期項(xiàng)目集X[C,si,ei,sX]在所有n個周期的第i個時間段[si,ei]中,若sX>=smin則稱X[C,s1,ei,sX]為周期頻繁項(xiàng)目集。其中smin是最小支持度閥值。
      定義5(一般周期頻繁項(xiàng)目集).當(dāng)整個事務(wù)集時間區(qū)域T→∞,周期個數(shù)n→∞,若在每個周期的時間段[si,ei]中的周期項(xiàng)目集X[C,si,ei,sX]的周期性支持度sX>=smin則稱周期項(xiàng)目集X[C,si,ei,sX]為一般周期頻繁項(xiàng)目集。
      定義6(周期關(guān)聯(lián)規(guī)則).周期關(guān)聯(lián)規(guī)則是如下一個蘊(yùn)涵式X->Y[C,si,ei,sX->Y,cX->Y]。其中X,Y為周期項(xiàng)目集;C為周期時間長度,si,ei為周期中第i個時間段起點(diǎn)和終點(diǎn);sX->Y,cX->Y稱為X->Y[C,si,ei,sX->Y,cX->Y]在所有周期第i個時間區(qū)域[si,ei]內(nèi)周期性支持度和周期性可信度。其中sti表示X->Y[C,si,ei,sX->Y,cX->Y]在第t個周期的第i個時間段[si,ei]區(qū)域內(nèi)包含X∪Y的事務(wù)數(shù)目與時間段[si,ei]區(qū)域內(nèi)中所有事務(wù)數(shù)目的比值,cti表示X->Y在第t個周期的第i個時間段[si,ei]區(qū)域內(nèi)包含X∪Y的事務(wù)數(shù)目與包含X的事務(wù)數(shù)目的比值。在所有n個周期的第i個時間段[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ī)則).對于周期關(guān)聯(lián)規(guī)則X->Y[C,si,ei,sX->Y,cX->Y],在所有n個周期中的第i時間段[si,ei]中,若sX->Y>=smin且cX->Y>=cmin,則稱周期關(guān)聯(lián)規(guī)則X->Y[C,si,ei,sX->Y,cX->Y]為強(qiáng)周期關(guān)聯(lián)規(guī)則。在所有n個周期中的第i個時間段[si,ei]中的至少一個周期時間段[si,ei]中,若sX->Y>s=min且cX->Y>=cmin,則稱周期關(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可知道,任意一個周期頻繁項(xiàng)目集A的所有子集在所有周期中A所在的時間區(qū)域中都是周期頻繁項(xiàng)目集。
      定理1.任何一個周期頻繁項(xiàng)目集X[C,si,ei,sX],(設(shè)X[C,si,ei,sX]在時間段[si,ei]中周期頻繁項(xiàng)目集),則在每一個周期的對應(yīng)時間段[si,ei]中至少有一個頻繁項(xiàng)目集Y包含X[C,si,ei,sX],即X[C,s1,e1,sX]Y。
      證明在每一個周期的對應(yīng)時間段[si,ei]中至少可以讓項(xiàng)目集Y取值為項(xiàng)目集X,由定義3知道X[C,si,ei,sX]的周期性支持度sX是每一個周期的對應(yīng)時間段[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)整個事務(wù)集時間區(qū)域T不斷增大時(即周期個數(shù)不斷增大時),在T中發(fā)現(xiàn)的周期頻繁項(xiàng)目集趨近于一般周期頻繁項(xiàng)目集,兩者的差距趨近于0。當(dāng)T為無窮大時,在T中發(fā)現(xiàn)的周期頻繁項(xiàng)目集等于一般周期頻繁項(xiàng)目集,兩者的差距等于0。從更深一層次理解,整個事務(wù)集時間區(qū)域T跨度越大,所發(fā)現(xiàn)的周期關(guān)聯(lián)規(guī)則更具抽象性、一般性、普遍性。
      (2)基于差異序列法和DB Index準(zhǔn)則的時序向量的聚類算法(CMDSA) 在第一周期進(jìn)行一次聚類,確定周期內(nèi)的關(guān)聯(lián)規(guī)則的各個時間區(qū)域,以后其他周期的時間區(qū)域也按此劃分。
      整個事務(wù)集時間區(qū)域T來說有多個周期,由于每個周期發(fā)生的事務(wù)不一樣,所以每一個周期進(jìn)行聚類得到的時間段劃分必然不一樣。例如T中有3個周期,第一個周期經(jīng)過聚類后,8:30-9:30事務(wù)聚為一類,8:30-9:30中存在頻繁項(xiàng)目集A,第二個周期經(jīng)過聚類后,8:50-9:50事務(wù)聚為一類,8:50-9:50中存在頻繁項(xiàng)目集A,第三個周期經(jīng)過聚類后,9:00-10:00事務(wù)聚為一類,9:00-10:00中存在頻繁項(xiàng)目集A,那么周期頻繁項(xiàng)目集A必然存在于三個周期包含頻繁項(xiàng)目集A的時間段的交集9:00-9:30中。所以在T中的任意第i個周期中進(jìn)行聚類得到的時間段劃分,由定理l可知按照這個時間段劃分在周期i中得到的所有頻繁項(xiàng)目集必然包含所有的周期頻繁項(xiàng)目集。所以只需要在某一個周期進(jìn)行一次聚類(不妨在第一周期),確定周期內(nèi)的關(guān)聯(lián)規(guī)則的各個時間區(qū)域,然后在第一個周期找到該周期中的所有頻繁項(xiàng)目集,每一個頻繁項(xiàng)目集和其他周期對應(yīng)時間段的所有事務(wù)進(jìn)行比對(即經(jīng)過周期性剪裁),就可以找到所有周期頻繁項(xiàng)目集,進(jìn)而發(fā)現(xiàn)所有強(qiáng)周期關(guān)聯(lián)規(guī)則。
      當(dāng)然我們可以在每一個周期中進(jìn)行聚類,再根據(jù)每一個周期各自不同的時間段找出適合于所有周期的時間劃分,但是有n個周期就要進(jìn)行n次聚類,隨著n的增加,計(jì)算開銷和代價越大。這樣是不可取的。
      聚類的時域數(shù)據(jù)特征點(diǎn)選取文[4][5]的按每一時刻發(fā)生事務(wù)數(shù)目聚類、按每一時刻發(fā)生項(xiàng)目數(shù)目聚類和本發(fā)明由每一時刻發(fā)生項(xiàng)目的支持度組成的時序向量進(jìn)行聚類都屬于對時域數(shù)據(jù)進(jìn)行聚類,只不過它們聚類的對象--時域數(shù)據(jù)特征點(diǎn)選擇有所不同。文[4][5]選擇的是每一時刻發(fā)生的事務(wù)數(shù)目為時域數(shù)據(jù)特征點(diǎn),本發(fā)明選擇的是每一個項(xiàng)目在每一時刻包含該項(xiàng)目的事務(wù)發(fā)生數(shù)目與該時刻發(fā)生總的事務(wù)數(shù)的比值(發(fā)生項(xiàng)目的支持度)形成的時序向量為時域數(shù)據(jù)特征點(diǎn)。
      本發(fā)明時域數(shù)據(jù)特征點(diǎn)具體定義如下 1)在一個周期中每一時刻發(fā)生的每一個項(xiàng)目的支持度(該時刻包含的該項(xiàng)目的事務(wù)數(shù)和該時刻總的事務(wù)數(shù)的比值)構(gòu)成時序向量ei的每一維分量,n維時序向量ei=<x1,...,xn>,ei的每一維分量取值范圍是閉區(qū)間
      中所有實(shí)數(shù)。
      2)那么由時序向量組成的時序向量序列表示為E={ei|i=1,...,m},其中時序向量序列長度Lend(E)=m,Time(E)為一個周期,本發(fā)明中定義時序向量序列E中任意兩個時序向量之間的時間間隔相等,時間粒度Granularity(E)定值。
      在本發(fā)明中CMDSA算法主要完成對第一周期中的時序向量序列E的聚類。
      時序向量聚類前的工作開始時序向量聚類之前我們面臨這樣一個問題將一個周期中的時序向量分成多少個類可以得到最理想的聚類結(jié)果。最理想的聚類結(jié)果的判斷指標(biāo)是什么。換而言之聚類結(jié)果達(dá)到什么判斷標(biāo)準(zhǔn)是最理想的。
      聚類有效性函數(shù)[11][12][13]要解決上述問題需要聚類有效性函數(shù)來控制聚類個數(shù),這里我們采用DB Index準(zhǔn)則[9][19]來控制聚類個數(shù)。在聚類有效性的判斷規(guī)則中,類內(nèi)離散度和類間距離常被用來判斷聚類的有效性,DB Index準(zhǔn)則[9][19]同時使用了類內(nèi)離散度和類間距離,在本發(fā)明中采用DB Index準(zhǔn)則作為分類有效性的判斷準(zhǔn)則。DB Index準(zhǔn)則基本內(nèi)容如下 1)類內(nèi)平均離散度,其中,Zi是Ci類的類中心;|Ci|表示Ci類樣本數(shù)。
      2)類間距離dij=‖Zi-Zj‖,即用兩個類中心的距離表示類間距離。
      3)DB Index,其中,k是分類數(shù)目。
      DB Index準(zhǔn)則是DBk的值越小,說明分類的效果越好。
      優(yōu)化CMDSA算法-減少最佳聚類個數(shù)copt的搜索范圍一個周期有n個時序向量e,可以讓聚類個數(shù)c取值從2一直到n,運(yùn)用DB Index準(zhǔn)則和差異序列法確定最佳聚類個數(shù)copt。那聚類個數(shù)c的搜索范圍如果是從2到n,即2<=copt<=n。那么效率就存在問題,當(dāng)n非常大時,尋找copt的運(yùn)算代價是非常大的,所以我們需要減小copt的搜索范圍Cmax。對于如何確定Cmax很多研究者使用經(jīng)驗(yàn)規(guī)則,該規(guī)則在文[13]中提到。還有文獻(xiàn)[15]提到的規(guī)則cmax≤21nn。但是上述規(guī)則缺乏理論支持。文[14]給出一種確定Cmax的新方法,該新方法在理論上說明了的有效性。文[14]討論了模糊聚類最佳聚類數(shù)范圍,主要討論模糊劃分,硬劃分屬于模糊劃分的一個特例,所以文[14]的理論同樣適用于本發(fā)明的硬聚類。所以本發(fā)明根據(jù)文[14]采用規(guī)則我們確定copt的搜索范圍為2到

      即確定。然后運(yùn)用DB Index準(zhǔn)則和差異序列法最終確定最佳聚類個數(shù)copt。和cmax≤n相比,節(jié)約的運(yùn)算代價是非常巨大的,而且n越大和cmax≤n的運(yùn)算代價差距呈幾何級數(shù)增長。
      差異序列法[7]本發(fā)明中我們對第一個周期中每一個時刻的時序時序向量ei進(jìn)行聚類,這種帶有時間參數(shù)的向量屬于對有序樣品,我們可以考慮采用Fisher算法[10][20],文[4][5]對每一刻的事務(wù)數(shù)目聚類用的就是Fisher算法[10][20],但是Fisher算法在計(jì)算每一類的直徑時,沒有考慮樣品的有序性。針對這種有序性我們采用差異序列法來對時序向量ei進(jìn)行聚類。差異序列法不光考慮到了帶有時間參數(shù)的樣品的有序性,同時具有計(jì)算簡單,結(jié)果直觀的特點(diǎn)。
      差異序列法[7]相關(guān)概念設(shè)有m個有序樣品x1,x2,...xm,每一個樣品都有n個指標(biāo)觀測值,對第i個樣品xi,記作xi=(xi1,...xin)xij表示第i個樣品的第j個指標(biāo)觀測值,其中1<=i<=m,1<=j(luò)<=n。用非負(fù)數(shù)gi=g(xi,xi+1)表示第i個樣品xi和第i+1個樣品xi+1之間的差異,i=1,2,...m-1。.其中當(dāng)xi=xi+1時,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(差異序列).稱gi=g(xi,xi+1)為第i個樣品與i+1個樣品的差異度,稱(g1,g2,...,gm-1)為樣品的差異序列。
      概念2(二次差異序列).(g1,g2,...,gm-1)的差異度hi=h(g1,gi+1)為樣品的二次差異度,通常取為hi=|g1-gi+1|,i=1,2,...,m-2,稱(h1,h2,...,gm-2)為樣品的二次差異序列。
      概念3(差異序列法).利用差異序列對有序樣品進(jìn)行分類的方法,稱為差異序列法。
      概念4(k類分割點(diǎn)).把有序樣品(x1,x2,...,xm)聚成k(1<k<m)類的步驟是首先確定k-1整數(shù)點(diǎn)i1,...,ik-1。它們滿足1<=i1<=i2<=...<=ik-1然后把樣品聚成k類(x1,...,xi1)(xi1+1,...,xi2+1)...(xik-2+1,...,xik-1)(xik-1+1,...,xm)稱i1,...,ik-1為k類分割點(diǎn)。
      差異序列法[7]基本思想先考慮每一個樣品和它下一個樣品之間的差異度,然后從整體上考慮差異度,選擇出用于聚類的分割點(diǎn)。在分割點(diǎn)處樣品由一類變到另一類,因此在分割點(diǎn)處的樣品差異度應(yīng)該比較大;又由于樣品是隨機(jī)的,即使在同一類里,樣品的差異也是不同的,但是,在分割點(diǎn)附近,樣品差異度變化應(yīng)該比較大,也即樣品的二次差異度應(yīng)該比較大,所以分成兩類時二次差異度最大,三類時次之。
      差異序列法的步驟是先把樣品分成兩類,在此基礎(chǔ)上再把樣品分成三類,直到k類。具體為首先確定2類分割點(diǎn)i1。取(1<=l<=m-2)使。i1由下式確定

      。(b)式的意義是,在l和l+1兩個點(diǎn)中取差異度大的點(diǎn)為分割點(diǎn)i1。如果l1和l2(l1≠l2)都滿足(a)式,當(dāng)max(gl1,gl1+1)>max(gl2,gl2+1)...............(c)時,則由l1按照(b)式確定i1。當(dāng)2類分割點(diǎn)i1確定后,就可把樣品(x1,x2,...,xm)分成兩類(xl,...,xil)和(xil+1,...,xm)。在此基礎(chǔ)上,可把樣品分成三類對以上兩類分別求最大二次差異度(見(a)),對這兩個值中的最大值所在的類按以上方法再分成兩類,這樣就把樣品分成了三類。依此下去把樣品分成k類。
      基于差異序列法和DB Index準(zhǔn)則的時序向量的聚類算法(CMDSA)差異序列法只是分類無法判斷分多少類達(dá)到最佳分類,所以還需DB INDEX準(zhǔn)則來判斷最佳分類數(shù)。本發(fā)明結(jié)合兩者來對第一周期的時序向量序列E進(jìn)行聚類,確定時域數(shù)據(jù)特征點(diǎn)的分布規(guī)律,進(jìn)而確定周期內(nèi)的關(guān)聯(lián)規(guī)則的各個時間區(qū)域。
      CMDSA算法 1)步驟1先計(jì)算在一個周期中擁有m個時序向量的時序向量序列E的m-1個差異度g[i],和m-2個二次差異度h[i],并形成相應(yīng)的差異度和次差異度數(shù)組。
      2)步驟2因?yàn)闀r序向量序列E聚類個數(shù)c取值由2到

      ,所以我們找到

      個分割點(diǎn)即可。在二次差異度序列數(shù)組中先找到最大的二次差異度值h[i],然后確定相應(yīng)分割點(diǎn),然后在剩余h[i]中找最大的h[i],再確定相應(yīng)分割點(diǎn),如此類推。為了避免重復(fù)掃描已找到的二次差異度值h[i],我們可以使用排序。找到最大的h[i]后讓它和二次差異度序列數(shù)組的第一個位置的h
      互換,第二大h[i]和第二個位置的h[1]互換,直到第

      大h[i]。
      3)由于排序使每個h[i]的初始位置被打亂,要想找到h[i]后確定相應(yīng)的分割點(diǎn)位置,所以我們必須記錄下h[i]的初始位置,我們讓h[i]包含2個分量的結(jié)構(gòu)體變量,h[i].data是二次差異度大小值,h[i]的位置h[i].place存放了初始位置i。
      4)步驟2的分步驟1在2)中的每找到一個h[i],就根據(jù)h[i]確定分割點(diǎn),具體為每確定一個h[i],根據(jù)h[i].place利用公式

      確定分割點(diǎn)位置k_wei,然后將k_wei插入到從分割點(diǎn)位置從小到大排序存放的有序單鏈表Fen中的對應(yīng)位置,k_wei插入后Fen中分割點(diǎn)位置仍然保持從小到大的順序。
      5)步驟2的分步驟2在4)中每確定一個新分割點(diǎn),根據(jù)新變化的Fen利用過程INDEX(c,F(xiàn)en)計(jì)算與新分割點(diǎn)對應(yīng)的DBc值,DBc值和DB*比較,若DBc值小于DB*,將DBc覆蓋DB*,同時將與DBc值對應(yīng)鏈表Fen覆蓋Fen*。然后當(dāng)2)中執(zhí)行結(jié)束就找到了最小的DBc值。因?yàn)镈Bc值越小聚類效果越好,最小的DBc值對應(yīng)鏈表Fen就是最佳分類。
      (3)基于FP-tree樹的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法(CFP-tree) 使用CMDSA算法對每一時刻發(fā)生的項(xiàng)目的支持度組成的時序向量進(jìn)行聚類從而確定周期內(nèi)的關(guān)聯(lián)規(guī)則的各個時間區(qū)域以后(根據(jù)前面得到的最佳分割點(diǎn)位置有序單鏈表Fen*確定各時間分段),我們開始在周期的各個時間區(qū)域上發(fā)現(xiàn)有用的周期關(guān)聯(lián)規(guī)則。周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法有多種選擇基于Apriori或基于FP-tree。本發(fā)明采用基于FP-tree的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法(CFP-tree)。
      發(fā)現(xiàn)周期頻繁項(xiàng)目集的三種思路 思路一容易想到在每個周期的各個時間段構(gòu)造FP-tree樹,產(chǎn)生頻繁項(xiàng)目集,然后所有周期對應(yīng)時間段之間進(jìn)行頻繁項(xiàng)目集比對,產(chǎn)生周期頻繁項(xiàng)目集。但是這個時間開銷是巨大的,是不可取的。
      思路二由第三節(jié)的定理1可以知道任意一個周期頻繁項(xiàng)目集在每一個周期的對應(yīng)時間段中存在一個頻繁項(xiàng)目集包含它,所以我們只要能挖掘出在一個周期中各個時間段的頻繁項(xiàng)目集,然后這些頻繁項(xiàng)目集和其他所有周期對應(yīng)時間段的事務(wù)數(shù)據(jù)庫進(jìn)行比對就找出所有周期頻繁項(xiàng)目集。所以可以先在第一個周期的各個時間段構(gòu)造FP-tree樹,利用FP-growth產(chǎn)生第一個周期各個時間段的頻繁項(xiàng)目集,然后將這些頻繁項(xiàng)目集和其他所有周期對應(yīng)時間段的事務(wù)庫進(jìn)行比對,產(chǎn)生所有周期頻繁項(xiàng)目集。
      思路三我們可以進(jìn)一步優(yōu)化思路二的方法,根據(jù)定理1,可以先在第一個周期的各個時間段構(gòu)造FP-tree樹,從周期頻繁項(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òu)造一棵FP-tree樹[8][16] 根據(jù)前面CMDSA在第一個周期得到的c個最合理時間分段,每一個時間分段一個事務(wù)數(shù)據(jù)庫,就有c個事務(wù)數(shù)據(jù)庫D1,...,DC(Di對應(yīng)第i個時間分段),一個事務(wù)數(shù)據(jù)庫一棵FP-tree樹就需要構(gòu)造c棵FP-tree樹。
      在第一個周期的每一個時間段[si,ei]中事務(wù)數(shù)據(jù)庫Di中構(gòu)造FP-treei具體步驟 1)掃描1次事務(wù)數(shù)據(jù)庫Di,產(chǎn)生頻繁項(xiàng)目集合Fi及其相應(yīng)支持度,將Fi和除開第一周期的所有周期中的對應(yīng)時間段[si,ei]的事務(wù)數(shù)據(jù)庫Di的所有事務(wù)進(jìn)行比對得到周期頻繁項(xiàng)目集合F(F里面的每一個項(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個周期的第i個時間段[si,ei]區(qū)域內(nèi)包含x的事務(wù)數(shù)目與時間段[si,ei]區(qū)域內(nèi)中所有事務(wù)數(shù)目的比值。在所有n個周期的第i個時間段[si,ei]中,有x的周期性支持度s=min{r1i,r2i,...,rni}。
      2)創(chuàng)建FP-treei的根節(jié)點(diǎn),以“null”標(biāo)記。對Di中的每一個事務(wù)t做如下處理按周期頻繁項(xiàng)目列表L選擇t中頻繁項(xiàng)目,刪除非頻繁項(xiàng)目,按L中元素出現(xiàn)次序排列事務(wù)t中頻繁元素.排過序的頻繁元素列表做標(biāo)記[p|P],p是第1個元素,P是剩余元素的列表.然后調(diào)用inserttree([p|P],T)。其中,函數(shù)insert tree([p|P],T)處理過程為如果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,結(jié)點(diǎn)鏈接到與其名稱相同的下一個結(jié)點(diǎn)。如果P非空,再遞歸調(diào)用insert tree(P,N)。
      基于條件FP-tree的周期性剪裁技術(shù)基于條件FP-tree的周期性剪裁技術(shù)的具體思路主要是對文[8][16]的FP-growth的改進(jìn),增加FP-growth發(fā)現(xiàn)周期頻繁項(xiàng)目集的功能。CFP-growth對FP-growth中的模式β的條件FP-tree進(jìn)行周期性剪裁。也就是將模式β和β的條件FP-tree形成的集合(例如β為{kma},β的條件FP-tree為{(f3,b3)}|kma,則形成的集合{{fkam},{bkam}})和其他周期的對應(yīng)時間分段[sj,ej]中所有事務(wù)進(jìn)行比對,剪裁掉集合中周期性支持度小于smin的項(xiàng)目集,生成模式β的周期性條件FP-tree。在第一周期每一個時間分段[sj,ej]的FP-tree遍歷完成時,即生成所有周期頻繁項(xiàng)目集。
      基于條件FP-tree的周期性剪裁技術(shù)的運(yùn)用使得思路三優(yōu)于思路二。下面分析該技術(shù)的有效性 a)相關(guān)概念與性質(zhì) 條件模式基和條件FP-tree的概念請參閱文[8][16]這里不在累述。
      定理2.設(shè)a是某一個周期j中的某一個時間段[sj,ej]的事務(wù)數(shù)據(jù)庫Di中的項(xiàng)目集,B是a的條件模式基,M是B中涉及到的所有項(xiàng)目形成的項(xiàng)目集,β為M中的任意一個子集,βM,那么,在周期j中,a∪β在Di中的支持度supporta∪β等于β在B中的支持度,即supporta∪β=supportβ。
      證明按文[8][16]條件模式基的定義,所有到達(dá)a的前綴路徑形成a的條件模式基,所以每個在B中出現(xiàn)的事務(wù)同時在Di中a出現(xiàn)的地方出現(xiàn),換而言之一個事務(wù)包含β,那么它肯定包含a。如果一個項(xiàng)目集β在B中出現(xiàn)n次,那么β也和a同時在Di中出現(xiàn)n次,并且所有和a同時在Di中出現(xiàn)的項(xiàng)目都被聚集在a的條件模式基中,所以a∪β在Di中恰好出現(xiàn)n次.結(jié)論成立。
      推論1.設(shè)a是某一個周期j中的某一個時間段[sj,ej]的事務(wù)數(shù)據(jù)庫Di中的項(xiàng)目集,B是a的條件模式基,M是B中涉及到的所有項(xiàng)目形成的項(xiàng)目集,β為M中的任意一個子集,βM,那么,在周期j中,a∪β在Di中的支持度supporta∪β小于等于a在Di中的支持度,即supporta∪β<=supporta。
      證明按照文[8][16]中條件模式基的定義,每個在B中出現(xiàn)的事務(wù)都在Di中a出現(xiàn)的地方出現(xiàn)。如果一個項(xiàng)目集β在B中出現(xiàn)n次,那么β也和a在Di中同時出現(xiàn)n次,這說明a在Di中出現(xiàn)次數(shù)至少為n次,還可能同時存在a不和β一起出現(xiàn)的情況,這時a出現(xiàn)次數(shù)大于或等于n次,supportβ<=supporta,由定理2知supporta∪β=supportβ,所以supporta∪β<=supporta。
      推論2.在某一個周期j的時間段[sj,ej]中的項(xiàng)目集a,B是a的條件模式基,M是B中涉及到的所有項(xiàng)目形成的項(xiàng)目集,β為M中的任意一個子集,βM,那么,在除開周期j的任意一個周期k的時間段[sj,ej]中,有a∪β在周期k的時間段[sj,ej]中的事務(wù)數(shù)據(jù)庫Di中的支持度supporta∪β小于等于a在Di中的支持度,即supporta∪β<=supporta。
      證明i).B是周期j的時間段[sj,ej]中的項(xiàng)目集a的條件模式基,βM,由推論1知在周期j的時間段[sj,ej]中有supporta∪β<=supporta。ii).但在除開j的其他任意一個周期k的時間段[sj,ej]中,B不一定是a的條件模式基,對于βM,β和a在周期k中的時間段[sj,ej]中的FP-tree中的位置關(guān)系有三種可能1)β和a在同一條路徑中,β是a的前綴路徑。2)β和a在同一條路徑中,a是β的前綴路徑。3)β和a不在同一條路徑中。iii).在所有周期的時間段[sj,ej]中每一個事務(wù)都是按照時間段[sj,ej]中的周期頻繁列表Li的順序排序后形成FP-tree中,所以在周期j時間段[sj,ej]中存在B是a的條件模式基,對于βM,β中的所有項(xiàng)目在Li中位置在a中的所有項(xiàng)目在Li中位置之前,所以在在其他除開j的周期k中的時間段[sj,ej]中,β和a在該周期中的時間段[sj,ej]中的FP-tree中的位置關(guān)系不會出現(xiàn)2)情況---a是β的前綴路徑。iv).在其他除開j的周期k中的時間段[sj,ej]中,β和a在該周期中的時間段[sj,ej]中的FP-tree中的位置關(guān)系是1)的話,由推論1有a∪β在該周期的時間段[sj,ej]中的事務(wù)數(shù)據(jù)庫Di中的支持度supporta∪β小于等于a在Di中的支持度,即supporta∪β<=supporta。是2)的話supporta∪β=0。v).綜上所述,結(jié)論成立。
      定理3.假設(shè)a[C,si,ei,sa,ca]是時間段[si,ei]中的周期項(xiàng)目集,B是某一個周期j的時間段[sj,ej]中的項(xiàng)目集a的條件模式基,M是B中涉及到的所有項(xiàng)目形成的項(xiàng)目集,β為M中的任意一個子集,βM,那么,對于時間段[si,ei]中周期項(xiàng)目集a∪β[C,si,ei,sa∪β,ca∪β]的周期性支持度sa∪β小于等于a[C,si,ei,sa,ca]的周期支持度即sa∪β<=sa。
      證明i).由第2節(jié)定義3,在所有周期的時間段[si,ei]中sa=min{sa1,...,san},其中sai是a在第i個周期的時間段[si,ei]中的支持度。不妨設(shè)第k個周期的時間段[si,ei]中sak最小,那么sak=sa。ii).當(dāng)k=j(luò)時由推論1有sak>=sa∪βk,當(dāng)k≠j時由推論2知道在除開周期j的周期k的時間段[sj,ej]中sak>=sa∪βk,其中sa∪βk是a∪β在周期k的時間段[sj,ej]中的支持度。所以sa>=sa∪βk。iii).又因?yàn)閟a∪βk>=min{sa∪β1,...,sa∪βn}=sa∪β,所以sa∪β<=sa。
      b)基于條件FP-tree的周期性剪裁技術(shù)的分析 我們以文[8]中實(shí)例來說明這個問題,本發(fā)明引用文[8]中實(shí)例的頻繁集生成樹Figure 6(見本發(fā)明圖2),我們設(shè)圖2中頻繁集生成樹是屬于第一周期時間段[si,ei]中的。我們以圖2中的生成樹節(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)的子樹中,根節(jié)點(diǎn)ma的周期性支持度最大。如果ma不是周期頻繁項(xiàng)目集,除開根節(jié)點(diǎn)ma外的節(jié)點(diǎn)都不是周期頻繁項(xiàng)目集。如果采用思路三的基于條件FP-tree的周期性剪裁技術(shù),只有根節(jié)點(diǎn)ma需要和其他周期對應(yīng)時間段事務(wù)數(shù)據(jù)庫進(jìn)行比對一次,而除了ma的其他所有節(jié)點(diǎn)都不用和其他周期對應(yīng)時間段事務(wù)數(shù)據(jù)庫進(jìn)行比對,所以在周期頻繁項(xiàng)目集生成樹中以ma為根節(jié)點(diǎn)的子樹在圖3中不會生成,這樣和思路二相比就節(jié)約了生成以ma為根節(jié)點(diǎn)的子樹的代價,同時節(jié)約了該子樹進(jìn)行周期性比對的代價。在ma不是周期性頻繁集的條件下,思路二先在第一周期生成前圖2,經(jīng)過周期性剪裁后生成圖3,思路三在第一周期直接生成圖3。所以思路三中基于條件FP-tree的周期性剪裁技術(shù),有效控制周期頻繁集生成樹的規(guī)模,減少搜索空間。
      發(fā)現(xiàn)周期頻繁項(xiàng)目集輸入第一個周期的c棵FP-treeFP-tree1,...,F(xiàn)P-treec,其中FP-treei是第i個時間段[si,ei]產(chǎn)生的FP樹。
      輸出所有周期頻繁項(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)//對模式β的條件模式FP-tree進(jìn)行周期性剪裁生成周期頻繁項(xiàng)目集的過程 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)//對Treeβc和β構(gòu)成的集合C進(jìn)行周期性剪裁的過程,輸出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個周期 Ci=φ;//清空Ci for all c∈C do begin//計(jì)算集合C中所有項(xiàng)目集c和第j個周期第i個時間段[si,ei]的事務(wù)數(shù)據(jù)庫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ī)則每個周期的每一個時間段[si,ei]中的強(qiáng)周期關(guān)聯(lián)規(guī)則可用該時間段中找到的所有周期頻繁項(xiàng)目集直接產(chǎn)生。具體為即對每一個周期頻繁項(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ù)過于簡單,很多時候很難全面的檢驗(yàn)理論方法的正確性和有效性。所以本發(fā)明選取實(shí)際的工業(yè)控制生產(chǎn)第一線信息采集數(shù)據(jù)去驗(yàn)證理論,這些數(shù)據(jù)具有數(shù)據(jù)量大,能反映復(fù)雜多變的實(shí)際情況的特點(diǎn)。
      實(shí)驗(yàn)測試的軟/硬件平臺和參數(shù)如下(1)曙光天闊S240XP服務(wù)器(雙CPU(Intel Xeon MP,主頻2.0GHz),1G內(nèi)存)。(2)編程語言VC++6.0,操作系統(tǒng)Windows2000AdvanceServer,數(shù)據(jù)庫Oracle9i。(3)一天取60萬條預(yù)處理數(shù)據(jù)。周期為一天,那么時序向量序列E經(jīng)歷的時間跨度Time(E)=1天。采樣時間粒度Granularity(E)為1秒,即1秒采樣一次,所以一個周期采樣數(shù)目Lend(E)=86400個采樣值。實(shí)驗(yàn)數(shù)據(jù)共有300個項(xiàng)目,所以每個采樣值有300個屬性指標(biāo)(項(xiàng)目),每一個采樣值是300維的時序向量。因?yàn)橐恢芷诓蓸訑?shù)目Lend(E)=86400個,所以,經(jīng)過CMDSA算法聚類后得到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是以一天為周期,在不同的時間總長度T(T=1天,30天,60天)和不同的最小支持度條件下比較兩者發(fā)現(xiàn)周期頻繁項(xiàng)目集數(shù)量。如圖4在相同的最小支持度和相同的時間總長度T情況下基于CMDSA的CARDSATSV算法發(fā)現(xiàn)有用周期頻繁項(xiàng)目集數(shù)量多于文[4][5]中基于Fisher的周期性關(guān)聯(lián)規(guī)則模型發(fā)現(xiàn)的周期頻繁項(xiàng)目數(shù)量,說明了本發(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)為周期為一天,總時間長度T=30天情況按照思路三采用了基于條件FP-tree的周期性剪裁技術(shù)的算法的運(yùn)行時間,Time(T30,2)為周期為一天,總時間長度T=30天情況按照思路二未采用周期性的剪裁技術(shù)的算法的運(yùn)行時間。
      圖6第二行是在不同最小支持度下Time(T30,3)和Time(T30,2)比值,第三行是在不同最小支持度下Time(T30,3)和Time(T30,2)差值。如圖5和圖6可以看出1)在相同的最小支持度下T=30天(思路二)算法運(yùn)行時間高于T=30天(思路三)。因?yàn)樵谒悸范袕腡=1天到T=30天要和其他周期事務(wù)比對的候選項(xiàng)目集多于思路三。2)隨著最小支持度的不斷降低,在圖6中思路三的運(yùn)行時間相對于思路二的運(yùn)行時間的比值Time(T30,3)/Time(T30,2)越來越低,兩者運(yùn)行時間的差值Time(T30,2)-Time(T30,3)越來越大。說明最小支持度越低,從T=1天到T=30天需要和其他周期事務(wù)比對的候選項(xiàng)目集越多,思路三中基于條件FP-tree的周期性剪裁技術(shù)剪裁掉的不需要和其他周期事務(wù)進(jìn)行比對的非頻繁候選項(xiàng)目集越多,對第一周期的非頻繁候選項(xiàng)目集的周期性削減作用越大,具有越高的運(yùn)行效率。
      3)CARDSATSV算法和基于Apriori算法周期關(guān)聯(lián)規(guī)則模型在不同最小支持度下的運(yùn)行時間比較 首先來看一下CARDSATSV算法的時間開銷,它由兩部分組成CMDSA和CFP-tree的時間開銷。CMDSA算法只對一個周期的時域數(shù)據(jù)特征點(diǎn)進(jìn)行聚類,而且時域數(shù)據(jù)特征點(diǎn)采樣數(shù)目一般低于一個周期的事務(wù)數(shù)目(例如本發(fā)明一秒一次時域數(shù)據(jù)特征點(diǎn)采樣,共計(jì)86400個采樣點(diǎn),然而一個周期的事務(wù)數(shù)目60萬條)。對于運(yùn)行于事務(wù)集時間區(qū)域總長度T(T有多個周期)上的CFP-tree算法,CMDSA算法的運(yùn)行時間開銷遠(yuǎn)遠(yuǎn)小于CFP-tree算法,并且T跨度越大,CMDSA和CFP-tree的時間開銷差距越大,所以CARDSATSV時間開銷主要在CFP-tree算法上。
      然后比較2種算法本發(fā)明CARDSATSV和文[4][5]相比不但能發(fā)現(xiàn)更多有用的周期關(guān)聯(lián)規(guī)則,同時CARDSATSV的CFP-tree算法在效率上遠(yuǎn)遠(yuǎn)優(yōu)于文[4][5]中基于Apriori的周期關(guān)聯(lián)規(guī)則算法。Apriori算法產(chǎn)生大量候選集(當(dāng)長度為1的頻繁集有15000個時候,長度為2的候選集個數(shù)將超過18M)和反復(fù)掃描數(shù)據(jù)庫(Apriori算法幾乎對每一個候選項(xiàng)都要掃描數(shù)據(jù)庫一次)。然而CFP-tree在第一周期掃描數(shù)據(jù)庫2次就可產(chǎn)生第一周期所有的頻繁項(xiàng)集,同時CFP-tree對第一周期的頻繁項(xiàng)目集β的條件FP-tree的進(jìn)行周期性剪裁不但不必產(chǎn)生包含β在第一周期是頻繁集的非周期頻繁項(xiàng)目集,而且節(jié)約了這些包含β項(xiàng)目集和其他周期事務(wù)比對的時間,這樣大幅度提高了算法整體效率。CFP-Tree算法在第一周期的大部分工作是在內(nèi)存中進(jìn)行的,這也節(jié)省了大量的時間開銷。
      圖7是在事務(wù)集時間區(qū)域總長度T=30天情況下CARDSATSV算法和基于Apriori的周期關(guān)聯(lián)規(guī)則算法在不同最小支持度下運(yùn)行時間的比較。
      由圖7有1)2種算法的時間開銷隨著最小支持度的增加而減少。因?yàn)樽钚≈С侄仍礁撸蕴捻?xiàng)目就越多。2)CARDSATSV算法遠(yuǎn)遠(yuǎn)低于基于Apriori的周期關(guān)聯(lián)規(guī)則算法的時間開銷。
      本發(fā)明提出的基于時序向量差異序列法聚類的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法(CARDSATSV)最大限度發(fā)現(xiàn)目前周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法無法發(fā)現(xiàn)的有用關(guān)聯(lián)規(guī)則,而且和目前基于Apriori的周期關(guān)聯(lián)規(guī)則算法相比時空效率得到了極大的提高。各項(xiàng)實(shí)驗(yàn)表明本發(fā)明的CARDSATSV算法適用于工業(yè)生產(chǎn)的周期性海量數(shù)據(jù)的分析。本發(fā)明的CARDSATSV算法是工業(yè)生產(chǎn)線嵌入式主控系統(tǒng)(中國專利申請?zhí)?00610052850.1)中信息采集相似比對模糊算法的技術(shù)總結(jié)的一部分,工業(yè)生產(chǎn)線嵌入式主控系統(tǒng)(中國專利申請?zhí)?00610052850.1)是為浙江某地區(qū)的特色工業(yè)產(chǎn)業(yè)的信息化建設(shè)與改造項(xiàng)目,在推動該地區(qū)特色工業(yè)產(chǎn)業(yè)提高生產(chǎn)效率的同時為當(dāng)?shù)卣推髽I(yè)管理層提供準(zhǔn)確和完備的決策信息。針對實(shí)際的工業(yè)控制生產(chǎn)第一線信息采集數(shù)據(jù)具有數(shù)據(jù)量大、時間跨度長、數(shù)據(jù)變化復(fù)雜的特點(diǎn),基于本發(fā)明CARDSATSV算法的工業(yè)生產(chǎn)線嵌入式主控系統(tǒng)(中國專利申請?zhí)?00610052850.1)的信息采集相似比對模糊算法提出了高效、完備的解決方案,在系統(tǒng)具體實(shí)施過程中CARDSATSV算法不但有效的提出了挖掘周期性數(shù)據(jù)關(guān)聯(lián)規(guī)則的技術(shù)難點(diǎn),而且通過具體實(shí)現(xiàn)過程提出了相關(guān)難點(diǎn)的解決辦法,并且在實(shí)驗(yàn)和實(shí)踐生產(chǎn)中得到了驗(yàn)證和運(yùn)用。CARDSATSV算法的實(shí)際研究成果---工業(yè)生產(chǎn)線嵌入式主控系統(tǒ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)歐陽為民,蔡慶生.在數(shù)據(jù)庫中發(fā)現(xiàn)具有時態(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程乾生.一種新的樣品聚類方法——差異序列法.科學(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于劍,程乾生.模糊聚類方法中最佳聚類數(shù)的搜索范圍[J].中國科學(xué),2002,32(2)274-280范九倫,裴繼紅,謝維信.基于可能性分布的聚類有效性.電子學(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).基于聚類的快速時域關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法.計(jì)算機(jī)仿真,2005,7(22)。
      權(quán)利要求
      1.一種基于時序向量差異序列法聚類的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法(CARDSATSV),CARDSATSV由兩部分組成CMDSA和CFP-tree。首先CMDSA對由項(xiàng)目支持度組成的時序向量采用基于差異序列法和DB Index準(zhǔn)則的聚類來動態(tài)的確定周期內(nèi)的關(guān)聯(lián)規(guī)則的各個時間區(qū)域,用DB Index準(zhǔn)則來控制聚類個數(shù)以達(dá)到最佳的聚類效果。CFP-tree采用基于條件FP樹的周期性剪裁技術(shù)對周期中各個時間區(qū)域上的事務(wù)數(shù)據(jù)庫進(jìn)行周期性關(guān)聯(lián)規(guī)則的發(fā)現(xiàn)。
      2.根據(jù)權(quán)利要求1所述的CMDSA算法,其特征在于CMDSA基于差異序列法和DB Index準(zhǔn)則對時序向量進(jìn)行聚類。差異序列法只是分類無法判斷分多少類達(dá)到最佳分類,所以還需DB INDEX準(zhǔn)則來判斷最佳分類數(shù)。CMDSA結(jié)合兩者來對第一周期的時序向量序列E進(jìn)行聚類,確定時域數(shù)據(jù)特征點(diǎn)的分布規(guī)律,進(jìn)而確定周期內(nèi)的關(guān)聯(lián)規(guī)則的各個時間區(qū)域。
      3.根據(jù)權(quán)利要求1所述的CFP-tree算法,其特征在于在第一個周期的各個時間段構(gòu)造FP-tree樹,從周期頻繁項(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òu)造FP-tree樹,其特征在于在第一個周期的每一個時間段[si,ei]中事務(wù)數(shù)據(jù)庫Di中構(gòu)造FP-treei具體步驟1)掃描1次事務(wù)數(shù)據(jù)庫Di,產(chǎn)生頻繁項(xiàng)目集合Fi及其相應(yīng)支持度,將Fi和除開第一周期的所有周期中的對應(yīng)時間段[si,ei]的事務(wù)數(shù)據(jù)庫Di的所有事務(wù)進(jìn)行比對得到周期頻繁項(xiàng)目集合F(F里面的每一個項(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個周期的第i個時間段[si,ei]區(qū)域內(nèi)包含x的事務(wù)數(shù)目與時間段[si,ei]區(qū)域內(nèi)中所有事務(wù)數(shù)目的比值。在所有n個周期的第i個時間段[si,ei]中,有x的周期性支持度s=min{r1i,r2i,...,rni}。2)創(chuàng)建FP-treei的根節(jié)點(diǎn),以“null”標(biāo)記。對Di中的每一個事務(wù)t做如下處理按周期頻繁項(xiàng)目列表L選擇t中頻繁項(xiàng)目,刪除非頻繁項(xiàng)目,按L中元素出現(xiàn)次序排列事務(wù)t中頻繁元素排過序的頻繁元素列表做標(biāo)記[p|P],p是第1個元素,P是剩余元素的列表然后調(diào)用insert tree([p|P],T)。其中,函數(shù)insert tree([p|P],T)處理過程為如果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,結(jié)點(diǎn)鏈接到與其名稱相同的下一個結(jié)點(diǎn)。如果P非空,再遞歸調(diào)用insert tree(P,N)。
      5.根據(jù)權(quán)利要求1、3所述基于條件FP-tree的周期性剪裁技術(shù),其特征在于對FP-growth的改進(jìn),增加FP-growth發(fā)現(xiàn)周期頻繁項(xiàng)目集的功能。CFP-growth對FP-growth中的模式β的條件FP-tree進(jìn)行周期性剪裁。也就是將模式β和β的條件FP-tree形成的集合(例如β為{kma},β的條件FP-tree為{(f3,b3)}|kma,則形成的集合{{fkam},{bkam}})和其他周期的對應(yīng)時間分段[sj,ej]中所有事務(wù)進(jìn)行比對,剪裁掉集合中周期性支持度小于smin的項(xiàng)目集,生成模式β的周期性條件FP-tree。在第一周期每一個時間分段[sj,ej]的FP-tree遍歷完成時,即生成所有周期頻繁項(xiàng)目集。
      6.據(jù)權(quán)利要求1、3所述發(fā)現(xiàn)所有強(qiáng)周期關(guān)聯(lián)規(guī)則,其特征在于每個周期的每一個時間段[si,ei]中的強(qiáng)周期關(guān)聯(lián)規(guī)則可用該時間段中找到的所有周期頻繁項(xiàng)目集直接產(chǎn)生。具體為即對每一個周期頻繁項(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)]。
      全文摘要
      一種基于時序向量差異序列法聚類的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法。首先針對目前周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法在時間區(qū)域劃分問題上存在的不足,提出算法CMDSA,它選擇由項(xiàng)目支持度組成的時序向量作為時域數(shù)據(jù)特征點(diǎn)進(jìn)行聚類,同時用DB準(zhǔn)則控制聚類個數(shù)以達(dá)到最佳的聚類效果,從而更準(zhǔn)確確定周期內(nèi)關(guān)聯(lián)規(guī)則的各個時間區(qū)域,和目前算法相比可發(fā)現(xiàn)更多有用周期關(guān)聯(lián)規(guī)則。針對目前周期關(guān)聯(lián)規(guī)則算法都基于Apriori算法,存在效率低的問題,提出基于Fp樹的算法CFP-tree,它采用基于條件FP樹的周期性剪裁技術(shù)大幅度提高了算法效率,運(yùn)用CFP-tree的周期關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法在時空效率上遠(yuǎn)遠(yuǎn)優(yōu)于現(xiàn)有的基于Apriori的算法。
      文檔編號G06F17/30GK101127037SQ20061005295
      公開日2008年2月20日 申請日期2006年8月15日 優(yōu)先權(quán)日2006年8月15日
      發(fā)明者斌 曾, 凱 曾, 姜小麗, 王宇熙 申請人:臨安微創(chuàng)網(wǎng)格信息工程有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1