什麼是數據挖掘:數據挖掘函數
什麼是異常檢測:異常檢測spa
異常檢測的目標是發現與大部分其餘對象不一樣的對象。一般,異常對象被稱爲離羣點,由於在數據的散佈圖中,他們遠離其餘數據點。異常檢測也稱爲誤差檢測、例外挖掘。對象
異常檢測的方法各類各樣,全部這些的思想都是:異常的數據對象是不尋常的,或者在某些方面與其餘對象不一致。blog
1. 基於模型的技術
首先創建一個模型,異常是那些不能完美匹配的對象。例如,數據分佈模型能夠經過估計機率分佈的參數來建立。若是一個對象不能很好地同該模型擬合,即若是它極可能不服從該分佈,則它是一個異常。get
2. 基於近鄰度的技術
能夠在對象之間定義鄰近性度量,許多異常檢測方法都基於鄰近度。異常對象是那些遠離大部分其餘對象的對象。當數據用二維或三維散佈圖顯示,能夠從視覺上檢測出基於距離的離羣點。it
3. 基於密度的技術
對象的密度估計能夠相對直接地計算,特別是當對象之間存在近鄰性度量時,低密度區域中的對象相對遠離近鄰,可能被看作異常。數據挖掘
異常檢測的三種基本方法:基礎
三者的主要區別至少對於對於某些數據而言是類標號(異常或正常)能夠利用的程度。變量
1. 監督的異常檢測
要求存在異常類和正常類的訓練集(注意:可能有多個正常類或者異常類)
方法
2. 非監督的異常檢測
沒有提供類標號。在這種狀況下,目標是將一個得分(或標號)賦予每一個實例,反映該實例是異常的程度。注意,許多類似的異常可能會致使被標記爲正常,或有較低的離羣點得分。
3. 半監督的異常檢測
訓練數據包含被標記的正常數據,可是沒有關於異常對象的信息。目標是使用有標記的正常對象的信息,對於給定的對象集合,發現異常標號。
1. 用於定義異常的屬性個數
對象能夠有許多屬性,它可能在某些屬性上具備異常值,而在其餘屬性上具備正常值。注意,即便一個對象的全部屬性值都不是異常,對象也可能異常。
2. 點的異常程度
二元方式報告對象是否異常:要麼正常要麼不正常。這不能反映某些對象比其餘對象更加極端異常的基本事實。須要有某種對象異常程度的評估,這種評估稱爲異常或離羣點得分。
3. 全局觀點與局部觀點
一個對象可能相對於全部對象看上去不正常,可是相對於它的局部近鄰並不是如此。
4. 一次識別一個與多個異常
一次一個:每次識別並刪除最異常的實例,重複該過程。一次多個:異常集族一塊兒識別。前者常遇到屏蔽問題,後者可能陷入泥潭。
5. 評估
6. 有效性
各類方案的計算開銷顯著不一樣。
2.0 統計方法
統計學方法是基於模型的方法,即爲數據建立模型,根據對象的擬合程度來評估他們。
定義 離羣點:離羣點是一個對象,關於數據的機率分佈模型,它具備低機率。
問題:
1. 識別數據集的具體分佈
2. 使用屬性的個數
3. 混合分佈
高斯分佈 N(μ,σ),第一個參數爲均值,第二個爲標準差。下圖爲均值爲0,標準差爲1的高斯分佈的機率密度函數:
來自N(0,1)分佈的對象,出如今尾部的機會很小
由於值到N(0,1)分佈中心的距離 c 直接與該值的機率相關,所以可使用它做爲檢測對象(值)是不是離羣點的基礎。
因爲不一樣變量(屬性)之間的相關性,多元正態分佈並不關於它的中心對稱,以下圖,該分佈均值爲(0,0),協方差矩陣爲
什麼是協方差矩陣: 協方差矩陣
若是咱們打算用一個簡單的閥值來決定一個對象是不是離羣點,能夠用 Mahalanobis 距離,它是是一種考慮數據分佈形狀的距離度量。
數據用兩個分佈的混合模型建模,一個分佈爲普通數據;另外一個爲離羣點。
初始時將全部對象放入普通對象集,而異常對象集爲空。而後用一個迭代過程將對象從普通集轉移到異常集,只要該轉移能提升數據的總似然(數據和模型之間的類似度)。
假定數據集D包含來自兩個機率分佈的對象:M是大多數(正常)對象的分佈,A是異常對象的分佈,則數據的總機率分佈能夠記做:D(x) = (1 - λ) + λA(x)
其中,x是一個對象,λ是一個0 - 1之間的數,給出離羣點的指望比例。M由數據估計,A一般取均勻分佈。初始時刻 t = 0,M0 = D,A0爲空。在任意時刻 t,整個數據集的似然和對數似然分別爲如下兩式:
PD、PMt 和 PAt 分別是 D、Mt 和 At 的機率分佈函數。
由於正常對象的數量比異常對象大得多,所以當一個對象移動到異常集後,正常的分佈變化不大。這時,每一個正常對象對正常對象的總似然的貢獻保持相對不變。
另外,若是假定異常服從均勻分佈,則移動到異常集的每一個對象對異常的似然貢獻一個固定的量。這樣,當一個對象移動到異常集時,數據總似然的改變粗略等於該對象在均勻分佈下的機率(用λ加權)減去該對象在正常數據點的分佈下的機率(用1-λ加權)。從而,異常集由這樣一些對象組成,這些對象在均勻分佈下的機率明顯比在正常對象分佈下的機率高。