1. 程式人生 > >異常點檢測演算法分析與選擇

異常點檢測演算法分析與選擇

在資料庫中包含著少數的資料物件,它們與資料的一般行為或特徵不一致,這些資料物件叫做異常點 (Outlier)  ,也叫做孤立點。異常點的檢測和分析是一種十分重要的資料探勘型別,被稱之為異常點挖掘 [28  ]  。 

對於異常資料的挖掘主要是使用偏差檢測,在數學意義上,偏差是指分類中的反常例項、不滿足規則的特例,或者觀測結果與模型預測值不一致並隨時間的變化的值等等。偏差檢測的基本目標是尋找觀測結果與參照值之間有意義的差別,主要的偏差技術有聚類、序列異常、最近鄰居法、多維資料分析等。除了識別異常資料外,異常資料探勘還致力於尋找異常資料間隱含模型,用於智慧化的分析預測。對於異常資料分析方法的研究是論文的重要內容之一,通過研究異常資料,找到適合出口企業產品質量深入分析和有效監管的方法和策略。 

從 20  世紀 80  年代起,異常檢測問題就在統計學領域裡得到廣泛研究,通常使用者用某個統計分佈對資料點進行建模,再以假定的模型,根據點的分佈來確定是否異常。許許多多針對不同分佈的異常測試 (Discordancy Test)  方法發展起來,它們分別適用於不同的情形:①資料分佈狀況;②資料分佈引數是否已知;③異常資料數量;④異常資料型別 (  高於或低於一般抽樣值 )  。這方面比較有代表性的有 1967  年 Mikey  , Dunn & Clark  提出的基於“均數漂移”模型的單點診斷量, 1970  年 Gentleman &Wilk  提出的群組診斷量, 1972  年 Tietjen &Moore  提出的單樣本 k  個離群點的統計量 E k

  , 1985  年 Marasinghe  提出的改進的 E k   統計量 F k   , 1989  年 Rosner  提出的單樣本多個離群檢測演算法 ESD(Generalized Extreme Studentized Deviate)  方法, 1991  年 Paul & Fung  改進了 ESD  方法引數 k  選擇的主觀性,提出了迴歸分析的 GESR (Generalized Extreme Studentized DeviateResi2dual)  方法。近年來,多樣本的離群檢測方法也得到了一定的發展,總的思路是先儘量得到一個不含離群點的“乾淨集”,然後在此基礎上對剩餘的其他資料點進行逐步離群檢測  [29
  ]
。 

目前利用統計學研究異常點資料有了一些新的方法,如通過分析統計資料的散度情況,即資料變異指標,來對資料的總體特徵有更進一步的瞭解,對資料的分佈情況有所瞭解,進而通過資料變異指標來發現資料中的異常點資料。常用的資料變異指標有極差、四分位數間距、均差、標準差、變異係數等等,變異指標的值大表示變異大、散佈廣;值小表示離差小,較密集。 

基於統計的方法檢測出來的離群點很可能被不同的分佈模型檢測出來,可以說產生這些離群點的機制可能不唯一,解釋離群點的意義時經常發生多義性,這是基於統計方法的一個缺陷。其次,基於統計的方法在很大程度上依賴於待挖掘的資料集是否滿足某種概率分佈模型,模型的引數、離群點的數目等對基於統計的方法都有非常重要的意義,而確定這些引數通常都比較困難。為克服這一問題,一些人提出對資料集進行分佈擬合,但分佈擬合存在兩個問題:①給出的分佈可能不適合任一標準分佈。②即使存在一個標準分佈,分佈擬合的過程耗時太長。此外,基於統計的離群檢測演算法大多隻適合於挖掘單變數的數值型資料,目前幾乎沒有多元的不一致檢驗,對於大多數的應用來說,例如影象和地理資料,資料集的維數卻可能是高維的。實際生活中,以上缺陷都大大限制了基於統計的方法的應用,使得它主要侷限於科研計算,演算法的可移植性較差。 

用什麼標準判定一個數據物件是孤立點呢?即便是對給定的距離量度函式,對孤立點也有不同的定義,以下是使用較多的幾個:  

