㈠ 鎶婃暣涓瀹囧畽鍘嬬緝鎴愪竴涓鍘熷瓙鏍稿瘑搴︼紝灝哄鎬細鏈夊氬ぇ錛
鏈変漢寮傛兂澶╁紑錛屽傛灉鎶婂畤瀹欐墍鏈夊師瀛愮殑鐢靛瓙閮藉帇緙╁埌鍘熷瓙鏍鎬竴璧鳳紝涓嶇暀絀洪殭浼氭湁澶氬ぇ錛熻繖瀹為檯涓婂氨鏄鎶婂畤瀹欏帇緙╂垚鍘熷瓙鏍稿瘑搴︺
榪欎釜闂棰樼湅璧鋒潵寰堝嶆潅錛屼絾瀹為檯涓婂緢綆鍗曪紝鍥犱負鍦ㄦ垜浠瀹囧畽宸茬粡鏈夎繖鏍風殑鐗╄川浜嗭紝鍙瑕佹垜浠鐭ラ亾浜嗗畤瀹欑殑璐ㄩ噺錛屾幇涓涓嬫寚澶村氨鍑烘潵浜嗐
榪欑嶅帇緙╁お鎮愭栦簡鍚э紵涓涓465浜垮厜騫村崐寰勭殑鍙瑙傛祴瀹囧畽錛屽帇緙╂垚涓瀛愭槦鍙鏈変笉鍒10浜垮崈綾崇殑涓涓鐞冦傚湪澶闃崇郴錛屾湪鏄熷埌澶闃沖鉤鍧囪窛紱葷害7.78涓囧崈綾籌紝鍦熸槦鍒板お闃沖鉤鍧囪窛紱葷害14.3浜垮崈綾籌紝涔熷氨鏄璇達紝榪欎釜琚鍘嬬緝鐨勫畤瀹欏彧鏈夊お闃崇郴鏈ㄦ槦杞ㄩ亾宸﹀彸澶у皬銆
鑰岃窛紱繪垜浠涓嶅埌1涓囧厜騫寸殑鐩劇墝搴uy錛屾槸涓棰楁紨鍖栧埌鏈鏈熺殑綰㈣秴宸ㄦ槦錛岃繖棰楁亽鏄熺殑鍗婂緞灝辨湁綰12浜垮崈綾籌紝鎶婃殫鐗╄川鏆楄兘閲忛兘綆椾笂鐨勫畤瀹欏帇緙╂垚涓瀛愭槦澶ц嚧灝辨槸鐩劇墝搴uy榪欎箞澶т簡銆
褰撶劧榪欑嶇悆鏄涓嶅彲鑳界湡姝e瓨鍦ㄧ殑錛岃繖閲屽彧鏄涓涓娓告垙鑰屽凡錛屽師鍥犲氨涓嶈В閲婁簡銆
鎰熻阿闃呰伙紝嬈㈣繋璁ㄨ恆
鏃剁┖閫氳鍘熷壋鐗堟潈錛屼鏡鏉冩妱琚鏄涓嶉亾寰風殑琛屼負錛屾暚璇風悊瑙e悎浣溿
㈡ 異常檢測方法 二
離群點是一個數據對象,它顯著不同於其他數據對象,好像它是被不同的機制產生的一樣。有時也稱非離群點為「正常數據」,離群點為「異常數據」。
離群點不同於雜訊數據。雜訊是被觀測變數的隨機誤差或方差。一般而言,雜訊在數據分析(包括離群點分析)中不是令人感興趣的。如在信用卡欺詐檢測,顧客的購買行為可以用一個隨機變數建模。一位顧客可能會產生某些看上去像「隨機誤差」或「方差」的雜訊交易,如買一份較豐盛的午餐,或比通常多要了一杯咖啡。這種交易不應該視為離群點,否則信用卡公司將因驗證太多的交易而付出沉重代價。因此,與許多其他數據分析和數據挖掘任務一樣,應該在離群點檢測前就刪除雜訊。
離群點檢測是有趣的,因為懷疑產生它們的機制不同於產生其他數據的機制。因此,在離群點檢測時,重要的是搞清楚為什麼檢測到的離群點被某種其他機制產生。通常,在其餘數據上做各種假設,並且證明檢測到的離群點顯著違反了這些假設。
離群點可以分成三類:全局離群點、情境(或條件)離群點和集體離群點。
在給定的數據集中,一個數據對象是全局離群點,如果它顯著的偏離數據集中的其他對象。全局離群點是最簡單的一類離群點,大部分的離群點檢測方法都旨在找出全局離群點。
在給定的數據集中,一個數據對象是情境離群點,如果關於對象的特定情境,它顯著的偏離其他對象。情境離群點又稱為條件離群點,因為它們條件的依賴於選定的情境。一般地,在情境離群點檢測中,所考慮數據對象的屬性劃分成兩組:
情境屬性 :數據對象的情境屬性定義對象的情境。一般為靜態屬性變數,如信用卡欺詐檢測中,不同年齡、不同地區的人消費情況是不同的,先按照靜態屬性將人群大致分類,再檢測每一類的離群點,會得到更好的結果。
行為屬性 :定義對象的特徵,並用來評估對象關於它所處的情境是否為離群點。在上述例子中,行為屬性可以是消費金額,消費頻率等
情境離群點分析為用戶提供了靈活性,因為用戶可以在不同情境下考察離群點,這在許多應用中都是非常期望的。
給定一個數據集,數據對象的一個子集形成集體離群點,如果這些對象作為整體顯著的偏離整個數據集。如一家供應鏈公司,每天處理數以千計的訂單和出貨。如果一個訂單的出貨延誤,則可能不是離群點,因為統計表明延誤時常發生。然而,如果有一天有100個訂單延誤,則必須注意。這100個訂單整體來看,形成一個離群點,盡管如果單個考慮,它們每個或許都不是離群點。你可能需要更詳細地整個考察這些訂單,搞清楚出貨問題。
與全局和情境離群點檢測不同,在集體離群點檢測中,不僅必須考慮個體對象的行為,而且還要考慮對象組群的行為。因此,為了檢測集體離群點,需要關於對象之間聯系的背景知識,如對象之間的距離或相似性測量方法。
離群點檢測的統計學方法對數據的正常性做假定。假定數據集中的正常對象由一個隨機過程(生成模型)產生。因此,正常對象出現在該隨機模型的高概率區域中,而低概率區域中的對象是離群點。
離群點檢測的統計學方法的一般思想是:學習一個擬合給定數據集的生成模型,然後識別該模型低概率區域中的對象,把它們作為離群點。有許多不同方法來學習生成模型,一般而言,根據如何指定和如何學習模型,離群點檢測的統計學方法可以劃分成兩個主要類型: 參數方法和非參數方法。
參數方法: 假定正常的數據對象被一個以為參數的參數分布產生。該參數分布的概率密度函數給出對象被該分布產生的概率。該值越小,越可能是離群點。
非參數方法: 並不假定先驗統計模型,而是試圖從輸入數據確定模型。非參數方法的例子包括直方圖和核密度估計。
假定數據集由一個正態分布產生,然後,可以由輸入數據學習正態分布的參數,並把低概率的點識別為離群點。
在正態分布的假定下,區域包含99.7%的數據,包含95.4%的數據,包含68.3%的數據。視具體情況而定,將其區域外的數據視為離群點。
這種直截了當的統計學離群點檢測方法也可以用於可視化。例如盒圖方法使用五數概況繪制一元輸入數據:最小的非離群點值(Min)、第一個四分位數(Q1)、中位數(Q2)、第三個四分位數(Q3)和最大的非離群點值(Max)。
四分位數極差(IQR)定義為Q3-Q1。比Q1小1.5倍的IQR或者比Q3大1.5倍的IQR的任何對象都視為離群點,因為Q1-1.5 IQR和Q3+1.5 IQR之間的區域包含了99.3%的對象。
(1)使用馬哈拉諾比斯距離檢測多元離群點。
對於一個多元數據集,設為均值向量。對於數據集中的對象,從到的馬哈拉諾比斯(Mahalanobis)距離為其中S是協方差矩陣。是一元數據,可以對它進行離群點檢測。如果被確定為離群點,則也被視為離群點。
(2)使用統計量的多元離群點檢測。
在正態分布的假設下,統計量可以用來捕獲多元離群點。對於對象,統計量是
其中,是在第維上的值,是所有對象在第維上的均值,而是維度。如果對象的統計量很大,則該對象是離群點。
(3)使用混合參數分布
在許多情況下,數據是由正態分布產生的假定很有效。然而,當實際數據很復雜時,這種假定過於簡單。在這種情況下,假定數據是被混合參數分布產生的。
混合參數分布中用期望最大化(EM)演算法來估計參數。具體情況比較復雜,可以參考韓家煒的《數據挖掘:概念與技術》一書。
在離群點檢測的非參數方法中,「正常數據」的模型從輸入數據學習,而不是假定一個先驗。通常,非參數方法對數據做較少假定,因而在更多情況下都可以使用。
使用直方圖檢測離群點
包括如下兩步:
步驟1: 構造直方圖。盡管非參數方法並不假定任何先驗統計模型,但是通常確實要求用戶提供參數,以便由數據學習。如指定直方圖的類型(等寬或等深的)和其他參數(如直方圖中的箱數或每個箱的大小)。與參數方法不同,這些參數並不指定數據分布的類型(如高斯分布)。
步驟2: 檢測離群點。為了確定一個對象是否是離群點,可以對照直方圖檢驗它。在最簡單的方法中,如果該對象落入直方圖的一個箱中,則該對象被看做是正常的,否則被認為是離群點。
對於更復雜的方法,可以使用直方圖賦予每個對象一個離群點得分。一般可以令對象的離群點得分為該對象落入的箱的容積的倒數。得分越高,表明是離群點的概率越大。
使用直方圖作為離群點檢測的非參數模型的一個缺點是,很難選擇一個合適的箱尺寸。一方面,如箱尺寸太小,則由很多正常對象都會落入空的或稀疏箱,因而被誤識別為離群點。這將導致很高的假正例率或低精度。相反,如果箱尺寸太大,則離群點對象可能滲入某些頻繁的箱中,這將導致很高的假負例率或召回率。為了解決這些問題,使用核密度估計來估計數據的概率密度分布。具體參考韓家煒的《數據挖掘:概念與技術》。
給定特徵空間中的對象集,可以使用距離度量來量化對象間的相似性。基於鄰近性的方法假定:離群點對象與它最近鄰的鄰近性顯著偏離數據集中其他對象與它們近鄰之間的鄰近性。
有兩種類型的基於鄰近性的離群點檢測方法:基於距離的和基於密度的方法。基於距離的離群點檢測方法考慮對象給定半徑的鄰域。一個對象被認為是離群點,如果它的鄰域內沒有足夠多的其他點。基於密度的離群點檢測方法考察對象和它近鄰的密度。這里,一個對象被識別為離群點,如果它的密度相對於它的近鄰低得多。
對於待分析的數據對象集D,用戶可以指定一個距離閾值r來定義對象的合理鄰域。對於每個對象o,可以考察o的r-鄰域中的其他對象的個數。如果D中大多數對象都遠離o,即都不在o的r-鄰域中,則o可以被視為一個離群點。
令是距離閾值,是分數閾值。對象是一個離群點,如果
其中是距離度量。
如何計算-離群點?一是嵌套循環方法,時間復雜度為。當數據集很大時,該方法的開銷很大。為了改進性能,可以用基於網格的方法來實現。具體見韓家煒《數據挖掘》一書。
基於距離的離群點檢測從全局考慮數據集。由於以下兩個原因,這種離群點被看成「全局離群點」:
l 例如,一個-離群點至少遠離(用參數r定量)數據集中的對象。換言之,這種離群點遠離數據的大多數。
l 為了檢測基於距離的離群點,需要兩個距離參數,它們用於每個離群點對象。
現實世界的許多數據集都呈現更復雜的結構,那裡對象可能關於其局部鄰域,而不是關於整個數據分布而被視為離群點。如下圖,基於距離的離群點檢測方法不能捕獲像o1和o2這樣的局部離群點。
那麼,如何確切地定義如圖所示的局部離群點?這里關鍵的思想是,需要把對象周圍的密度與對象鄰域周圍的密度進行比較。基於密度的離群點檢測方法的基本假定是:非離群點對象周圍的密度與其鄰域周圍的密度類似,而離群點對象周圍的密度顯著不同於其鄰域周圍的密度。
基於聚類的方法通過考察對象與簇之間的關系檢測離群點。直觀地,離群點是一個對象,它屬於小的偏遠簇,或不屬於任何簇。
這導致三種基於聚類的離群點檢測的一般方法。考慮一個對象。
l 該對象屬於某個簇嗎?如果不,則它被識別為離群點。
l 該對象與最近的簇之間的距離很遠嗎?如果是,則它是離群點。
l 該對象是小簇或稀疏簇的一部分嗎?如果是,則該簇中的所有對象都是離群點。
下面對每一種方法考察一個例子。
例1 把離群點檢測為不屬於任何簇的對象。如圖1所示,使用基於密度的聚類方法,如DBSCAN,注意到黑色點都屬於簇,白色點a不屬於任何簇,因而被認為是離群點。
圖1 對象a是離群點,因為 它不屬於任何簇
圖2 離群點(a,b,c)都(關於簇中心)遠離距它們最近的簇
例2 使用到最近簇的距離的基於聚類的離群點檢測。如圖2所示,使用k-均值聚類方法,可以把圖2中的數據點劃分成3個簇,如圖中不同符號所示,每個簇中心用「+」標記。對於每個對象o,都可以根據該對象與最近簇中心的距離,賦予該對象一個離群點得分。假設到o的最近中心為c,則o與c之間的距離為dist(o,c),c與指派到c的對象之間的平均距離為L,比率度量與平均值的差異程度。在圖2中,點a,b和c都相對遠離它們的對應中心,因而被懷疑是離群點。
例3 檢測小簇中的離群點
迄今為止我們看到的每種方法都只檢測個體離群點,因為它們一次把一個對象與數據集中的簇進行比較。然而,在大型數據中,一些離群點可能是類似的,並且形成一個小簇。例如,在入侵檢測中,使用相同手段攻擊系統的黑客可能形成一個簇。迄今為止所討論的方法可能被這種離群點所欺騙。
為了解決這一問題,第三種基於聚類的離群點檢測方法識別小簇或稀疏簇,並宣告這些簇中的對象也是離群點。這種方法的一個例子是FindCBLOF演算法,其方法如下。
(1) 找出數據集中的簇,並把它們按大小降序排列。該演算法假定大部分數據點都不是離群點,它使用一個參數來區別大簇和小簇。任何至少包含數據集中百分之(如,=90%)數據點的簇都被視為大簇,而其餘的簇被看成小簇。
(2) 對於每個數據點賦予基於簇的局部離群點因子(CBLOF),對於屬於大簇的點,它的CBLOF是簇的大小和該點與簇的相似性的乘積。對於屬於小簇的點,它的CBLOF用小簇的大小和該點與最近的大簇的相似性的乘積計算。
CBLOF用統計學方法定義點和簇之間的相似性,代表點屬於簇的概率。該值越大,點與簇越相似。CBLOF值可以檢測遠離任何簇的離群點。
基於聚類的離群點檢測方法具有如下優點。首先,它們可以檢測離群點,而不要求數據是有標號的,即它們以無監督方式檢測。它們對許多類型的數據都有效。簇可以看成是數據的概括,一旦得到簇,基於聚類的方法只需要把對象與簇進行比較,以確定該對象是否是離群點,這一過程通常很快,因為與對象總數相比,簇的個數通常很小。
基於聚類的方法的缺點是:它的有效性高度依賴於所使用的聚類方法。這些方法對於離群點檢測而言可能不是最優的。對於大型數據集,聚類方法通常開銷很大,這可能成為一個瓶頸。
如果訓練數據具有類標號,則離群點檢測可以看做分類問題。基於分類的離群點檢測方法的一般思想是,訓練一個可以區分「正常」數據和離群點的分類模型。
基於分類的離群點檢測方法通常使用一類模型(單分類模型SVDD),即構造一個僅描述正常類的分類器,不屬於正常類的任何樣本都被視為離群點。
基於分類的方法和基於聚類的方法可以聯合使用,以半監督的方式檢測離群點。
例通過半監督學習檢測離群點
如上圖所示,其中對象被標記為「正常」或「離群點」,或者沒有標號。使用基於聚類的方法,發現一個大簇C和一個小簇C1。因為C中的某些對象攜帶了標號「正常」,因此可以把該簇的所有對象(包括沒有標號的對象)都看做正常對象。在離群點檢測中,使用這個簇的一類模型來識別離群點。類似的,因為簇C1中的某些對象攜帶標號「離群點」,因此宣布C1中的所有對象都是離群點。未落入C模型中的任何對象(如a)也被視為離群點。
與一般的離群點檢測相比,識別情境離群點需要分析對應的情境信息。情境離群點檢測方法可以根據情境是否可以清楚地識別而分成兩類。
這類方法適用於情境可以被清楚識別的情況,其基本思想是把情境離群點檢測問題轉換成典型的離群點檢測問題。具體地說,對於給定的數據對象,用兩步來評估該對象是否是離群點。第一步,使用對象的情境屬性識別對象的情境。第二步,使用一種傳統的離群點檢測方法,估計該對象的離群點得分。
在某些應用中,清楚地把數據劃分成情境是不方便的或不可行的。這時,可以關於情境對正常行為建模。使用一個訓練數據集,這種方法訓練一個模型,關於情境屬性的值,預測期望的行為屬性值。然後,為了確定一個數據對象是否是情境離群點,可以在該對象的情境屬性上使用該模型。如果該對象的行為屬性值顯著地偏離該模型的預測值,則該對象被宣布為情境離群點。
通過使用連接情境和行為的預測模型,這些方法避免直接識別具體情境。許多分類和預測技術都可以用來構建這種模型,如回歸、馬爾科夫模型和有窮狀態自動機等等。
與情境離群點檢測一樣,集體離群點檢測方法也可以劃分為兩類。第一類方法把問題歸結為傳統的離群點檢測。其策略是識別結構單元,把每個結構單元(例如,子序列、時間序列片段、局部區域或子圖)看做是一個數據對象,並提取特徵。這樣,集體離群點檢測問題就轉換成在使用提取的特徵構造的「結構化對象」集上的離群點檢測。一個結構單元代表原數據集中的一組對象,如果該結構單元顯著地偏離提取的特徵空間中的期望趨勢,則它是一個集體離群點。
為集體離群點檢測預先定義結構單元可能是困難的,或者是不可能的。因此,第二類方法直接對結構單元的期望行為建模。例如,為了在時間序列中檢測離群點,一種方法是從序列中學習馬爾科夫模型。因此,一個子序列被宣布為集體離群點,如果它顯著地偏離該模型。
一般地,高維數據的離群點檢測方法應該應對以下挑戰:
l 離群點的解釋:不僅應該能夠識別檢測離群點,而且能夠提供離群點的解釋。離群點的解釋可能是,例如,揭示離群點的特定子空間,或者關於對象的「離群點性」的評估。這種解釋可以幫助用戶理解離群點的含義和意義。
l 數據的稀疏性:這些方法應該能處理高維空間的稀疏性。隨著維度的增加,對象之間的距離嚴重地被雜訊所左右。因此,高維空間中的數據通常是稀疏的。
l 數據子空間:它們應該以合適的方式對離群點建模,例如,自適應現實離群點的子空間和捕獲數據的局部變化。在所有的子空間上使用固定的距離閾值來檢測離群點捕食一種好想法,因為兩個對象之間的距離隨著維度增加而單調增加。
l 關於維度的可伸縮性:隨著維度的增加,子空間的數量指數增加。包含所有可能的子空間的窮舉組合探索不是可伸縮的選擇。
高維數據的離群點檢測方法可以劃分成三種主要方法,包括擴充的傳統離群點檢測、發現子空間中的離群點和對高維離群點建模。
一種高維數據離群點檢測方法是擴充的傳統離群點檢測方法。它使用傳統的基於鄰近性的離群點模型。然而,為了克服高維空間中鄰近性度量惡化問題,它使用其他度量,或構造子空間並在其中檢測離群點。
HilOut演算法就是這種方法的一個例子。HitOut找出基於距離的離群點,但在離群點檢測中使用距離的秩,而不是絕對距離。具體地說,對於每個對象o,HitOut找出o的k個最近鄰,記作nn1(o),nn2(o)……nnk(o),其中k是一個依賴於應用的參數。參數o的權重定義為
所有對象按權重遞減序定秩。權重最高的top-p個對象作為離群點輸出,其中p是另一個用戶指定的參數。
HilOut演算法計算每個對象的k-最近鄰開銷很大,當維度很高並且數據很大時不能伸縮。
另一種方法則是通過維歸約,把高維離群點檢測問題歸結為較低維上的離群點檢測。其基本思想是,把高維空間歸約到低維空間,那裡標準的距離度量仍然能夠區分離群點。如果能夠找到這樣的較低維空間,則可以用傳統的離群點檢測方法。
為了降低維度,可以對離群點檢測使用或擴充一般的特徵特徵選擇和提取方法。例如,可以用主成分分析(PCA)來提取一個低維空間。
高維數據中離群點檢測的另一種方法是搜索各種子空間中的離群點。其唯一的優點是,如果發現一個對象是很低維度的子空間的離群點,則該子空間提供了重要信息,解釋該對象為什麼和在何種程度上是離群點。
如何檢測子空間中的離群點,一種方法是基於網格的子空間離群點檢測。具體做法見韓家煒《數據挖掘》。
另一種方法是試圖直接為高維離群點建立一個新模型。這種方法通常避免鄰近性度量,而是採用新的啟發式方法來檢測離群點。具體做法見韓家煒《數據挖掘》。
㈢ Arcgis濡備綍姝g『璁$畻鏍稿瘑搴
鐪嬫潵浣犵敤鐨勬槸澶у湴鍧愭爣緋銆傛兂浠ョ背涓哄崟浣嶇殑璇濋栧厛瑕佹妸澶у湴鍧愭爣緋昏漿鎹㈡垚鎶曞獎鍧愭爣緋伙紝閫夌敤宸ュ叿綆遍噷鐨勬暟鎹綆$悊宸ュ叿鈥旀姇褰卞拰鍙樻崲鍙浠ュ疄鐜般傚彟澶栵紝鏍稿瘑搴﹀垎鏋愮粨鏋滄槸鏍呮牸鏁版嵁錛屽儚鍏冨ぇ灝忓彲浠ョ湅鍋氭槸鏍呮牸鐨勫ぇ灝忋備富瑕佹槸閫氳繃鍒嗘瀽瀵硅薄鐨勫垎甯冪壒寰佸拰鎬諱綋鐨勫垎甯冭寖鍥寸『瀹氱殑銆傚傛灉涓嶈兘鎵懼埌鑳藉熻嚜鍦嗗叾璇寸殑鍊煎緩璁浣跨敤榛樿ゅ箋傞粯璁ゅ肩殑綆楁硶鍦ㄥ府鍔╂枃妗i噷鏈夈傛悳緔㈠崐寰勫圭粨鏋滃獎鍝嶆槸寰堝ぇ鐨勶紝寤鴻鍦ㄥ疄鏂芥牳瀵嗗害鍒嗘瀽涔嬪墠鍏堣繘琛屽為噺絀洪棿鑷鐩稿叧鍒嗘瀽錛岃繖鏍峰彲浠ユ洿濂界殑紜瀹氬湪鍝涓璺濈諱笂鑱氱被紼嬪害鏈楂橈紝鎶婅繖涓璺濈諱綔涓烘悳緔㈠崐寰勭畻浼氭瘮杈冨ソ銆
㈣ 核密度估計與k近鄰估計的區別
核密度估計實際上是表現一組數據的分布情況,轉錄組中用來展示所有樣本基因的表達量豐度分布。kNN是一種基本分類與回歸方法。
k-NN的輸入為實例的特徵向量,對應於特徵空間中的點,輸出為實例的類別,可以取多類。k近鄰實際上利用訓練數據集對特徵向量空間進行劃分,並作為其分類的「模型」。k值的選擇、距離度量及分類決策規則是k近鄰的三個基本要素。核密度估計(kerneldensityestimation)是在概率論中用來估計未知的密度函數,屬於非參數檢驗方法之一,Ruppert和Cline基於數據集密度函數聚類演算法提出修訂的核密度估計方法。
K最近鄰(k-NearestNeighbor,KNN),是一種常用於分類的演算法,是有成熟理論支撐的、較為簡單的經典機器學習演算法之一。