異常檢測二 基於統計學的方法

2021-10-14 23:20:30 字數 3031 閱讀 6394

非引數方法

hbos

總結本文為學習筆記~

統計學⽅法對資料的正常性做出假定。**它們假定正常的資料物件由⼀個統計模型產⽣,而不遵守該模型 的資料是異常點。**統計學⽅法的有效性⾼度依賴於對給定資料所做的統計模型假定是否成⽴。

異常檢測的統計學⽅法的⼀般思想是:學習⼀個擬合給定資料集的⽣成模型,然後識別該模型低概率區域中的物件,把它們作為異常點。

即利⽤統計學⽅法建⽴⼀個模型,然後考慮物件有多⼤可能符合該模型。

根據如何指定和學習模型,異常檢測的統計學⽅法可以劃分為兩個主要型別:引數⽅法和⾮引數⽅法。

引數⽅法假定正常的資料物件被⼀個以 θ

\theta

θ 為引數的引數分布產⽣。該引數分布的概率密度函式f(x

,θ)f(x, \theta)

f(x,θ)

給出物件x

xx被該分布產⽣的概率。該值越小, 越可能是異常點。

⾮引數⽅法並不假定先驗統計模型,而是試圖從輸⼊資料確定模型。⾮引數⽅法通常假定引數的個數和性質都是靈活的,不預先確定(所以⾮引數⽅法並不是說模型是完全⽆參的,完全⽆參的情況下從資料 學習模型是不可能的)。

僅涉及⼀個屬性或變數的資料稱為⼀元資料。我們假定資料由正態分佈產⽣,然後可以由輸⼊資料學習 正態分佈的引數,並把低概率的點識別為異常點。

假定輸⼊資料集為

\, x^,\ldots, x^\}

,資料集中的樣本服從正態分佈,即x(i

)∽n(

μ,σ2

)x^ \backsim n(\mu,\sigma^2)

x(i)∽n

(μ,σ

2),我們可以根據樣本求出引數μ

\muμ和σ

求出引數之後,我們就可以根據概率密度函式計算資料點服從該分布的概率。正態分佈的概率密度函式為

如果計算出來的概率低於閾值,就可以認為該資料點為異常點。 閾值是個經驗值,可以選擇在驗證集上使得評估指標值最⼤(也就是效果最好)的閾值取值作為最終閾值。

例如常⽤的3sigma原則中,如果資料點超過範圍(μ−

3σ,μ

+3σ)

(\mu-3\sigma, \mu+3\sigma)

(μ−3σ,

μ+3σ

),那麼這些點很有可能是異常點。 這個⽅法還可以⽤於視覺化。箱線圖對資料分布做了⼀個簡單的統計視覺化,利⽤資料集的上下四分位 數(q1和q3)、中點等形成。異常點常被定義為小於q1-1.5iqr或⼤於q3+1.5iqr的那些資料。

⽤python畫⼀個簡單的箱線圖:

import numpy as np

import seaborn as sns

import matplotlib.pyplot as plt

data = np.random.randn(50000) * 20 + 20 sns.boxplot(data=data)

涉及兩個或多個屬性或變數的資料稱為多元資料。許多⼀元異常點檢測⽅法都可以擴充,⽤來處理多元 資料。其核⼼思想是把多元異常點檢測任務轉換成⼀元異常點檢測問題。例如基於正態分佈的⼀元異常 點檢測擴充到多元情形時,可以求出每⼀維度的均值和標準差。對於第j維:

計算概率時的概率密度函式為:

這是在各個維度的特徵之間相互獨⽴的情況下。如果特徵之間有相關性,就要⽤到多元⾼斯分布了。

在許多情況下假定資料是由正態分佈產⽣的。當實際資料很複雜時,這種假定過於簡單,可以假定資料 是被混合引數分布產⽣的。

在異常檢測的⾮引數⽅法中,「正常資料」的模型從輸⼊資料學習,而不是假定⼀個先驗。通常,⾮引數 ⽅法對資料做較少假定,因而在更多情況下都可以使⽤。

