本發(fā)明屬于數(shù)據(jù)挖掘領(lǐng)域,主要涉及數(shù)據(jù)異常點(diǎn)檢測方法和檢測系統(tǒng)。
背景技術(shù):
:隨著大數(shù)據(jù)時(shí)代的到來,如何有效和高效地分析并挖掘包含在這些大規(guī)模數(shù)據(jù)集中的信息具有重要意義。在大規(guī)模的數(shù)據(jù)庫數(shù)據(jù)集包含的信息中,數(shù)據(jù)異常點(diǎn)往往包含著潛在的有價(jià)值的信息。異常點(diǎn)檢測作為數(shù)據(jù)挖掘的一個(gè)重要的研究分支,其主要功能是從龐大而復(fù)雜的數(shù)據(jù)中提取與主流數(shù)據(jù)有著極大區(qū)別同時(shí)數(shù)量極少的數(shù)據(jù)。目前研究人員已提出了大量異常點(diǎn)檢測算法,主要包括基于統(tǒng)計(jì)分布的方法、基于距離的方法以及基于聚類的檢測方法等。然而現(xiàn)有的大多數(shù)異常點(diǎn)算法都具有時(shí)間復(fù)雜度高,在處理大規(guī)模數(shù)據(jù)時(shí)往往會(huì)花費(fèi)很大的時(shí)間和空間。此外,目前大多數(shù)數(shù)據(jù)挖掘軟件對待檢測的數(shù)據(jù)庫環(huán)境具有較高的依賴性,通用性差。暫不存在能對任意基礎(chǔ)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)異常點(diǎn)自動(dòng)挖掘的軟件,極大限制了異常點(diǎn)檢測的應(yīng)用。技術(shù)實(shí)現(xiàn)要素:發(fā)明目的:針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明公開了一種基于動(dòng)態(tài)網(wǎng)格優(yōu)化的lof聚類數(shù)據(jù)異常點(diǎn)檢測方法和檢測系統(tǒng),所述檢測方法通過動(dòng)態(tài)網(wǎng)格縮小了lof算法的運(yùn)算數(shù)據(jù)量,極大地降低了lof算法的計(jì)算時(shí)間。技術(shù)方案:本發(fā)明采用如下技術(shù)方案:首先,本發(fā)明公開了一種基于動(dòng)態(tài)網(wǎng)格優(yōu)化的lof聚類數(shù)據(jù)異常點(diǎn)檢測方法,包括如下步驟:(1)根據(jù)初始單元網(wǎng)格向量m0和增長向量△p,得到最優(yōu)單元網(wǎng)格向量mopt;(2)根據(jù)最優(yōu)單元網(wǎng)格向量mopt將數(shù)據(jù)空間劃分為稠密區(qū)域rd、稀疏區(qū)域rs和過渡區(qū)域rt;(3)對步驟(2)中得到的過渡區(qū)域rt中的每一個(gè)網(wǎng)格,根據(jù)網(wǎng)格周邊密度比向量f劃分為稠密區(qū)域網(wǎng)格gd′和稀疏區(qū)域網(wǎng)格gs′;將稀疏區(qū)域網(wǎng)格gs′加入到稀疏區(qū)域rs中,組成數(shù)據(jù)空間的稀疏區(qū)域regions;(4)對數(shù)據(jù)空間的稀疏區(qū)域regions應(yīng)用lof算法檢測異常點(diǎn)。優(yōu)選地,步驟(1)中計(jì)算最優(yōu)單元網(wǎng)格向量mopt步驟如下:(1.1)n維數(shù)據(jù)空間的邊界表示為s(s1,s2,…,sn),根據(jù)初始單元網(wǎng)格向量m0(m1,m2,…,mn)和增長向量△p(△p1,△p2,…,△pn)生成單元網(wǎng)格向量集合φ:φ{(diào)m0,m1,1,…,m1,l1,m2,1,…,m2,l2,…,mn,1,mn,ln};其中mi,j為mi,j(m1,...,mi+△pi*j,...,mn),且1≤i≤n,1≤j≤max(l1,...,ln),mi+△pi*j≤si;(1.2)根據(jù)集合φ中的單元網(wǎng)格向量將n維數(shù)據(jù)空間劃分為稠密區(qū)域rd、稀疏區(qū)域rs和過渡區(qū)域rt,計(jì)算如下比值:過渡區(qū)域內(nèi)網(wǎng)格與稠密區(qū)域內(nèi)網(wǎng)格的數(shù)據(jù)量比p1=g1:c1;過渡區(qū)域內(nèi)網(wǎng)格與稀疏區(qū)域內(nèi)網(wǎng)格的數(shù)據(jù)量比p2=g1:x1;遍歷單元網(wǎng)格向量集合φ中的單元網(wǎng)格向量,得到p1取最小值時(shí)的單元網(wǎng)格向量m1和p2取最小值時(shí)的單元網(wǎng)格向量m2;(1.3)如果m1=m2,則最優(yōu)單元網(wǎng)格向量mopt為m1;如果m1≠m2,則最優(yōu)單元網(wǎng)格向量mopt=(m1+m2)/2。優(yōu)選地,根據(jù)選定的單元網(wǎng)格向量將數(shù)據(jù)空格劃分為n個(gè)網(wǎng)格,統(tǒng)計(jì)每個(gè)網(wǎng)格內(nèi)的數(shù)據(jù)量,并按數(shù)據(jù)量從大到小對網(wǎng)格進(jìn)行排序;所述稠密區(qū)域?yàn)閿?shù)據(jù)量最大的前個(gè)網(wǎng)格組成的區(qū)域;所述稀疏區(qū)域?yàn)閿?shù)據(jù)量最小的前個(gè)網(wǎng)格組成的區(qū)域;所述過渡區(qū)域?yàn)槌砻軈^(qū)域和稀疏區(qū)域外剩余的網(wǎng)格組成的區(qū)域。具體地,n維空間中的網(wǎng)格點(diǎn)pd1,d2,...,dn的網(wǎng)格周邊密度比向量f為一個(gè)3n-1維的向量,向量元素為n維空間中與網(wǎng)格點(diǎn)pd1,d2,...,dn相鄰的3n-1個(gè)網(wǎng)格內(nèi)的數(shù)據(jù)量與網(wǎng)格點(diǎn)pd1,d2,...,dn內(nèi)的數(shù)據(jù)量之比。具體地,步驟(4)應(yīng)用lof算法檢測異常點(diǎn)包括如下步驟:(4.1)計(jì)算數(shù)據(jù)空間的稀疏區(qū)域regions中每個(gè)數(shù)據(jù)點(diǎn)的k距離k-distance(p),其中p為屬于regions中的數(shù)據(jù)點(diǎn);(4.2)計(jì)算數(shù)據(jù)空間的稀疏區(qū)域regions中每個(gè)數(shù)據(jù)點(diǎn)p的k距離鄰域nk(p);(4.3)計(jì)算nk(p)到數(shù)據(jù)點(diǎn)p的局部可達(dá)密度irdk(p);(4.4)計(jì)算數(shù)據(jù)點(diǎn)p的局部異常因子lofk(p);根據(jù)lofk(p)的值判斷數(shù)據(jù)點(diǎn)p是否為異常點(diǎn)。優(yōu)選地,如果數(shù)據(jù)空間的維數(shù)n大于3,先將數(shù)據(jù)空間進(jìn)行降維,使維數(shù)小于等于3,然后再進(jìn)行異常點(diǎn)檢測。其次,本發(fā)明還公開了一種應(yīng)用上述基于動(dòng)態(tài)網(wǎng)格優(yōu)化的lof聚類數(shù)據(jù)異常點(diǎn)檢測系統(tǒng),包括數(shù)據(jù)源配置模塊、屬性配置模塊、算法檢測模塊;所述數(shù)據(jù)源配置模塊用于用戶配置需要檢測的數(shù)據(jù)信息;所述屬性配置模塊用于判斷屬性間的相互獨(dú)立性,;所述算法檢測模塊用于對屬性間為非函數(shù)關(guān)系且相關(guān)性高的數(shù)據(jù)應(yīng)用上述基于動(dòng)態(tài)網(wǎng)格優(yōu)化的lof聚類數(shù)據(jù)異常點(diǎn)檢測方法來檢測異常點(diǎn)。優(yōu)選地,所述數(shù)據(jù)異常點(diǎn)檢測系統(tǒng)還包括異常點(diǎn)顯示模塊,用于顯示檢測出的異常點(diǎn)。優(yōu)選地,所述數(shù)據(jù)異常點(diǎn)檢測系統(tǒng)還包括規(guī)則檢測模塊,在算法檢測模塊進(jìn)行異常點(diǎn)檢測之前對數(shù)據(jù)進(jìn)行簡單的規(guī)則檢測。有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明公開的數(shù)據(jù)異常點(diǎn)檢測方法具有以下優(yōu)點(diǎn):1、適用范圍廣,不拘泥于某種特定環(huán)境下的數(shù)據(jù)庫環(huán)境。對任意大規(guī)模的數(shù)據(jù),都可以采用本發(fā)明對其進(jìn)行檢測;2、對于具有非函數(shù)的強(qiáng)屬性關(guān)系,采用基于動(dòng)態(tài)網(wǎng)格的lof聚類檢測算法,計(jì)算出信息含量高的數(shù)據(jù)點(diǎn)的異常程度,極大的降低了lof算法的計(jì)算時(shí)間;3、動(dòng)態(tài)網(wǎng)格優(yōu)選部分運(yùn)算簡單,計(jì)算量小,但大大縮小了lof算法的運(yùn)算量。附圖說明圖1是二維空間數(shù)據(jù)點(diǎn)分布圖;圖2是取單元網(wǎng)格向量m0(m1,m2)對二維數(shù)據(jù)空間劃分的示意圖;圖3是取單元網(wǎng)格向量m′(m1+△m,m2)對二維數(shù)據(jù)空間劃分的示意圖;圖4是基于二維正態(tài)分布函數(shù)生成1000個(gè)數(shù)據(jù)點(diǎn)分布圖;圖5是基于固定單元網(wǎng)格算法劃分圖;圖6是基于動(dòng)態(tài)單元網(wǎng)格算法劃分圖;圖7是自動(dòng)檢測軟件流程圖。具體實(shí)施方式本發(fā)明公開了一種基于動(dòng)態(tài)網(wǎng)格優(yōu)化的lof聚類數(shù)據(jù)異常點(diǎn)檢測方法和應(yīng)用該方法的檢測系統(tǒng),下面以二維空間數(shù)據(jù)集的異常點(diǎn)檢測為例,結(jié)合附圖進(jìn)一步闡明本發(fā)明。首先本發(fā)明公開了一種基于動(dòng)態(tài)網(wǎng)格優(yōu)化的lof聚類數(shù)據(jù)異常點(diǎn)檢測方法,包括如下步驟:(1)根據(jù)初始單元網(wǎng)格向量m0(m1,m2)和增長向量△p(△p1,△p2),得到最優(yōu)單元網(wǎng)格向量mopt;根據(jù)一個(gè)選定的單元網(wǎng)格向量可以將數(shù)據(jù)空間劃分為多個(gè)網(wǎng)格,如圖1所示,為二維空間中一個(gè)數(shù)據(jù)集的分布圖。數(shù)據(jù)空間內(nèi)各個(gè)維度的單位長度劃分是獨(dú)立的,取一個(gè)較小的單元網(wǎng)格向量m0(m1,m2)作為初始的單元網(wǎng)格向量對數(shù)據(jù)空間進(jìn)行劃分,如圖2所示;對m0(m1,m2)中表示水平方向的維度給定一個(gè)增量,得到新的單位網(wǎng)格向量m′(m1+△m,m2),按照m′對數(shù)據(jù)空間重新進(jìn)行劃分,如圖3所示。不同的單元網(wǎng)格向量代表了數(shù)據(jù)空間不同的劃分方式,導(dǎo)致每個(gè)網(wǎng)格中數(shù)據(jù)量不同,根據(jù)每個(gè)網(wǎng)格中的數(shù)據(jù)量將數(shù)據(jù)空間劃分為稠密區(qū)域、稀疏區(qū)域和過渡區(qū)域。設(shè)根據(jù)選定的單元網(wǎng)格向量將數(shù)據(jù)空格劃分為n個(gè)網(wǎng)格,統(tǒng)計(jì)每個(gè)網(wǎng)格內(nèi)的數(shù)據(jù)量,并按數(shù)據(jù)量從大到小對網(wǎng)格進(jìn)行排序;定義數(shù)據(jù)量最大的前個(gè)網(wǎng)格組成的區(qū)域?yàn)槌砻軈^(qū)域;數(shù)據(jù)量最小的前個(gè)網(wǎng)格組成的區(qū)域?yàn)橄∈鑵^(qū)域;除稠密區(qū)域和稀疏區(qū)域外剩余的網(wǎng)格組成的區(qū)域?yàn)檫^渡區(qū)域。步驟(1)通過遍歷來尋找一個(gè)較優(yōu)的單位網(wǎng)格向量,使得過渡區(qū)域內(nèi)網(wǎng)格與稀疏區(qū)域內(nèi)網(wǎng)格的數(shù)據(jù)量比和過渡區(qū)域內(nèi)網(wǎng)格與稀疏區(qū)域內(nèi)網(wǎng)格的數(shù)據(jù)量比都盡量小。具體步驟如下:(1.1)2維數(shù)據(jù)空間的邊界表示為s(s1,s2),根據(jù)初始單元網(wǎng)格向量m0(m1,m2)和增長向量△p(△p1,△p2)生成單元網(wǎng)格向量集合φ;首先對m0第一個(gè)維度以△p1為單位做增量,生成一系列單位網(wǎng)格向量:m1,1(m1+△p1,m2)、m1,2(m1+△p1*2,m2)、……、m1,l1(m1+△p1*l1,m2);m1+△p1*l1滿足小于等于2維數(shù)據(jù)空間第一維度的邊界s1;同樣對m0第二個(gè)維度以△p2為單位做增量,生成一系列單位網(wǎng)格向量:m2,1(m1,m2+△p2)、m2,2(m1,m2+△p2*2)、……、m2,l2(m1,m2+△p2*l2);m2+△p2*l2滿足小于等于2維數(shù)據(jù)空間第二維度的邊界s2;由此得到集合φ{(diào)m0,m1,1,…,m1,l1,m2,1,…,m2,l2};(1.2)根據(jù)集合φ中的單元網(wǎng)格向量將2維數(shù)據(jù)空間劃分為稠密區(qū)域rd、稀疏區(qū)域rs和過渡區(qū)域rt,計(jì)算如下比值:過渡區(qū)域內(nèi)網(wǎng)格與稠密區(qū)域內(nèi)網(wǎng)格的數(shù)據(jù)量比p1=g1:c1;過渡區(qū)域內(nèi)網(wǎng)格與稀疏區(qū)域內(nèi)網(wǎng)格的數(shù)據(jù)量比p2=g1:x1;其中g(shù)1為過渡區(qū)域內(nèi)所有網(wǎng)格中的數(shù)據(jù)量總和;c1為稠密區(qū)域內(nèi)所有網(wǎng)格中的數(shù)據(jù)量總和;x1為稀疏區(qū)域內(nèi)所有網(wǎng)格中的數(shù)據(jù)量總和。遍歷單元網(wǎng)格向量集合φ中的單元網(wǎng)格向量,得到p1取最小值時(shí)的單元網(wǎng)格向量m1和p2取最小值時(shí)的單元網(wǎng)格向量m2;(1.3)設(shè)如果m1=m2,則最優(yōu)單元網(wǎng)格向量mopt為m1;如果m1≠m2,則最優(yōu)單元網(wǎng)格向量mopt=(m1+m2)/2,此時(shí)(2)根據(jù)步驟(1)得到的最優(yōu)單元網(wǎng)格向量mopt將數(shù)據(jù)空間劃分為稠密區(qū)域rd、稀疏區(qū)域rs和過渡區(qū)域rt;(3)對步驟(2)中得到的過渡區(qū)域rt中的每一個(gè)網(wǎng)格,根據(jù)網(wǎng)格周邊密度比向量f劃分為稠密區(qū)域網(wǎng)格gd′和稀疏區(qū)域網(wǎng)格gs′;將稀疏區(qū)域網(wǎng)格gs′加入到稀疏區(qū)域rs中,組成數(shù)據(jù)空間的稀疏區(qū)域regions;n維空間中的網(wǎng)格點(diǎn)pd1,d2,...,dn的網(wǎng)格周邊密度比向量f為一個(gè)3n-1維的向量,向量元素為n維空間中與網(wǎng)格點(diǎn)pd1,d2,...,dn相鄰的3n-1個(gè)網(wǎng)格內(nèi)的數(shù)據(jù)量與網(wǎng)格點(diǎn)pd1,d2,...,dn內(nèi)的數(shù)據(jù)量之比。本實(shí)施例以二維數(shù)據(jù)空間為例,如表1所示,網(wǎng)格a為中心網(wǎng)格,包含的數(shù)據(jù)量為a,周邊相鄰網(wǎng)格有8個(gè):b1,b2,b3,b4,b5,b6,b7,b8,每個(gè)網(wǎng)格區(qū)域內(nèi)的數(shù)據(jù)量分別為b1,b2,b3,b4,b5,b6,b7,b8。網(wǎng)格周邊密度比向量表1b1b2b3b8ab4b7b6b5網(wǎng)格a中的數(shù)據(jù)量與其周邊相鄰網(wǎng)格的數(shù)據(jù)量越接近,則表示網(wǎng)格a中的數(shù)據(jù)為異常數(shù)據(jù)的可能性越?。环粗?,如果網(wǎng)格a中的數(shù)據(jù)量與其周邊相鄰網(wǎng)格的數(shù)據(jù)量差異越大,則網(wǎng)格a中的數(shù)據(jù)越有可能為異常數(shù)據(jù)。本實(shí)施例以兩個(gè)網(wǎng)格數(shù)據(jù)量之比在[0.9,1.1]范圍內(nèi)為數(shù)據(jù)量接近,在此范圍之外為數(shù)據(jù)量差異較大;網(wǎng)格a與周邊8個(gè)相鄰網(wǎng)格的數(shù)據(jù)量進(jìn)行比較,如有5個(gè)或以上數(shù)據(jù)量接近,則認(rèn)為網(wǎng)格a與周邊網(wǎng)格數(shù)據(jù)量接近。由此,如果網(wǎng)格周邊密度比向量中有5個(gè)或以上元素的值在[0.9,1.1]范圍內(nèi),則將網(wǎng)格a標(biāo)記為稠密區(qū)域網(wǎng)格;否則,將網(wǎng)格a標(biāo)記為稀疏區(qū)域網(wǎng)格。對過渡區(qū)域的網(wǎng)格都進(jìn)行了標(biāo)記后,將其中的稀疏區(qū)域網(wǎng)格加入到稀疏區(qū)域rs中,組成數(shù)據(jù)空間的稀疏區(qū)域regions。(4)對數(shù)據(jù)空間的稀疏區(qū)域regions應(yīng)用lof算法檢測異常點(diǎn);lof(localoutlierfactor,局部異常因子算法)是一種基于距離的異常檢測算法。本發(fā)明應(yīng)用lof算法對數(shù)據(jù)空間的稀疏區(qū)域regions中的數(shù)據(jù)點(diǎn)進(jìn)行檢測,具體包括如下步驟:(4.1)計(jì)算數(shù)據(jù)空間的稀疏區(qū)域regions中每個(gè)數(shù)據(jù)點(diǎn)的k距離k-distance(p),其中p為屬于regions中的數(shù)據(jù)點(diǎn);對任意給定的自然數(shù)k,數(shù)據(jù)點(diǎn)p的k距離k-distance(p)定義如下:在數(shù)據(jù)的樣本空間d內(nèi),存在對象o,它與對象p之間的距離記作d(p,o);如果滿足以下兩條件:(a)在樣本空間內(nèi),至少存在k個(gè)對象qi,i∈[1,..,k],且qi≠p,使得d(p,qi)≤d(p,o);(b)在樣本空間內(nèi),最多存在k-1個(gè)對象rj,j∈[1,..,k-1],且rj≠p,使得d(p,rj)≤d(p,o);則認(rèn)為k距離k-distance(p)=d(p,o)。本發(fā)明中,數(shù)據(jù)的樣本空間d即為數(shù)據(jù)空間的稀疏區(qū)域regions。顯而易見,若采用k距離k-distance(p)來量化對象p的局部空間范圍,對于對象密度越大的區(qū)域,k距離k-distance(p)的值就越大。對于密度越小的區(qū)域,k距離k-distance(p)的值就越小。(4.2)計(jì)算數(shù)據(jù)空間的稀疏區(qū)域regions中每個(gè)數(shù)據(jù)點(diǎn)p的k距離鄰域nk(p);數(shù)據(jù)點(diǎn)p的k距離鄰域定義如下:對已知的數(shù)據(jù)點(diǎn)p的k距離k-distance(p),數(shù)據(jù)對象p的第k距離鄰域是指數(shù)據(jù)樣本空間d內(nèi)所有與對象p的距離小于或者等于k-distance(p)的數(shù)據(jù)對象的集合,即:nk-distance(p)={qi|d(p,qi)≤k-distance(p),qi∈d}(1)其中nk-distance(p)記作nk(p);(4.3)計(jì)算集合nk(p)到數(shù)據(jù)點(diǎn)p的局部可達(dá)密度irdk(p);局部可達(dá)密度irdk(p)的計(jì)算如下:其中reach_distk(p,o)為數(shù)據(jù)點(diǎn)p相對于數(shù)據(jù)點(diǎn)o的可達(dá)距離,計(jì)算如下:reach_distk(p,o)=max(k-distance(o),d(p,o))(3)由定義可知,當(dāng)對象p與對象o的距離超過p的k距離k-distance(p),則兩者的可達(dá)距離就是兩個(gè)對象之間的距離;當(dāng)對象p與對象o的距離小于p的k距離k-distance(p),則兩者的可達(dá)距離就是對象o的k距離。(4.4)計(jì)算數(shù)據(jù)點(diǎn)p的局部異常因子lofk(p);根據(jù)lofk(p)的值判斷數(shù)據(jù)點(diǎn)p是否為異常點(diǎn);局部異常因子lofk(p)可以表示數(shù)據(jù)對象的局部離群程度,計(jì)算如下:若p的局部異常程度越小,那么lofk(p)越接近于1;相反,若p的局部異常程度越大,那么lofk(p)越遠(yuǎn)離于1。通過lof算法能在數(shù)據(jù)分布不均勻的情況下準(zhǔn)確的發(fā)現(xiàn)異常點(diǎn)。當(dāng)數(shù)據(jù)空間的維數(shù)過大時(shí),算法的準(zhǔn)確度會(huì)下降,為解決這個(gè)問題,如果數(shù)據(jù)空間的維數(shù)n大于3,先將數(shù)據(jù)空間進(jìn)行降維,使維數(shù)小于等于3,然后再進(jìn)行異常點(diǎn)檢測。下面選取lof算法和固定單元格lof作為對比方法,對本發(fā)明所公開的異常點(diǎn)檢測方法的網(wǎng)格劃分后效果、運(yùn)行時(shí)間、精確度進(jìn)行分析。試驗(yàn)平臺配置:intelcorei5,2.7ghz,內(nèi)存4gb,windowsxp操作系統(tǒng),編程環(huán)境為myeclipse。(1)網(wǎng)格劃分效果本實(shí)施例基于二維正態(tài)分布函數(shù)生成1000個(gè)數(shù)據(jù)點(diǎn)。以原點(diǎn)(0,0)為二維正態(tài)分布的中心,x和y的取值范圍都在[0,90]內(nèi)。如圖4所示。采用的網(wǎng)格的基礎(chǔ)寬度w=7,增量為1,即初始單元網(wǎng)格向量m0(7,7),增長向量△p(1,1)。固定網(wǎng)格劃分采用單元網(wǎng)格寬度為9,即單元格為9×9。采用本發(fā)明所公開的異常點(diǎn)檢測方法,其中動(dòng)態(tài)單元網(wǎng)格算法劃分計(jì)算出過渡區(qū)域網(wǎng)格與稠密網(wǎng)格區(qū)域數(shù)值比p1,過渡區(qū)域網(wǎng)格與稀疏網(wǎng)格區(qū)域數(shù)值比p2如表1所示。表1不同單元網(wǎng)格寬度下p1、p2單元網(wǎng)格寬度過渡區(qū)域與稠密區(qū)域比p1過渡區(qū)域與稀疏區(qū)域比p2n=80.2426567.03703n=90.224597.4583n=100.222644.48717n=110.194192.9056n=120.176184.53125n=130.188984.57236根據(jù)表1中p1和p2的數(shù)值信息,當(dāng)p1和p2的值越小,過渡區(qū)域就越薄。因此基于動(dòng)態(tài)單元網(wǎng)格算法選取單元網(wǎng)格寬度為11時(shí),效果最好。采用動(dòng)態(tài)單元網(wǎng)格劃分和固定單元網(wǎng)格劃分效果如圖5所示。圖5和圖6中,圓形數(shù)據(jù)集點(diǎn)代表的是稠密網(wǎng)格區(qū)域中所包含的點(diǎn),星形數(shù)據(jù)集點(diǎn)代表在稀疏網(wǎng)格區(qū)域所包含的點(diǎn)。根據(jù)兩圖對比,明顯可以看出基于動(dòng)態(tài)單元網(wǎng)格算法所分離出的稀疏區(qū)域點(diǎn)的數(shù)量明顯少于基于固定單元網(wǎng)格算法分離出的稀疏區(qū)域點(diǎn),這樣可以極大的降低lof算法的時(shí)間。(2)運(yùn)行時(shí)間采用基于二維正態(tài)分布函數(shù)生成數(shù)據(jù),記錄在不同的數(shù)據(jù)量的情況下,分別執(zhí)行固定網(wǎng)格單元和動(dòng)態(tài)單元網(wǎng)格算法。每種算法分別執(zhí)行5次,記錄其執(zhí)行平均執(zhí)行時(shí)間,如表2所示。表2不同數(shù)量集兩種算法執(zhí)行時(shí)間數(shù)量級基于固定單元網(wǎng)格基于動(dòng)態(tài)單元網(wǎng)格500875ms824ms10001743ms1522ms30005143ms4133ms50009148ms6143ms基于固定單元網(wǎng)格算法采用的單元網(wǎng)格寬度為9,閾值是網(wǎng)格數(shù)據(jù)點(diǎn)數(shù)的平均值?;趧?dòng)態(tài)的單元網(wǎng)格算法采用的單元網(wǎng)格寬度為13,11,8,6。根據(jù)表中算法執(zhí)行的時(shí)間可以看出,固定單元網(wǎng)格不能良好的適用不同密度情況下網(wǎng)格的劃分。相比于固定單元網(wǎng)格劃分,基于動(dòng)態(tài)單元網(wǎng)格算法適用性要強(qiáng),執(zhí)行的時(shí)間明顯要低于基于固定單元網(wǎng)格算法的時(shí)間。(3)檢測精確度為了測試兩種算法的精確度,還是采用采用基于二維正態(tài)分布函數(shù)生成數(shù)據(jù),記錄在不同數(shù)據(jù)量的情況下,分別執(zhí)行固定單元網(wǎng)格、動(dòng)態(tài)單元網(wǎng)格算法和lof算法,并記錄其檢測出異常點(diǎn)的個(gè)數(shù)分別為m1、m2、mlof,如表3所示。算法精度η采用以下公式計(jì)算:表3不同數(shù)量級兩種算法的精度數(shù)量集500100030005000固定網(wǎng)格檢測的異常點(diǎn)4378192326動(dòng)態(tài)網(wǎng)格檢測的異常點(diǎn)4282263452lof檢測的異常點(diǎn)5184271491固定網(wǎng)格精度0.8430.9280.7080.721動(dòng)態(tài)網(wǎng)格精度0.8230.9760.97040.920根據(jù)表3的結(jié)果,采用固定網(wǎng)格劃分時(shí),數(shù)據(jù)集密度不一樣,劃分效果差距很大。網(wǎng)格寬度過寬,會(huì)將異常點(diǎn)劃分到稠密區(qū)域。動(dòng)態(tài)單元網(wǎng)格劃分降低了這樣的錯(cuò)誤。所以其精度基本保持在90%以上。綜上所述,從網(wǎng)格劃分上來看,采用動(dòng)態(tài)單元網(wǎng)格方法,可以動(dòng)態(tài)的選取單元網(wǎng)格寬度。根據(jù)不同的數(shù)據(jù)集和不同數(shù)據(jù)集的量級來改變單元網(wǎng)格寬度。從而大幅度的減少稀疏區(qū)域網(wǎng)格中數(shù)據(jù)集點(diǎn)的數(shù)量。從時(shí)間復(fù)雜度上來看,由于采用了動(dòng)態(tài)網(wǎng)格劃分,極大減少了使用lof算法處理的數(shù)量級,從而減少了整個(gè)異常點(diǎn)檢測算法的時(shí)間。從精度上來看,采用動(dòng)態(tài)的單元網(wǎng)格劃分,選取一個(gè)合適的單元網(wǎng)格寬度,盡最大可能的減少了過渡區(qū)域的數(shù)據(jù)級。采用網(wǎng)格周邊密度比向量,對過渡區(qū)域網(wǎng)格處理,將過渡區(qū)域中密度較高的區(qū)分出來。這樣盡可能將存在異常點(diǎn)的網(wǎng)格和存在正常點(diǎn)的網(wǎng)格區(qū)分出來,從而提高算法的精確度。本發(fā)明還公開了一種應(yīng)用上述基于動(dòng)態(tài)網(wǎng)格優(yōu)化的lof聚類數(shù)據(jù)異常點(diǎn)檢測方法的數(shù)據(jù)異常點(diǎn)檢測系統(tǒng),包括數(shù)據(jù)源配置模塊、屬性配置模塊、規(guī)則檢測模塊、算法檢測模塊;異常點(diǎn)顯示模塊。其中數(shù)據(jù)源配置模塊用于用戶配置需要檢測的數(shù)據(jù)信息;如果是對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行檢測,需要配置數(shù)據(jù)庫類型、地址、端口、用戶名、密碼等信息,并且連接到要檢測的數(shù)據(jù)庫。屬性配置模塊用于判斷屬性間的相互獨(dú)立性;用戶選擇數(shù)據(jù)的多種屬性,之后對所選的屬性判斷屬性間的相互獨(dú)立性。例如對于人體健康方面的參數(shù),用戶手動(dòng)選擇身高、體重、血壓等屬性,之后根據(jù)概率統(tǒng)計(jì)學(xué)中判斷相互獨(dú)立事件公式p(x1,x2,...,xn)=p(x1)p(x2)…p(xn)判斷不同屬性間是否具有相互獨(dú)立性。如果等式兩端的差值小于某一閾值,認(rèn)為被檢測屬性間相互獨(dú)立;反之,認(rèn)為被檢測屬性具有相關(guān)性。依次計(jì)算出所有的屬性的相關(guān)性,將具有相關(guān)性的屬性匹配對選取出來,作為后續(xù)規(guī)則檢測和算法檢測的檢測對象。規(guī)則檢測模塊在算法檢測模塊進(jìn)行異常點(diǎn)檢測之前對數(shù)據(jù)進(jìn)行簡單的規(guī)則檢測;依據(jù)程序給定的規(guī)則如空值檢測,重復(fù)檢測等對數(shù)據(jù)庫中所有的數(shù)據(jù)進(jìn)行簡單的規(guī)則檢測,挑出不符合規(guī)則檢測的所有數(shù)據(jù)點(diǎn),這些數(shù)據(jù)點(diǎn)屬于異常點(diǎn)。如空值檢測就是檢測數(shù)據(jù)庫內(nèi)所有表或者視圖的某個(gè)屬性是否存在空值的數(shù)據(jù)。算法檢測模塊用于對屬性間為非函數(shù)關(guān)系且相關(guān)性高的數(shù)據(jù)應(yīng)用上述基于動(dòng)態(tài)網(wǎng)格優(yōu)化的lof聚類數(shù)據(jù)異常點(diǎn)檢測方法來檢測異常點(diǎn);算法檢測模塊主要分為兩部分,首先判斷數(shù)據(jù)的屬性間是否具有函數(shù)關(guān)系,對給定的屬性匹配對進(jìn)行回歸和擬合分析,計(jì)算數(shù)據(jù)和函數(shù)關(guān)系匹配程度,如果匹配程度高于某一個(gè)閾值,則認(rèn)為數(shù)據(jù)具有函數(shù)關(guān)系,否則認(rèn)為數(shù)據(jù)不具有函數(shù)關(guān)系。其次對屬性間不具有函數(shù)關(guān)系的數(shù)據(jù)進(jìn)行異常點(diǎn)檢測,根據(jù)概率統(tǒng)計(jì)學(xué)相互獨(dú)立公式,計(jì)算相互獨(dú)立程度。相互獨(dú)立程度越高,說明數(shù)據(jù)間相關(guān)性弱,反之越高。對相關(guān)性高的數(shù)據(jù),采用基于動(dòng)態(tài)網(wǎng)格的lof算法來進(jìn)行聚類,檢測出離群程度大的異常點(diǎn)。對相關(guān)性弱的數(shù)據(jù)集,采用高斯檢測來檢測出偏離大的異常點(diǎn)。為了更加直觀地顯示檢測結(jié)果,還包括異常點(diǎn)顯示模塊,用于顯示檢測出的異常點(diǎn)。當(dāng)前第1頁12