l            基於距離的離群點最早是由 Knorr  和 Ng  提出的,他們把記錄看作高維空間中的點,離群點被定義為資料集中與大多數點之間的距離都大於某個閾值的點,通常被描述為 DB ( pct   , d  min   )   ,資料集 T  中一個記錄 稱為離群點,當且僅當資料集 T  中至少有 pct  部分的資料與 的距離大於 min   。換一種角度考慮,記 M =N    × (1 - pct)   ,離群檢測即判斷與點 距離小於 min   的點是否多於 M  。若是,  則 不是離群點,否則 是離群點 [4 ][36 。  

l            孤立點是資料集中到第 個最近鄰居的距離最大的 個物件 [37。 

l            孤立點是資料集中與其 個最近鄰居的平均距離最大的 個物件 [38  ]  。 

基於距離的離群點定義包含並拓展了基於統計的思想,即使資料集不滿足任何特定分佈模型,它仍能有效地發現離群點,特別是當空間維數比較高時,演算法的效率比基於密度的方法要高得多 [39  ]  。演算法具體實現時,首先給出記錄間距離的度量,常用的是絕對距離 (  曼哈頓距離 )  、歐氏距離和馬氏距離 [40  ]  。在給出了距離的度量並對資料進行一定的預處理以後,任意給定引數 pct  min   就可以根據離群的定義來檢測離群。 Rastogi   和 Ramaswamy  在上面基於距離的離群點定義的基礎上,提出改進的基於距離的 最近鄰 (k   - NN  )  離群檢測演算法 [37 ][41  ][42  ]  。 

基於距離的離群檢測方法中,演算法需要事先確定引數 pct  min   ,對於不同的資料集這往往是一件比較困難的事情,特別是 min   ,不同聚類密度的資料集 min   會有很大的差異,而這一般沒有規律可循,因此,對於給定的不同 min   ,異常檢測結果通常具有很大的不穩定性 [43  ]  。另一方面,基於距離的方法理論上能處理任意維任意型別的資料,當屬性資料為區間標度等非數值屬性時,記錄之間的距離不能直接確定,通常需要把屬性轉換為數值型 [37 ][44  ]  ,再按定義計算記錄之間的距離。當空間的維數大於三維時,由於空間的稀疏性,距離不再具有常規意義,因此很難為異常給出合理的解釋。針對這個問題,一些人通過將高維空間對映轉換到子空間的辦法來解決資料稀疏的問題,此方法在聚類演算法中用得比較多 [45  ][46  ]  , Agarwal R.[45  ]   等人曾試著用這種投影變換的方法來挖掘離群。總的來說,基於距離的離群檢測方法具有比較直觀的意義,演算法比較容易理解,因此在實際中應用得比較多。 

目前比較成熟的基於距離的異常點檢測的演算法有: 

1  .基於索引的演算法 (Index-based)  :給定一個數據集合,基於索引的演算法採用多維索引結構 R-  樹, k-d  樹等,來查詢每個物件在半徑 d  範圍內的鄰居。假設 M  為異常點資料的 領域內的最大物件數目。如果物件 的 M+l  個鄰居被發現,則物件 就不是異常點。這個演算法在最壞情況下的複雜度為 O(k*n  2 )   , 為維數, 為資料集合中物件的數目。當 增加時,基於索引的演算法具有良好的擴充套件性 [44  ]  。 

2  .巢狀迴圈演算法 (Nested-loop)  :巢狀一迴圈演算法和基於索引的演算法有相同的計算複雜度,但是它避免了索引結構的構建,試圖最小化 I/O  的次數。它把記憶體的緩衝空間分為兩半,把資料集合分為若干個邏輯塊。通過精心選擇邏輯塊裝入每個緩衝區域的順序, I/O  效率能夠改善 [44。 

3  .基於單元的演算法 (cell-based)[47  ]   :在該方法中,資料空間被劃為邊長等於 d /(2*k  1/2 )  的單元。每個單元有兩個層圍繞著它。第一層的厚度是一個單元,而第二層的厚度是 [2*k  1/2 -1]  。該演算法逐個單元地對異常點計數,而不是逐個物件地進行計數。對於一個給定的單元,它累計三個計數:單元中物件的數目 (cell_count)  、單元和第一層中物件的數目 (cell_+_1_layer_count)  單元和兩個層次中的物件的數目 (cell_+_2_layers_count)  。該演算法將對資料集的每一個元素進行異常點資料的檢測改為對每一個單元進行異常點資料的檢測,它提高了演算法的效率。它的演算法複雜度是 O(c  k   +n )   ,這裡的 是依賴於單元數目的常數, 是維數。它是這樣進行異常檢測的:若 cell_+_1_layer_count>M  ,單元中的所有物件都不是異常;若 cell_+_2_layers_count<=M  ,單元中的所有物件都是異常;否則,單元中的某一些資料可能是異常。為了檢測這些異常點,需要逐個物件加入處理。基於距離的異常點檢測方法要求使用者設定引數 ,而尋找這些引數的合適設定可能涉及多次試探和錯誤。 

基於距離的方法與基於統計的方法相比,不需要使用者擁有任何領域知識,與序列異常相比,在概念上更加直觀。更重要的是,距離異常接近 Hawkins  的異常本質定義。然而,三種類型的基於距離的離群檢測演算法中,基於索引的演算法和迴圈——巢狀演算法需要 O (k *2 )  的時間開銷,因此在大資料集中還有待於改進;而基於單元的演算法,雖然與 具有線性的時間關係,但是它與 成指數關係,這限制了它在高維空間中的應用,此外,基於單元的演算法還需要事先確定引數 pct  min   以及單元的大小,這使得演算法的可行性比較差;高維空間中,基於索引的方法由於需要事先建立資料集的索引,建立與維護索引也要花大量的時間。因此三種方法對於高維空間中的大資料集,演算法的效率都不高 [44  ]  。 

基於密度的離群檢測演算法一般都建立在距離的基礎上,某種意義上可以說基於密度的方法是基於距離的方法中的一種,但基於密度的異常觀點比基於距離的異常觀點更貼近 Hawkins  的異常定義,因此能夠檢測出基於距離的異常演算法所不能識別的一類異常資料——區域性異常。基於密度的方法主要思想是將記錄之間的距離和某一給定範圍內記錄數這兩個引數結合起來,從而得到“密度”的概念,然後根據密度判定記錄是否為離群點。 

Breunig  等人提出的基於區域性離群因子的異常檢測演算法 LOF  是基於密度方法的一個典型例子。它首先產生所有點的 MinPts  鄰域及 MinPts  距離,並計算到其中每個點的距離;對低維資料,利用網格進行 k   - NN  查詢,計算時間為 O   (n )   ;對中維或中高維資料,採用如 X2  樹等索引結構,使得進行 k2NN  查詢的時間為 O (logn )   ,整個計算時間為 O (nlogn )  ;對特高維資料,索引結構不再有效,時間複雜度提高到 O ( 2   )  。然後計算每個點的區域性異常因子,最後根據區域性異常因子來挖掘離群。 LOF  演算法中,離群點被定義為相對於全域性的區域性離群點,這與傳統離群的定義不同,離群不再是一個二值屬性 (  要麼是離群點,要麼是正常點 )   ,它擯棄了以前所有的異常定義中非此即彼的絕對異常觀念,更加符合現實生活中的應用。 

LOF  演算法中充分體現了“區域性”的概念,每個點都給出了一個離群程度,離群程度最強的那幾個點被標記為離群點。此外, Aggarwal  也提出了一個結合子空間投影變換的基於密度的高維離群檢測演算法。 

基於深度的離群點檢測演算法的主要思想是先把每個記錄標記為 維空間裡的一個點,然後根據深度的定義 (  常用 Peeling Depth Contours  定義 )  給每個點賦予一個深度值;再根據深度值按層組織資料集,深度值較小的記錄是離群點的可能性比深度值較大的記錄大得多,因此演算法只需要在深度值較小的層上進行離群檢測,不需要在深度值大的記錄層進行離群檢測。基於深度的方法比較有代表性的有 Struyf  和 Rousseeuw  提出的 DEEPLOC  演算法。雖然,理論上基於深度的識別演算法可以處理高維資料,然而實際計算時, 維資料的多層操作中,若資料集記錄數為 ,則操作的時間複雜度為Ω (N   [k/2 ] )   。因此,當維數 ≤ 3  時處理大資料集時還有可能是高效的,而當 ≥ 4  時,演算法的效率就非常低。也就是說,已有的基於深度的離群點檢測演算法無法挖掘高維資料,只有當 ≤ 3  時計算效率才是可接受的。 

基於偏移的離群檢測演算法 (Deviation-based Outlier Detection)  通過對測試資料集主要特徵的檢驗來發現離群點。目前,基於偏移的檢測演算法大多都停留在理論研究上,實際應用比較少。以下三種是比較有代表性的 :   ① Arning  採用了系列化技術的方法來挖掘離群,由於演算法對異常存在的假設太過理想化,因此並沒有得到普遍的認同,對於現實複雜資料,其效果不太好,經常遺漏了不少的異常資料 ;   ② Sarawagi  應用 OLAP  資料立方體引進了發現驅動的基於偏移的異常檢測演算法 ;   ③ Jagadish  給出了一個高效的挖掘時間序列中異常的基於偏移的檢測演算法。雖然,基於偏移的離群檢測演算法理論上可以挖掘各種型別的資料,但是由於要事先知道資料的主要特徵,而現實世界中的資料集一方面由於資料量比較大,另一方面由於屬性比較多,因此這方面的特徵往往不容易發現,當確定記錄之間的相異度函式時,如果選擇不合適,則得到的離群挖掘結果很可能不盡人意,所以本方法在實際問題中應用得比較少。 

基於偏移的異常點檢測不採用統計檢驗或者基於距離的度量值來確定異常物件,它是模仿人類的思維方式,通過觀察一個連續序列後,迅速地發現其中某些資料與其它資料明顯的不同來確定異常點物件,即使不清楚資料的規則。基於偏移的異常點檢測常用兩種技術:序列異常技術和 OLAP  資料立方體技術。我們簡單介紹序列異常的異常點檢測技術。序列異常技術模仿了人類從一系列推測類似的物件中識別異常物件的方式。它利用隱含的資料冗餘。給定 個物件的集合 S  ,它建立一個子集合的序列, {S 1   , S 2   , …  , Sm}  ,這裡 2<= m< =n   ,由此,求出子集間的偏離程度,即“相異度”。該演算法從集合中選擇一個子集合的序列來分析。對於每個子集合,它確定其與序列中前一個子集合的相異度差異。光滑因子最大的子集就是異常資料集。這裡對幾個相關概念進行解釋: 

1  .異常集:它是偏離或異常點的集合,被定義為某類物件的最小子集,這些物件的去除會產生剩餘集合的相異度的最大減少。 

2  .相異度函式:已知一個數據集,如果兩個物件相似,相異函式返回值較小,反之,相異函式返回值較大;一個數據子集的計算依賴於前個子集的計算。 

3  .基數函式:資料集、資料子集中資料物件的個數。 

4  .光滑因子:從原始資料集中去除子集,相異度減小的兩度,光滑因子最大的子集就是異常點資料集。 

基於偏差的異常點資料的檢測方法的時間複雜度通常為 O(n )  , 為物件個數。基於偏差的異常點檢測方法計算效能優異,但由於事先並不知道資料的特性,異常存在的假設太過理想化,因而相異函式的定義較為複雜,對現實複雜資料的效果不太理想。 

以上幾種異常檢測演算法一般都是在低維資料上進行的,對於高維資料的效果並不是很好。與低維空間不同,高維空間中的資料分佈得比較稀疏,這使得高維空間中資料之間的距離尺度及區域密度不再具有直觀的意義 [48  ]  。基於這個原因, Aggarwal  和 Yu  提出一個高維資料異常檢測的方法。它把高維資料集對映到低維子空間,根據子空間對映資料的稀疏程度來確定異常資料是否存在。 

(4‑  1   )


高維資料的異常點檢測的主要思想是:首先它將資料空間的每一維分成小 個等深度區間。所謂等深度區間是指將資料對映到此一維空間上後,每一區間包含相等的 f    = 1/     的資料點。然後在資料集的 k  維子空間中的每一維上各取一個 等深度區間,組成一個 維立方體,則立方體中的資料對映點數為一個隨機數毛。設 n(D)  為 維立方體 D  所包含點數, N  為總的點數。定義稀疏係數 s(D)  如   4‑1   所示: 

4-1   

s(D)  為負數時,說明立方體 D  中資料點低於期望值, s(D)  越小,說明該立 方體中資料越稀疏。 

資料空間的任一模式可以用 ml m2 … mi …  表示。 mi  指此資料在第 i  維子空間對映區間,可以取值 1  到      ,或者 *(  牢表示可以為任意對映值 )  。異常檢 測問題可以轉化成為尋找對映在 k(k  作為引數輸入 )  維子空間上的異常模式以及符合這些異常模式的資料。如 4  維空間中一個對映在 2  維子空間上的模式 (         = 10 ) *3*90  高維資料中尋找異常模式是非常困難的。一個簡單辦法是對所有資料維進 行組合,來搜尋可能異常模式,但是效率極其低下。 

檢疫檢疫局監管出口企業生產批質量資料的過程是:首先檢驗檢疫局下發給企業產品出口標準和引數,企業的質量控制人員可以參考此標準和引數組織生產活動,同時將出口產品的某一批次定位生產批,在產品的生產過程,將生產批的質量監控資料上報到檢疫檢疫局。此生產批將與後期在檢驗檢驗局出口報檢產品建立對應關係,這樣如果出口產品出現問題,檢疫檢疫執法機構可以通過此種模式的回溯機制定位到此產品生產過程的質量引數。目前企業上報的生產批資料主要是企業自身的質量控制人員手工錄入的,資料錄入過程中人為因素很大。出口電子監管系統中建立了一套複雜的基於規則標準的監管體系,檢疫檢疫局認可通過出口電子監管系統綜合評定的企業上報的生產批資料,但是對於一些有意鑽漏洞的企業,如果其一旦掌握了電子監管系統的評定規則,將對出口產品的質量安全帶來新的危險。出口產品質量的異常檢測就是在此問題的背景下,藉助文中闡述的 OLAM  模型,通過時間序列的相似度查詢,找到異常序列。 

企業在生產過程中是存在某些時間序列的,其時間序列可能存在一些規律性的變換,例如季節變化產生的植物類食品的週期性變換,企業的生產工藝加工方法造成的週期性變化等等。有些異常點檢測的研究主要集中於資料集內單資料點,這一方法在進行欺詐檢測、金融監管、可疑交易監控等實際應用過程中出現了誤報率高、真正的異常行為模式被掩蓋的問題,產生問題的原因是現實生活中各種波動週期的存在  [19 ] 。例如,一個賬戶連續 11  個月每月存入 5   千元,到第 12   月突然存入 5   萬元,基於單資料點比較的離群判別模式將認為該月資料顯著異常而報告為離群點,而這 5  萬元實際可能是一筆正常的年終獎金。基於時間序列相似度分析的方法則將多個數據點通過時間軸連線成曲線,由點擴充套件到線,對線與線之間的相似度或差異度進行分析,由此可將孤立事件串聯而成有規律的行為模式理解,更能夠反映出人們在現實生活中的活動規律。由此可見,電子監管中的出口企業也同樣存在這個規律,尤其食品的出口跟時間有著密切的聯絡。論文中的通過研究不同的異常點檢測演算法,找到了一種基於時間序列相似度的離群點檢測模式。 

時間序列由兩個基本因素構成:一個是被研究現象所屬時間,另一個是反映該現象一定時間條件下數量特徵的指標值。 

從統計意義上來講,所謂時間序列就是將某一指標在不同時間上的不同數值,按照時間的先後順序排序而成的數列。這種數列由於受到各種偶然因素的影響,往往表現出某種隨機性,彼此之間存在這統計上的依賴關係。雖然每一個時刻上的取之或資料點的位置具有一定的隨機性,不可能完全準確地用歷史值來預測將來,但是前後時刻的數值或資料點的相關性往往呈現某種趨勢性或週期性變化,這是時間序列挖掘的可行性之所在。時間序列挖掘通過對過去歷史行為的客觀記錄分析,揭示其內在的規律(如波動的週期、振幅、趨勢的種類等),進而完成預測未來行為等決策性工作  [30 ] 。 

在統計分析中,對時間序列還採取一種簡化、直接的分析方法,它沒有具體描述被研究現象與其影響因素之間的關係,而是把各影響因素分別看作一種作用力,被研究物件的時間序列則看成合力;然後按作用特點和影響效果將影響因素規為 4  類,即趨勢變動( T  )、季節變動( S  )、迴圈變動( C  )和隨機變動( I  )。這四種類項的變動疊加在一起,形成了實際觀測到的時間序列,因而可以通過對這四種變動形式的考察來研究時間系列的變動 

[31   ]  。 

在時間序列序列挖掘的研究中,目前比較集中的問題之一是時間序列的快速查詢以及相應的存取結構設計。早期的工作著重與精確查詢。但是,大多數新型的資料庫應用,特別是資料探勘應用需要資料庫具備相似( Similarity  )查詢能力。對於在幾兆,甚至幾十兆的時間序列資料庫中發現兩個模式相似的序列,手工處理很難勝任這樣的工作,傳統的資料庫查詢方法也難以完成此類任務,因此時間序列相似性查詢成為目前資料探勘領域的一個新的研究課題。目前國際和國內對時間序列相似度的研究提出了許多種解決方法,這些方法主要包括基於直接距離、傅立葉變換、 ARMA   模型引數法、規範變換、時間彎曲模型、界標模型、神經網路、小波變換、規則推導等。 

從理論上來看,基於統計特性描述(如一階統計量和高階統計量)或引數建模(如 AR  建模和 ARMA  建模)的傳統時間序列分析方法有可能用來解決相似性問題,但實際上並不能得到很好的結果,其主要困難在於相似性度量的定義和演算法的時間複雜度,而這兩者都依賴於時間序列的近似表示方法。因此,尋求某種魯棒性強且計算複雜度低的時間序列近似表示方法,一直是解決相似性搜尋問題的關鍵。迄今為止,時間序列相似性搜尋問題已經提出了 10  年左右的時間,在這段時間內,先後出現了許多面向相似性搜尋的時間序列近似表示方法,如 Agrawal  採用的離散傅立葉變換( DFT  , Discrete Fourier Transform)  、 Chan  等人採用的 Haar  小波變換方法、 Last   等人提出的關鍵特徵(如斜率和信噪比)法、 Guralnik  等人提出的字元表方法、 Korn  等人提出的奇異值分解( SVD  , Singular Value Decomposition  )法、 Keogh  等人先後提出的分段累積近似法( PAA  , Piecewise Aggregate Approximation  )、分段線性表示( PLR  , Piecewise Linear Representation  )和適應性分段常數近似法( APCA  , Adaptive Piecewise Constant  )等分段方法,以及 Perng  等人提出的界標模型( Landmark Model  )等。這些表示方法各有所長,為時間序列相似性研究提供了諸多可以借鑑與參考的方向  [32  ] 。本論文通過 OLAM  模型,實現了在 Weka  中基於離散傅立葉變換的時間序列相似性查詢方法,通過此異常檢查策略的實際應用來展示 OLAM  模型的實用性。 

傅立葉變換是一種重要的積分變換,早已被廣泛應用。在時間序列分析方面,離散傅立葉變換具有獨特的優點。例如,給定一個時間序列,可以用離散傅立葉變換把其從時域空間變換到頻域空間。根據 Parseval  的理論,時域能量函式與頻域能量譜函式是等價的。這樣就可以把比較時域空間的序列相似性問題轉化為比較頻域空間的頻譜相似性問題。另外,因為頻域空間的大部分能量集中前幾個係數上,因此可以不考慮離散傅立葉變換得到的其他係數。把這些被保留係數看作從時間序列上提取的特徵,這樣就可以從每個序列中獲得若干(記為 k  )特徵,進而可以進一步把它們對映到 k  維空間上。這樣就可以用一些目前被廣泛採用多維索引方法(如 R*  數、 k-D-  樹、線性四叉樹( Linear Quad tree  )、網格檔案( Grid  - File  )),來儲存和檢索這些多維空間的點  [33 ][34 ] 。 

下面描述一下如何進行基於離散傅立葉變換的完全匹配。所謂完全匹配必須保證被查詢的序列與給出的序列有相同的長度。因此,與子序列匹配相比,工作就相對簡單一些。 

給定一個時間序列 X = {xt|t = 0  , 1  , ...  , n-1}  ,對 X  進行離散傅立葉變換,得到   4‑2)   

 
這裡, X  與 xt  代表時域資訊,而     與 Xf  代表頻域資訊,     = {Xf| f  = 0  , 1  ,, n  - 1}  , Xf  為傅立葉係數。 

4-2

根據 Parserval  的理論,時域能量譜函式與頻域能量譜函式相同,得到  4‑ 3  )

 4-3 


衡量兩個序列是否相似的一般方法是用歐氏距離。如果兩個序列的歐氏距離小於     的話,則認為這兩個序列相似,即滿足如下公式:

4-4   


按照 Parserval  的理論,如下式子也應該成立: 

 4-5  

 
對大多數序列來說,能量集中在傅立葉變換後的前幾個係數,也就是說一個訊號的高頻部分相對來說並不重要。因此我們只取前面   fc <n   個係數,即

4-6

因此   

 4-7  

首次篩選所做的工作就是,從提出特徵後的頻域空間中找出滿足上面式子的序列。這樣就濾掉一大批與給定序列的距離大於的序列。 

在首次篩選後,已經濾掉了一大批與給定序列的距離大於的序列。但是,由於只考慮了前面幾個傅立葉係數,所以並不能保證剩餘的序列相似。因此,還需要進行最終驗證工作,即計算每個首次被選中的序列與給定序列在時域空間的歐氏距離,如果兩個序列的歐氏距離小於或等於,則接受該序列。 

實踐證明,上述完全匹配查詢方法非常有效,而且只取 1  ~ 3  個係數就可以達到很好的效果,隨著序列數目的增加和序列長度的增加執行效果更好。 

1.3    小結   

做為論文的一個重要章節,其主要內容是綜述和分析異常點檢測演算法,目的是找到適合檢驗檢驗出口產品質量分析的方法和策略。論文綜述了目前異常點檢測在各個方法領域的發展和其針對的問題域,其中包括了統計的異常點檢測、距離的異常點檢測、密度的異常點檢測、深度的異常點檢測、偏離的異常點檢測、高維資料的異常點檢測。由此可以看出,對於異常點的研究有多種手段和方法,本論文選擇電子監管資料中的時間序列做為研究物件。時間序列是一種重要的高維資料型別,它是按照時間順序觀察所得到的一串資料。時間序列的應用日益廣泛,其涉及天文、地理、生物、物理、化學等自然科學領域,影象識別、語音處理、聲納技術、遙感技術、機械工程等工程技術領域,以及市場經濟、金融分析、人口統計、地震檢測等社會經濟領域,當前對於時間序列挖掘的研究正得到越來越多的重視。本論文提出對時間序列進行離散傅立葉變換 DFT(Discrete Fourier Transform) ,用 DFT 的前 k 個係數作為原時間序列的表示,其底層的理論依據是數字訊號處理領域的 Parseval  定理,該定理保證了時間序列資料的 DFT 變換前幾個係數中儲存了序列中大部分能量。在實際應用中, DFT  變換對於自然產生的時間序列訊號較為適合,但是對於其他來源的時間序列資料則效果不佳。