例⼦:使⽤直⽅圖檢測異常點。

直⽅圖是⼀種頻繁使⽤的⾮引數統計模型,可以⽤來檢測異常點。該過程包括如下兩步:

步驟1:構造直⽅圖。使⽤輸⼊資料(訓練資料)構造⼀個直⽅圖。該直⽅圖可以是⼀元的,或者多元的 (如果輸⼊資料是多維的)。

儘管⾮引數⽅法並不假定任何先驗統計模型,但是通常確實要求⽤⼾提供引數,以便由資料學習。例 如,⽤⼾必須指定直⽅圖的型別(等寬的或等深的)和其他引數(直⽅圖中的箱數或每個箱的⼤小 等)。與引數⽅法不同,這些引數並不指定資料分布的型別。

步驟2:檢測異常點。為了確定⼀個物件是否是異常點,可以對照直⽅圖檢查它。在最簡單的⽅法中,如 果該物件落⼊直⽅圖的⼀個箱中,則該物件被看作正常的,否則被認為是異常點。

對於更複雜的⽅法,可以使⽤直⽅圖賦予每個物件⼀個異常點得分。例如令物件的異常點得分為該物件 落⼊的箱的容積的倒數。

使⽤直⽅圖作為異常點檢測的⾮引數模型的⼀個缺點是,很難選擇⼀個合適的箱尺⼨。⼀⽅⾯,如果箱 尺⼨太小,則許多正常物件都會落⼊空的或稀疏的箱中,因而被誤識別為異常點。另⼀⽅⾯,如果箱尺 ⼨太⼤,則異常點物件可能滲⼊某些頻繁的箱中,因而「假扮」成正常的。

hbos全名為:histogram-based outlier score。它是⼀種單變數⽅法的組合,不能對特徵之間的依賴 關係進⾏建模,但是計算速度較快,對⼤資料集友好。其基本假設是資料集的每個維度相互獨⽴。然後 對每個維度進⾏區間(bin)劃分,區間的密度越⾼,異常評分越低。

hbos演算法流程:

1.為每個資料維度做出資料直⽅圖。對分類資料統計每個值的頻數並計算相對頻率。對數值資料根據分 布的不同採⽤以下兩種⽅法:

1.異常檢測的統計學⽅法由資料學習模型,以區別正常的資料物件和異常點。使⽤統計學⽅法的⼀個優 點是,異常檢測可以是統計上⽆可⾮議的。當然,僅當對資料所做的統計假定滿⾜實際約束時才為真。

2.hbos在全域性異常檢測問題上表現良好,但不能檢測區域性異常值。但是hbos⽐標準演算法快得多,尤其 是在⼤資料集上。

機器學習 《李航統計學方法》二

感知器 他是二類分類的線性分類模型,輸出的是例項的特徵向量,而輸出的是例項的類別。資料集是線性可分資料集和線性不可分的區別就是 是否可以將資料集的正例項點和負例項點完全正確地劃分到超平面的兩側,也就是對所有y 1的例項都有wx b 0,對y 1的例項,都有wx b 0 感知機學習演算法在採用不同的初...

統計學(二) 讀書筆記

第三章 定量資料的描述分析 對於數值型資料,1 首先通過直方圖觀察資料分布,是單峰,雙峰還是均勻分布,左偏還是右偏,還是對稱的,2 然後分析中心趨勢 中位數和均值 和離散趨勢 四分位差,標準差,極差 通常,有偏分布,分析中位數和四分位差,對稱分布,分析均值和標準差,注意,對於單峰分布,其四分位數差通...

可汗學院統計學筆記(二)

中心極限定理 假設我們有乙個分布,它有定義好的均值和方差。用x表示服從這個分布的變數。進行n次實驗 n很大 每次實驗得到的結果是對這個分布的抽樣,將每次實驗結果用 這裡有乙個重要的分布 也就是 上提供了乙個演示程式可以讓我們更好地理解中心極限定理。第一行是原始分布,它可以是任意乙個奇怪的分布。第二行...