本發(fā)明屬于智能信息處理和計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及一種基于變化一致性挖掘時(shí)序數(shù)據(jù)關(guān)聯(lián)關(guān)系的方法。
背景技術(shù):
在大型復(fù)雜系統(tǒng)中,往往需要檢測(cè)多個(gè)變量之間的關(guān)聯(lián)關(guān)系,這對(duì)于總結(jié)系統(tǒng)運(yùn)行規(guī)律、預(yù)警具有重大意義。系統(tǒng)中的變量之間可能存在著復(fù)雜的關(guān)聯(lián)關(guān)系,這種關(guān)聯(lián)關(guān)系通常受到系統(tǒng)內(nèi)部規(guī)律的作用。關(guān)聯(lián)性在時(shí)空上可以表現(xiàn)為共現(xiàn)關(guān)系、因果關(guān)系、先兆關(guān)系等等。當(dāng)一個(gè)變量發(fā)生變化時(shí),將引起不同變量發(fā)生相應(yīng)的變化。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于變化一致性挖掘時(shí)序數(shù)據(jù)關(guān)聯(lián)關(guān)系的方法,該方法綜合運(yùn)用了小波變換理論檢測(cè)單個(gè)變量的變化點(diǎn),以及聚類學(xué)習(xí)理論來考察多變量變化點(diǎn)向量之間的相似性,從而發(fā)現(xiàn)時(shí)間序列變量之間潛在的關(guān)聯(lián)關(guān)系。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是:
基于變化一致性挖掘時(shí)序數(shù)據(jù)關(guān)聯(lián)關(guān)系的方法,實(shí)現(xiàn)該方法的系統(tǒng)包括數(shù)據(jù)預(yù)處理模塊、特征提取模塊、WDC聚類模塊和CCP聚類模塊,其具體步驟是:
1)首先,采用數(shù)據(jù)預(yù)模塊1-1處理對(duì)原始時(shí)序數(shù)據(jù)進(jìn)行去野值、等間隔插值、歸一化操作,得到時(shí)序變量的有效數(shù)據(jù)形式;
2)其次,采用特征提取模塊1-2對(duì)時(shí)序變量的有效數(shù)據(jù)形式的每個(gè)窗口數(shù)據(jù)進(jìn)行離散小波變換,提取最大小波細(xì)節(jié)系數(shù);
3)然后,采用WDC聚類模塊1-3對(duì)單個(gè)變量所有窗口的最大小波細(xì)節(jié)系數(shù)進(jìn)行WDC聚類,聚類結(jié)果中小于閾值的簇內(nèi)窗口為變化點(diǎn);
4)最后,采用CCP聚類模塊1-4對(duì)所有變量的變化點(diǎn)向量進(jìn)行CCP聚類,聚類結(jié)果中同一個(gè)簇內(nèi)的變量是相關(guān)的,最后輸出每個(gè)簇內(nèi)變量的關(guān)聯(lián)關(guān)系及其強(qiáng)度。
所述的數(shù)據(jù)預(yù)處理模塊對(duì)原始時(shí)序數(shù)據(jù)進(jìn)行去野值、等間隔插值、歸一化操作包括以下步驟:
首先,計(jì)算每個(gè)窗口的均值和標(biāo)準(zhǔn)差,判斷每個(gè)數(shù)據(jù)點(diǎn)與其所在觀察窗口均值之差是否大于5倍的觀察窗口的標(biāo)準(zhǔn)差,若大于,則該數(shù)據(jù)點(diǎn)為野值,剔除;
然后,對(duì)去野值后的時(shí)間序列進(jìn)行等間隔插值,設(shè)采樣間隔為△t,起始時(shí)刻是T,則等間隔插值后的時(shí)間集合為{T+n*△t n=0,1,2,3…},T+i*△t時(shí)刻對(duì)應(yīng)的值為原始序列中離該時(shí)刻最近的小于T+i*△t時(shí)刻所對(duì)應(yīng)的值,即原始序列中第一個(gè)大于T+i*△t時(shí)刻的前一個(gè)時(shí)刻所對(duì)應(yīng)的觀測(cè)值;
最后,對(duì)等間隔插值操作后的數(shù)據(jù)進(jìn)行線性歸一化,首先掃描一遍時(shí)間序列,獲得觀測(cè)值的最大值(max)和最小值(min),根據(jù)公式計(jì)算每個(gè)觀測(cè)點(diǎn)歸一化后的數(shù)值,將原始時(shí)間序列取值范圍轉(zhuǎn)換到[0,1]區(qū)間上,其中,xi表示第i個(gè)觀測(cè)點(diǎn)數(shù)值;△=max-min。
所述的特征提取模塊的特征提取步驟包括:首先,用滑動(dòng)窗口對(duì)單變量數(shù)據(jù)進(jìn)行切割,設(shè)原始數(shù)據(jù)的采樣起點(diǎn)是t時(shí)刻,采樣間隔是n秒,窗口大小為m,滑動(dòng)距離為l,則第一個(gè)窗口的時(shí)間段是t,t+n*m,二個(gè)窗口的起始時(shí)刻是第一個(gè)窗口起始時(shí)刻向后滑動(dòng)l,故第二個(gè)窗口的時(shí)間段是t+l,t+l+n*m,以此類推,得到N個(gè)窗口;
其次,對(duì)每個(gè)窗口內(nèi)的數(shù)據(jù)進(jìn)行離散小波分解,根據(jù)窗口大小,設(shè)置小波分解層數(shù)L,選取窗口內(nèi)最大的小波細(xì)節(jié)系數(shù)cDi作為該窗口的特征,[i,cDi]表示原始數(shù)據(jù)中的第i個(gè)窗口的小波特征。
所述的WDC聚類模塊的WDC聚類步驟:
1)簇的初始化,每個(gè)窗口單獨(dú)成簇,簇心為該窗口自身的特征向量的小波特征[i,cDi],窗口數(shù)目記作m,簇?cái)?shù)目記作n,此時(shí)n=m;
2)根據(jù)如下公式,計(jì)算聚類結(jié)果的誤差平方和SSEn;
其中,n表示簇的數(shù)目;w表示一個(gè)簇內(nèi)的窗口數(shù)目;j表示簇i內(nèi)的窗口下標(biāo);ci表示簇i的簇心;
3)根據(jù)如下公式,計(jì)算任意兩個(gè)簇的簇心距離;
dist(ci,cj)=|ci-cj|i≠j
其中,dist(ci,cj)表示簇i和簇j的曼哈頓距離;ci、cj分別表示兩個(gè)簇的簇心;
4)合并距離最近的兩個(gè)簇并且根據(jù)如下公式更換簇中心;
其中,c表示簇心;w表示該簇內(nèi)的窗口數(shù)目;cDi表示窗口i的最大小波細(xì)節(jié)系數(shù);
5)n數(shù)目減1;
6)重復(fù)步驟2)至5)直到n=1;
7)根據(jù)如下公式挑選出SSE下降最快時(shí)對(duì)應(yīng)的聚類結(jié)果,記作result={c1,c2,…ck},k表示該層聚類結(jié)果的簇?cái)?shù)目;
其中,i表示聚類的層數(shù);m是窗口數(shù)目,即聚類最大層數(shù);
8)計(jì)算result中任意兩個(gè)簇的距離,挑選出距離最近的兩個(gè)簇,記作ci,cj;
9)若dist(ci,cj)≤d,d=0.2,則合并這兩個(gè)簇,并且計(jì)算新簇的簇心,然后重復(fù)步驟8;
10)若dist(ci,cj)>d,則退出聚類過程;
11)聚類結(jié)果中較小的簇內(nèi)所含窗口即為該參數(shù)變化點(diǎn),較小的簇就是簇內(nèi)窗口數(shù)與總窗口數(shù)之比小于給定閾值0.2的簇,所有較小簇內(nèi)窗口的標(biāo)號(hào)則構(gòu)成該參數(shù)的變化點(diǎn)集合,即cpv={cp1,cp2,…,cpm},其中cpi是窗口標(biāo)號(hào)。
所述的CCP聚類模塊的CCP聚類步驟包括:
1)單個(gè)變量單獨(dú)成簇,設(shè)有n個(gè)變量,簇的數(shù)目記為k,則k=n;
2)根據(jù)如下公式,計(jì)算任意兩個(gè)簇的變化一致性系數(shù)CoC:
其中,CoC(c)表示簇c(ci,cj合并后的新簇)的變化一致性系數(shù);x、y是簇c內(nèi)任意兩個(gè)變量;z是簇內(nèi)變量數(shù)目,任意兩個(gè)變量的組合有z(z-1)/2種,一個(gè)簇的變化一致性系數(shù)就等于簇內(nèi)所有任意兩個(gè)變量的變化一致性系數(shù)的平均值
其中,CoC(x,y)表示兩個(gè)變量x、y的變化一致性系數(shù);|cpvx|表示變量x的變化點(diǎn)數(shù)目即該參數(shù)變化點(diǎn)集合的大??;|cpvy|表示變量y的變化點(diǎn)數(shù)目;|cpvxy|表示變量x和y的共同變化點(diǎn)數(shù)目;
cpvxy=cpvx∩cpvy
其中,cpvx、cpvy分別表示變量x、y的變化點(diǎn)集合;
3)挑選出變化一致性最強(qiáng)的兩個(gè)簇ci,cj,二者之間的變化一致性系數(shù)記作max_CoC;
4)如果max_CoC大于等于給定閾值0.8,則合并簇ci,cj,k數(shù)目減1,轉(zhuǎn)步驟2);
5)如果max_CoC小于給定閾值,則退出聚類過程,最終聚類結(jié)果中,同一個(gè)簇內(nèi)的變量具有關(guān)聯(lián)關(guān)系,且它們之間的關(guān)聯(lián)強(qiáng)度就是對(duì)應(yīng)簇的變化一致性系數(shù)CoC。
變化一致性是指若干個(gè)時(shí)序變量總是在相近的時(shí)刻發(fā)生變化。也就是說,如果多個(gè)變量較長(zhǎng)時(shí)間段上要么幾乎一起發(fā)生變化,要么又幾乎都不變化,這些變量具有潛在的關(guān)聯(lián)關(guān)系。本發(fā)明以變量的變化一致性為依據(jù)從大量變量集合中挖掘出具有關(guān)聯(lián)性的變量子集。相對(duì)于現(xiàn)有技術(shù),本發(fā)明具有以下有益效果:本發(fā)明從變化一致性角度出發(fā),考察多個(gè)個(gè)變量之間的關(guān)聯(lián)關(guān)系,這種關(guān)聯(lián)關(guān)系可以是非線性的,如指數(shù)、對(duì)數(shù)、多項(xiàng)式等函數(shù)關(guān)系。重點(diǎn)關(guān)注變量在變化下表現(xiàn)出來的關(guān)聯(lián)性,而一般的關(guān)聯(lián)規(guī)則挖掘方法只是挖掘正常情況下的頻繁模式。相比傳統(tǒng)的關(guān)聯(lián)規(guī)則挖掘方法Apriori和FP-Tree,本發(fā)明適合于對(duì)大量變量進(jìn)行關(guān)聯(lián)分析,從中發(fā)現(xiàn)參數(shù)之間潛在的關(guān)聯(lián)性。
附圖說明
圖1是本發(fā)明系統(tǒng)的模塊框架圖。
圖2是本發(fā)明WDC聚類模塊流程圖。
圖3是本發(fā)明CCP聚類模塊。
表1是本發(fā)明示例時(shí)序變量的數(shù)據(jù)仿真函數(shù)。
圖4是本發(fā)明部分示例時(shí)序變量的仿真數(shù)據(jù)圖形片段。
表2是CCP聚類模塊中示例時(shí)序數(shù)據(jù)變量關(guān)聯(lián)關(guān)系挖掘結(jié)果。
具體實(shí)施方式
下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
參見圖1,實(shí)現(xiàn)本發(fā)明的系統(tǒng)包括數(shù)據(jù)預(yù)處理模塊1-1、特征提取模塊1-2、WDC聚類模塊1-3和CCP聚類模塊1-4;本發(fā)明的具體技術(shù)方案是:
步驟一:采用數(shù)據(jù)預(yù)模塊1-1處理對(duì)原始時(shí)序數(shù)據(jù)進(jìn)行去野值、等間隔插值、歸一化操作,得到時(shí)序變量的有效數(shù)據(jù)形式;
首先,計(jì)算每個(gè)窗口的均值和標(biāo)準(zhǔn)差,判斷每個(gè)數(shù)據(jù)點(diǎn)與其所在觀察窗口均值之差是否大于5倍的觀察窗口的標(biāo)準(zhǔn)差,若大于,則該數(shù)據(jù)點(diǎn)為野值,剔除;
然后,對(duì)去野值后的時(shí)間序列進(jìn)行等間隔插值,設(shè)采樣間隔為△t,起始時(shí)刻是T,則等間隔插值后的時(shí)間集合為{T+n*△t n=0,1,2,3…},T+i*△t時(shí)刻對(duì)應(yīng)的值為原始序列中離該時(shí)刻最近的小于T+i*△t時(shí)刻所對(duì)應(yīng)的值,即原始序列中第一個(gè)大于T+i*△t時(shí)刻的前一個(gè)時(shí)刻所對(duì)應(yīng)的觀測(cè)值;
最后,對(duì)等間隔插值操作后的數(shù)據(jù)進(jìn)行線性歸一化,首先掃描一遍時(shí)間序列,獲得觀測(cè)值的最大值(max)和最小值(min),根據(jù)公式計(jì)算每個(gè)觀測(cè)點(diǎn)歸一化后的數(shù)值,將原始時(shí)間序列取值范圍轉(zhuǎn)換到[0,1]區(qū)間上,其中,xi表示第i個(gè)觀測(cè)點(diǎn)數(shù)值;△=max-min;
步驟二:其次,采用特征提取模塊1-2對(duì)時(shí)序變量的有效數(shù)據(jù)形式的每個(gè)窗口數(shù)據(jù)進(jìn)行離散小波變換,提取最大小波細(xì)節(jié)系數(shù);
首先,用滑動(dòng)窗口對(duì)單變量數(shù)據(jù)進(jìn)行切割,設(shè)原始數(shù)據(jù)的采樣起點(diǎn)是t時(shí)刻,采樣間隔是n秒,窗口大小為m,滑動(dòng)距離為l,則第一個(gè)窗口的時(shí)間段是t,t+n*m,二個(gè)窗口的起始時(shí)刻是第一個(gè)窗口起始時(shí)刻向后滑動(dòng)l,故第二個(gè)窗口的時(shí)間段是t+l,t+l+n*m,以此類推,得到N個(gè)窗口;
其次,對(duì)每個(gè)窗口內(nèi)的數(shù)據(jù)進(jìn)行離散小波分解,根據(jù)窗口大小,設(shè)置小波分解層數(shù)L,選取窗口內(nèi)最大的小波細(xì)節(jié)系數(shù)cDi作為該窗口的特征,[i,cDi]表示原始數(shù)據(jù)中的第i個(gè)窗口的小波特征;
步驟三:參見圖2,然后,采用WDC(Wavelet Detail Coefficient)聚類模塊1-3對(duì)單個(gè)變量所有窗口的最大小波細(xì)節(jié)系數(shù)進(jìn)行WDC聚類,聚類結(jié)果中小于閾值的簇內(nèi)窗口為變化點(diǎn);
1)首先進(jìn)行步驟2-1,簇的初始化,每個(gè)窗口單獨(dú)成簇,簇心為該窗口的小波特征cDi,窗口數(shù)目記作m,簇?cái)?shù)目記作n,此時(shí)n=m;
2)然后進(jìn)行步驟2-2,根據(jù)如下公式,計(jì)算聚類結(jié)果的誤差平方和SSEn(Sum of Squared Error);
其中,n表示簇的數(shù)目;w表示一個(gè)簇內(nèi)的窗口數(shù)目;j表示簇i內(nèi)的窗口下標(biāo);ci表示簇i的簇心;
3)執(zhí)行步驟2-3,根據(jù)如下公式,計(jì)算任意兩個(gè)簇的簇心距離;
dist(ci,cj)=|ci-cj|i≠j
其中,dist(ci,cj)表示簇i和簇j的曼哈頓距離;ci、cj分別表示兩個(gè)簇的簇心;
4)執(zhí)行步驟2-4,合并距離最近的兩個(gè)簇并且根據(jù)如下公式更換簇中心;
其中,c表示簇心;w表示該簇內(nèi)的窗口數(shù)目;cDi表示窗口i的最大小波細(xì)節(jié)系數(shù);
5)執(zhí)行步驟2-5,n數(shù)目減1;
6)執(zhí)行步驟2-6,重復(fù)步驟2)至5)直到n=1;
7)執(zhí)行步驟2-7,根據(jù)如下公式挑選出SSE下降最快時(shí)對(duì)應(yīng)的聚類結(jié)果,記作result={c1,c2,…ck},k表示該層聚類結(jié)果的簇?cái)?shù)目;
其中,i表示聚類的層數(shù);m是窗口數(shù)目,即聚類最大層數(shù);
8)執(zhí)行步驟2-8,計(jì)算result中任意兩個(gè)簇的距離,挑選出距離最近的兩個(gè)簇,記作ci,cj;
9)執(zhí)行步驟2-9,若dist(ci,cj)≤d,d=0.2),則合并這兩個(gè)簇,并且計(jì)算新簇的簇心,然后重復(fù)步驟8;
10)執(zhí)行步驟2-10,若dist(ci,cj)>d,則退出聚類過程;
11)聚類結(jié)果中較小的簇內(nèi)所含窗口即為該參數(shù)變化點(diǎn),較小的簇就是簇內(nèi)窗口數(shù)與總窗口數(shù)之比小于給定閾值0.2的簇,所有較小簇內(nèi)窗口的標(biāo)號(hào)則構(gòu)成該參數(shù)的變化點(diǎn)集合,即cpv={cp1,cp2,…,cpm},其中cpi是窗口標(biāo)號(hào)。
步驟四:參照?qǐng)D3,最后,采用CCP(Clustering based on Change Point)聚類模塊1-4對(duì)所有變量的變化點(diǎn)向量進(jìn)行CCP聚類,聚類結(jié)果中同一個(gè)簇內(nèi)的變量是相關(guān)的,最后輸出每個(gè)簇內(nèi)變量的關(guān)聯(lián)關(guān)系及其強(qiáng)度;
1)首先進(jìn)行步驟3-1,單個(gè)變量單獨(dú)成簇,設(shè)有n個(gè)變量,簇的數(shù)目記為k,則k=n;
2)執(zhí)行步驟3-2,根據(jù)如下公式,計(jì)算任意兩個(gè)簇的變化一致性系數(shù)CoC:
其中,CoC(c)表示簇c(ci,cj合并后的新簇)的變化一致性系數(shù);x、y是簇c內(nèi)任意兩個(gè)變量;z是簇內(nèi)變量數(shù)目,任意兩個(gè)變量的組合有z(z-1)/2種,一個(gè)簇的變化一致性系數(shù)就等于簇內(nèi)所有任意兩個(gè)變量的變化一致性系數(shù)的平均值
其中,CoC(x,y)表示兩個(gè)變量x、y的變化一致性系數(shù);|cpvx|表示變量x的變化點(diǎn)數(shù)目(即該參數(shù)變化點(diǎn)集合的大小);|cpvy|表示變量y的變化點(diǎn)數(shù)目;|cpvxy|表示變量x和y的共同變化點(diǎn)數(shù)目;
cpvxy=cpvx∩cpvy
其中,cpvx、cpvy分別表示變量x、y的變化點(diǎn)集合;
3)執(zhí)行步驟3-3,挑選出變化一致性最強(qiáng)的兩個(gè)簇ci,cj,二者之間的變化一致性系數(shù)記作max_CoC;
4)執(zhí)行步驟3-4,如果max_CoC大于等于給定閾值0.8,則合并簇ci,cj,k數(shù)目減1,轉(zhuǎn)步驟2);
5)執(zhí)行步驟3-5,如果max_CoC小于給定閾值,則退出聚類過程,最終聚類結(jié)果中,同一個(gè)簇內(nèi)的變量具有關(guān)聯(lián)關(guān)系,且它們之間的關(guān)聯(lián)強(qiáng)度就是對(duì)應(yīng)簇的變化一致性系數(shù)CoC。
參照表1,其為示例時(shí)序數(shù)據(jù)變量仿真函數(shù),根據(jù)仿真函數(shù),模擬每個(gè)變量20天的數(shù)據(jù),采樣間隔為20分鐘。其中共有三組相關(guān)變量,每組包含11個(gè)變量,A組變量和g1(x)相關(guān),B組變量和g2(x)相關(guān),C組變量和g3(x)相關(guān),公式如下:
表1
參照?qǐng)D4,其為部分示例時(shí)序數(shù)據(jù)變量的仿真數(shù)據(jù)圖形片段。圖中黃色、白色條標(biāo)記的部分表示窗口,其中“cDi”表示第i個(gè)窗口的最大小波細(xì)節(jié)系數(shù)。
參照表2,其為CCP聚類模塊中示例時(shí)序數(shù)據(jù)變量關(guān)聯(lián)關(guān)系挖掘結(jié)果,其中同一個(gè)簇內(nèi)的變量被認(rèn)為是具有關(guān)聯(lián)關(guān)系的,且它們之間的關(guān)聯(lián)強(qiáng)度就是對(duì)應(yīng)簇的變化一致性系數(shù)CoC。
表2