本發(fā)明涉及大數(shù)據(jù)異常狀態(tài)檢測技術(shù),尤其涉及一種基于時間序列近似匹配的大數(shù)據(jù)異常狀態(tài)檢測方法及裝置。
背景技術(shù):
異常狀態(tài)檢測廣泛應用于電力,遙感、道橋、機械等各種領(lǐng)域,對于系統(tǒng)的正常運轉(zhuǎn)具有極其重要的作用。近年來,由于在線檢測數(shù)據(jù)的體量大、類型繁多的特點,人們將大數(shù)據(jù)技術(shù)引入到了異常檢測中,為提高系統(tǒng)異常檢測準確性提供了全新的解決方法和思路。
在異常狀態(tài)檢測中,時間序列分析法是一種常用的方法?,F(xiàn)有技術(shù)中提出了一種基于集合的時間序列分析法,該方法首先將分布于時間軸上的數(shù)據(jù)按照一定的規(guī)則和分割系數(shù)分割為集合,并對集合編號,集合序號包含著該集合中數(shù)據(jù)點的幅值信息和在時間軸上的位置信息。然后將包含著多個數(shù)據(jù)點的集合看作新的元素,與其他時間序列比較,并利用杰卡德(jaccard)系數(shù)衡量兩序列的相似性。這種方法將比較時間序列的相似性轉(zhuǎn)換為比較集合的相似性,大大加快了運算速度,并且具有良好的可擴展性。
然而,上述方法的匹配精度和匹配速度很大程度上依賴于所分割的集合的大小,分割越精細,集合越小,則精度越高。但過小的集合又會導致集合數(shù)過大從而影響降低算法的匹配速度,尤其是將之應用于大數(shù)據(jù)計算系統(tǒng)中后,龐大的數(shù)據(jù)量將會進一步使該檢測方法的性能惡化。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有異常狀態(tài)檢測方法在提高精度時加大了數(shù)據(jù)運算量的缺陷,提供了一種基于時間序列近似匹配的大數(shù)據(jù)異常狀態(tài)檢測方法及裝置,通過將基于集合的時間序列分割與哈希分割相結(jié)合,進一步對數(shù)據(jù)進行降維,減少運算數(shù)據(jù)量,更適用于大數(shù)據(jù)計算計算系統(tǒng)中的異常檢測。
本發(fā)明第一方面,提供了一種基于時間序列近似匹配的大數(shù)據(jù)異常狀態(tài)檢測方法,包括以下步驟:
a、根據(jù)待測時間序列的數(shù)據(jù)范圍以及預設(shè)的分割系數(shù)將所述待測時間序列劃分到多個集合中,并采用數(shù)據(jù)點所在的集合編號組成的一維待測序列表示所述待測時間序列;
b、根據(jù)標準時間序列的數(shù)據(jù)范圍以及所述分割系數(shù)將所述標準時間序列劃分到多個集合中,并采用數(shù)據(jù)點所在的集合編號組成的一維標準序列表示所述標準時間序列;
c、對所述一維待測序列和一維標準序列進行哈希運算;
d、計算所述一維待測序列和一維標準序列的杰卡德系數(shù),并判斷杰卡德系數(shù)小于預設(shè)閾值的時間序列為存在異常狀態(tài)的序列。
優(yōu)選地,所述方法還包括在步驟d之后執(zhí)行的步驟e:對步驟d中檢測出的不存在異常狀態(tài)的時間序列,減小分割系數(shù),并迭代執(zhí)行步驟a至d直至滿足異常狀態(tài)檢測的精度要求。
本發(fā)明第二方面,提供了一種基于時間序列近似匹配的大數(shù)據(jù)異常狀態(tài)檢測裝置,包括:
待測數(shù)據(jù)分割模塊,用于根據(jù)待測時間序列的數(shù)據(jù)范圍以及預設(shè)的分割系數(shù)將所述待測時間序列劃分到多個集合中,并采用數(shù)據(jù)點所在的集合編號組成的一維待測序列表示所述待測時間序列;
標準數(shù)據(jù)分割模塊,用于根據(jù)標準時間序列的數(shù)據(jù)范圍以及所述分割系數(shù)將所述標準時間序列劃分到多個集合中,并采用數(shù)據(jù)點所在的集合編號組成的一維標準序列表示所述標準時間序列;
哈希運算模塊,用于對所述一維待測序列和一維標準序列進行哈希運算;
相似性檢測模塊,計算所述一維待測序列和一維標準序列的杰卡德系數(shù),并判斷杰卡德系數(shù)小于預設(shè)閾值的時間序列為存在異常狀態(tài)的序列。
優(yōu)選地,所述裝置還包括:迭代篩選模塊,用于對相似性檢測模塊檢測出的不存在異常狀態(tài)的時間序列,減小分割系數(shù),并迭代執(zhí)行異常狀態(tài)檢測操作直至滿足異常狀態(tài)檢測的精度要求。
實施本發(fā)明的基于時間序列近似匹配的大數(shù)據(jù)異常狀態(tài)檢測方法及裝置,具有以下有益效果:本發(fā)明通過將基于集合的時間序列分割與哈希運算相結(jié)合,對包含集合編號的新表進行哈希運算,減小了計算杰卡德系數(shù)的運算量;進一步地,本發(fā)明可以采用多次篩選的辦法,首先對序列進行較粗的分割,再對剩余序列進行較細的分割,保證整體運算速度的同時又兼顧了異常狀態(tài)檢測的精度。
附圖說明
圖1為根據(jù)本發(fā)明優(yōu)選實施例的基于時間序列近似匹配的大數(shù)據(jù)異常狀態(tài)檢測方法的流程圖;
圖2為根據(jù)本發(fā)明優(yōu)選實施例的基于時間序列近似匹配的大數(shù)據(jù)異常狀態(tài)檢測方法的集合分割示意圖;
圖3為根據(jù)本發(fā)明優(yōu)選實施例的基于時間序列近似匹配的大數(shù)據(jù)異常狀態(tài)檢測裝置的模塊框圖;
圖4為根據(jù)本發(fā)明優(yōu)選實施例的裝置中的待測數(shù)據(jù)分割模塊的一種實施方式的示意圖;
圖5為根據(jù)本發(fā)明優(yōu)選實施例的裝置中的相似性檢測模塊的一種實施方式的示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
請參閱圖1,為根據(jù)本發(fā)明優(yōu)選實施例的基于時間序列近似匹配的大數(shù)據(jù)異常狀態(tài)檢測方法的流程圖。如圖1所示,該方法包括以下步驟:
首先,在步驟s101中,根據(jù)待測時間序列s的數(shù)據(jù)范圍以及預設(shè)的分割系數(shù)將待測時間序列s劃分到多個集合中,并采用數(shù)據(jù)點所在集合編號組成的一維待測序列s'表示待測時間序列s。其中,待測時間序列s的數(shù)據(jù)范圍包括tmax、tmin、xmax和xmin,預設(shè)的分割系數(shù)包括σ和ε。分割系數(shù)σ和ε決定每個集合的大小,由實際需要的異常狀態(tài)檢測精度和數(shù)據(jù)量決定。
在本發(fā)明更優(yōu)選的實施方式中,該步驟s101具體包括:
(1)依據(jù)預設(shè)的分割系數(shù)σ和ε將待測時間序列s的數(shù)據(jù)點劃分到m×n個集合中,其中總行數(shù)m=(xmax-xmin)/σ,總列數(shù)n=(tmax-tmin)/ε。其中tmax和tmin為待測時間序列s的時間上限值和下限值,xmax和xmin為待測時間序列s的幅值上限值和下限值。也就是說,依據(jù)預設(shè)的分割系數(shù)σ和ε,將待測時間序列s的時間軸劃分為n=(tmax-tmin)/ε個小區(qū)間,幅值軸劃分為m=(xmax-xmin)/σ個小區(qū)間,使得待測時間序列s的數(shù)據(jù)點按照各自的坐標值被劃分在了m×n個大小均為σ×ε的集合中。
(2)對步驟(1)得到的多個集合進行編號,假設(shè)待測時間序列s上的數(shù)據(jù)點p(ti,xi),1≤i≤k,其中k為所述待測時間序列s的數(shù)據(jù)點總數(shù)。則該數(shù)據(jù)點p(ti,xi)所在集合編號為:ni=(mi-1)×n+ni,其中該數(shù)據(jù)點所在行數(shù)mi=(xi-xmin)/σ,該數(shù)據(jù)點所在列數(shù)ni=(ti-tmin)/ε,由此構(gòu)建一維待測序列s'={n1,n2,…,nk}。可見,集合編號ni中既包含著集合中數(shù)據(jù)點的時間信息,也包含著幅值信息,因此,可用由集合編號組成的新的數(shù)據(jù)表s’代替原始的待測時間序列s,從而將二維數(shù)據(jù)轉(zhuǎn)換成一維數(shù)據(jù)。
請結(jié)合參閱圖2,為根據(jù)本發(fā)明優(yōu)選實施例的基于時間序列近似匹配的大數(shù)據(jù)異常狀態(tài)檢測方法的集合分割示意圖。如圖2所示,其中依據(jù)預設(shè)的分割系數(shù)σ和ε,將待測時間序列s的時間軸t劃分為n=4個小區(qū)間,幅值軸劃分為m=5個小區(qū)間,從而將待測時間序列s分割到5×4個集合中,按照前述規(guī)律對每個集合進行編號后,可以使用待測時間序列s所有數(shù)據(jù)點分布的集合編號來構(gòu)建一維序列作為一維待測序列s',如圖2中s'={1,2,6,7,11,12,16,20}。
隨后,在步驟s102中,根據(jù)標準時間序列q的數(shù)據(jù)范圍以及與步驟s101中相等的分割系數(shù)σ和ε將標準時間序列q分為多個集合,同樣采用標準時間序列q的數(shù)據(jù)點所在的集合編號組成的一維標準序列q’表示標準時間序列q。
隨后,在步驟s103中,對包含集合編號的一維待測序列s'和一維標準序列q’進行哈希運算,以減小數(shù)據(jù)量。具體地,該步驟s103中對序列表中數(shù)據(jù)進行取余運算,將余數(shù)相同的數(shù)據(jù)放入同一哈希桶內(nèi),以減小數(shù)據(jù)量。
最后,在步驟s104中,計算一維待測序列s'和一維標準序列q'的杰卡德(jaccard)系數(shù),并判斷杰卡德系數(shù)小于預設(shè)閾值的時間序列為存在異常狀態(tài)的序列。
在本發(fā)明更優(yōu)選的實施方式中,該步驟s104具體包括:
(1)通過以下公式計算一維待測序列s'和一維標準序列q'的杰卡德系數(shù):j(s',q')=|s'∩q'|/|s'∪q'|。其中一維待測序列s'和一維標準序列q'包含的是集合編號,而非原始時間序列的數(shù)據(jù),也就是將時間序列的相似性運算轉(zhuǎn)化為了集合的相似性運算。該步驟中可先計算各個哈希桶間的杰卡德系數(shù),再對杰卡德系數(shù)較小的哈希桶中包含的待測序列進行逐一計算。
(2)判斷j(s',q')<jmin的時間序列存在異常狀態(tài),判斷j(s',q')≥jmin的時間序列不存在異常狀態(tài),其中jmin為預設(shè)閾值。
在本發(fā)明更優(yōu)選的實施方式中,基于時間序列近似匹配的大數(shù)據(jù)異常狀態(tài)檢測方法還包括在步驟s104之后執(zhí)行的以下步驟:對步驟s104中檢測出的不存在異常狀態(tài)的時間序列,減小分割系數(shù)σ和ε,并迭代執(zhí)行步驟s101-s104直至滿足異常狀態(tài)檢測的精度要求。該步驟可以對前述判斷的不存在異常狀態(tài)的時間序列,即j(s',q')≥jmin的時間序列,進行二次檢測,或者進行多次檢測直至滿足異常檢測的精度要求。當對異常檢測的精度要求較高時,可以重復多次執(zhí)行步驟s101-s104,并且在每次重復時減小分割系數(shù)σ和ε,從而進行更細的分割,直至滿足異常狀態(tài)檢測的精度要求。
請結(jié)合參閱圖3,為根據(jù)本發(fā)明優(yōu)選實施例的基于時間序列近似匹配的大數(shù)據(jù)異常狀態(tài)檢測裝置的模塊框圖。如圖3所示,該實施例提供的基于時間序列近似匹配的大數(shù)據(jù)異常狀態(tài)檢測裝置10至少包括:待測數(shù)據(jù)分割模塊100、標準數(shù)據(jù)分割模塊200、哈希運算模塊300和相似性檢測模塊400。
其中,待測數(shù)據(jù)分割模塊100根據(jù)待測時間序列s的數(shù)據(jù)范圍以及預設(shè)的分割系數(shù)將待測時間序列s劃分到多個集合中,并采用數(shù)據(jù)點所在集合編號組成的一維待測序列s'表示待測時間序列s。
標準數(shù)據(jù)分割模塊200用于根據(jù)標準時間序列q的數(shù)據(jù)范圍以及與待測數(shù)據(jù)分割模塊100中相等的分割系數(shù)σ和ε將標準時間序列q分為多個集合,同樣采用標準時間序列q的數(shù)據(jù)點所在的集合編號組成的一維標準序列q’表示標準時間序列q。
哈希運算模塊300與待測數(shù)據(jù)分割模塊100以及標準數(shù)據(jù)分割模塊200相連,用于對包含集合編號的一維待測序列s'和一維標準序列q’進行哈希運算,以減小數(shù)據(jù)量。優(yōu)選地,該哈希運算模塊300對序列表中數(shù)據(jù)進行取余運算,將余數(shù)相同的數(shù)據(jù)放入同一哈希桶內(nèi),進一步減小數(shù)據(jù)量。
相似性檢測模塊400與所述哈希運算模塊300相連,用于計算一維待測序列s'和一維標準序列q'的杰卡德(jaccard)系數(shù),并判斷杰卡德系數(shù)小于預設(shè)閾值的時間序列為存在異常狀態(tài)的序列。
請結(jié)合參閱圖4,為根據(jù)本發(fā)明優(yōu)選實施例的裝置中的待測數(shù)據(jù)分割模塊的一種實施方式的示意圖。如圖4所示,該待測數(shù)據(jù)分割模塊100包括:數(shù)據(jù)分割單元110以及與之相連的數(shù)據(jù)編號單元120。
其中數(shù)據(jù)分割單元110,用于依據(jù)預設(shè)的分割系數(shù)σ和ε將待測時間序列s的數(shù)據(jù)點劃分到m×n個集合中,其中總行數(shù)m=(xmax-xmin)/σ,總列數(shù)n=(tmax-tmin)/ε。其中tmax和tmin為待測時間序列s的時間上限值和下限值,xmax和xmin為待測時間序列s的幅值上限值和下限值。
數(shù)據(jù)編號單元120用于對數(shù)據(jù)分割單元110分割的多個集合進行編號,假設(shè)待測時間序列s上的數(shù)據(jù)點p(ti,xi),1≤i≤k,其中k為所述待測時間序列s的數(shù)據(jù)點總數(shù);則該數(shù)據(jù)點p(ti,xi)所在集合編號為:ni=(mi-1)×n+ni,其中mi=(xi-xmin)/σ,ni=(ti-tmin)/ε,由此構(gòu)建一維待測序列s'={n1,n2,…,nk}。
請結(jié)合參閱圖5,為根據(jù)本發(fā)明優(yōu)選實施例的裝置中的相似性檢測模塊的一種實施方式的示意圖。如圖5所示,該相似性檢測模塊400包括:系數(shù)計算單元410以及與之相連的系數(shù)計算單元420。
其中系數(shù)計算單元410用于通過以下公式計算一維待測序列s'和一維標準序列q'的杰卡德系數(shù):j(s',q')=s'∩q'|/|s'∪q'|。
異常判斷單元420用于判斷j(s',q')<jmin的時間序列存在異常狀態(tài),判斷j(s',q')≥jmin的時間序列不存在異常狀態(tài),其中jmin為預設(shè)閾值。
在本發(fā)明更優(yōu)選的實施例中,該基于時間序列近似匹配的大數(shù)據(jù)異常狀態(tài)檢測裝置還可以進一步的包括:迭代篩選模塊,與相似性檢測模塊400連接,用于對相似性檢測模塊400檢測出的不存在異常狀態(tài)的時間序列,減小分割系數(shù),迭代執(zhí)行異常狀態(tài)檢測操作。也就是說,迭代篩選模塊可對j(s',q')≥jmin的時間序列進行二次篩選。具體為減小分割系數(shù)σ和ε,對j(s',q')≥jmin的時間序列進行二次分割,使用與前面相同的方法繼續(xù)進行異常狀態(tài)檢測。該二次篩選模塊也可以進行多次檢測直至滿足異常狀態(tài)檢測的精度要求,并且在每次檢測時減小分割系數(shù)σ和ε,從而進行更細的分割。
綜上所述,本發(fā)明的關(guān)鍵點在于將基于集合的時間序列分割與哈希運算相結(jié)合,對包含集合編號的新表,即一維待測序列s'和一維標準序列q'進行哈希運算,減小了計算杰卡德(jaccard)系數(shù)的運算量。進一步地,本發(fā)明采用多次篩選的辦法,保證異常狀態(tài)檢測的精度。首先對序列進行較粗的分割,再對剩余序列進行較細的分割,保證整體運算速度的同時又兼顧了運算精度。
最后應說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。