離群點(oulier)挖掘詳解
異常物件被稱作離群點。異常檢測也稱偏差檢測和例外挖掘。
常見的異常成因:資料來源於不同的類(異常物件來自於一個與大多數資料物件源(類)不同的源(類)的思想),自然變異,以及資料測量或收集誤差。
異常檢測的方法:
(1)基於模型的技術:首先建立一個數據模型,異常是那些同模型不能完美擬合的物件;如果模型是簇的集合,則異常是不顯著屬於任何簇的物件;在使用迴歸模型時,異常是相對遠離預測值的物件。
(2)基於鄰近度的技術:通常可以在物件之間定義鄰近性度量,異常物件是那些遠離其他物件的物件。
(3)基於密度的技術:僅當一個點的區域性密度顯著低於它的大部分近鄰時才將其分類為離群點。
(1)統計方法。統計學方法是基於模型的方法,即為資料建立一個模型,並且根據物件擬合模型的情況來評估它們。大部分用於離群點檢測的統計學方法都是構建一個概率分佈模型,並考慮物件有多大可能符合該模型。離群點的概率定義:離群點是一個物件,關於資料的概率分佈模型,它具有低概率
聚類和異常檢測目標都是估計分佈的引數,以最大化資料的總似然(概率)。聚類時,使用EM演算法估計每個概率分佈的引數。然而,這裡提供的異常檢測技術使用一種更簡單的方法。初始時將所有物件放入普通物件集,而異常物件集為空。然後,用一個迭代過程將物件從普通集轉移到異常集,只要該轉移能提高資料的總似然(其實等價於把在正常物件的分佈下具有低概率的物件分類為離群點)。(假設異常物件屬於均勻分佈)。異常物件由這樣一些物件組成,這些物件在均勻分佈下比在正常分佈下具有顯著較高的概率。
優缺點:
(1)有堅實的統計學理論基礎,當存在充分的資料和所用的檢驗型別的知識時,這些檢驗可能非常有效;
(2)對於多元資料,可用的選擇少一些,並且對於高維資料,這些檢測可能性很差。
(2)基於鄰近度的離群點檢測。一個物件是異常的,如果它遠離大部分點。這種方法比統計學方法更一般、更容易使用,因為確定資料集的有意義的鄰近性度量比確定它的統計分佈更容易。一個物件的離群點得分由到它的k-最近鄰的距離給定。離群點得分對k的取值高度敏感。如果k太小(例如1),則少量的鄰近離群點可能導致較低的離群點得分;如果K太大,則點數少於k的簇中所有的物件可能都成了離群點。為了使該方案對於k的選取更具有魯棒性,可以使用k個最近鄰的平均距離。
優缺點:
(1)簡單;
(2)缺點:基於鄰近度的方法需要O(m2)時間,大資料集不適用;
(3)該方法對引數的選擇也是敏感的;
(4)不能處理具有不同密度區域的資料集,因為它使用全域性閾值,不能考慮這種密度的變化。
(3)基於密度的離群點檢測。從基於密度的觀點來說,離群點是在低密度區域中的物件。一個物件的離群點得分是該物件周圍密度的逆。基於密度的離群點檢測與基於鄰近度的離群點檢測密切相關,因為密度通常用鄰近度定義。一種常用的定義密度的方法是,定義密度為到k個最近鄰的平均距離的倒數。如果該距離小,則密度高,反之亦然。另一種密度定義是使用DBSCAN聚類演算法使用的密度定義,即一個物件周圍的密度等於該物件指定距離d內物件的個數。需要小心的選擇d,如果d太小,則許多正常點可能具有低密度,從而具有高離群點得分。如果d太大,則許多離群點可能具有與正常點類似的密度(和離群點得分)。使用任何密度定義檢測離群點具有與基於鄰近度的離群點方案類似的特點和侷限性。特殊地,當資料包含不同密度的區域時,它們不能正確的識別離群點。為了正確的識別這種資料集中的離群點,我們需要與物件鄰域相關的密度概念,也就是定義相對密度。常見的有兩種方法:(1)使用基於SNN密度的聚類演算法使用的方法;(2)用點x的密度與它的最近鄰y的平均密度之比作為相對密度。使用相對密度的離群點檢測(區域性離群點要素LOF技術):首先,對於指定的近鄰個數(k),基於物件的最近鄰計算物件的密度density(x,k),由此計算每個物件的離群點得分;然後,計算點的鄰近平均密度,並使用它們計算點的平均相對密度。這個量指示x是否在比它的近鄰更稠密或更稀疏的鄰域內,並取作x的離群點得分(這個是建立在上面的離群點得分基礎上的)。
優缺點:(1)給出了物件是離群點的定量度量,並且即使資料具有不同的區域也能夠很好的處理;(2)與基於距離的方法一樣,這些方法必然具有O(m2)的時間複雜度。對於低維資料使用特定的資料結構可以達到O(mlogm);(3)引數選擇是困難的。雖然LOF演算法通過觀察不同的k值,然後取得最大離群點得分來處理該問題,但是,仍然需要選擇這些值的上下界。
(4)基於聚類的技術。一種利用聚類檢測離群點的方法是丟棄遠離其他簇的小簇。這個方法可以和其他任何聚類技術一起使用,但是需要最小簇大小和小簇與其他簇之間距離的閾值。這種方案對簇個數的選擇高度敏感。使用這個方案很難將離群點得分附加到物件上。一種更系統的方法,首先聚類所有物件,然後評估物件屬於簇的程度(離群點得分)(基於原型的聚類可用離中心點的距離來評估,對具有目標函式的聚類技術該得分反映刪除物件後目標函式的改進(這個可能是計算密集的))。基於聚類的離群點:一個物件是基於聚類的離群點,如果該物件不強屬於任何簇。離群點對初始聚類的影響:如果通過聚類檢測離群點,則由於離群點影響聚類,存在一個問題:結構是否有效。為了處理該問題,可以使用如下方法:物件聚類,刪除離群點,物件再次聚類(這個不能保證產生最優結果)。還有一種更復雜的方法:取一組不能很好的擬合任何簇的特殊物件,這組物件代表潛在的離群點。隨著聚類過程的進展,簇在變化。不再強屬於任何簇的物件被新增到潛在的離群點集合;而當前在該集合中的物件被測試,如果它現在強屬於一個簇,就可以將它從潛在的離群點集合中移除。聚類過程結束時還留在該集合中的點被分類為離群點(這種方法也不能保證產生最優解,甚至不比前面的簡單演算法好,在使用相對距離計算離群點得分時,這個問題特別嚴重)。
物件是否被認為是離群點可能依賴於簇的個數(如k很大時的噪聲簇)。該問題也沒有簡單的答案。一種策略是對於不同的簇個數重複該分析。另一種方法是找出大量小簇,其想法是(1)較小的簇傾向於更加凝聚,(2)如果存在大量小簇時一個物件是離群點,則它多半是一個真正的離群點。不利的一面是一組離群點可能形成小簇而逃避檢測。
優缺點:(1)基於線性和接近線性複雜度(k均值)的聚類技術來發現離群點可能是高度有效的;(2)簇的定義通常是離群點的補,因此可能同時發現簇和離群點;(3)產生的離群點集和它們的得分可能非常依賴所用的簇的個數和資料中離群點的存在性;(4)聚類演算法產生的簇的質量對該演算法產生的離群點的質量影響非常大。
相關推薦
離群點(oulier)挖掘詳解
異常物件被稱作離群點。異常檢測也稱偏差檢測和例外挖掘。 常見的異常成因:資料來源於不同的類(異常物件來自於一個與大多數資料物件源(類)不同的源(類)的思想),自然變異,以及資料測量或收集誤差。 異常檢測的方法: (1)基於模型的技術:首先建立一個數據模型,異常是那些同模型不
離群點(孤立點、異常值)檢測方法
本文介紹了離群點(孤立點)檢測的常見方法,以及應用各種演算法時需要注意的問題。 離群點是什麼? 異常物件被稱作離群點。異常檢測也稱偏差檢測和例外挖掘。孤立點是一個明顯偏離與其他資料點的物件,它就像是由一個完全不同的機制生成的資料點一樣。 離群點檢測是資
【gloomyfish】資料分析之 – 離群值(Outliers) BoxPlot
資料分析之 – 離群值(Outliers) 一:什麼是Outliers Outliers是統計學專業術語,是指相比一組資料中的其它資料的極限值 二:極限值意味什麼 1. 決定哪些值是Outl
基於生長的棋盤格角點檢測方法--(2)程式碼詳解(上)
上一篇介紹了基於生長的棋盤格角點檢測方法的大概原理,詳見:基於生長的棋盤格角點檢測方法–(1)原理介紹 本文進一步從程式碼解讀角度出發,更深入地理解工程中是如何實現的。 本文中用到的程式碼可以從以下連結下載 http://www.cvlibs.net/so
(轉載)maven詳解
可能 tle final csharp blog 常見問題 maven3 ngx sting 轉載: http://www.cnblogs.com/hongwz/p/5456578.html Maven詳解 一.前言 以前做過的項目中,沒有真正的使用過Mav
主成分分析(PCA)原理詳解(轉載)
增加 信息 什麽 之前 repl 神奇 cto gmail 協方差 一、PCA簡介 1. 相關背景 上完陳恩紅老師的《機器學習與知識發現》和季海波老師的《矩陣代數》兩門課之後,頗有體會。最近在做主成分分析和奇異值分解方面的項目,所以記錄一下心得體會。
OpenCV探索之路(十三):詳解掩膜mask
ret 如果 拷貝 ace 設置 之路 動作 與運算 區域 在OpenCV中我們經常會遇到一個名字:Mask(掩膜)。很多函數都使用到它,那麽這個Mask到底什麽呢? 一開始我接觸到Mask這個東西時,我還真是一頭霧水啊,也對無法理解Mask到底有什麽用。經過查閱大量資料後
Java垃圾回收(GC)機制詳解
nbsp 引用計數 維護 png 對象 最新 新的 com 前沿 垃圾回收算法有兩種,根據不同的虛擬機策略不同 1、引用計數法 2、可達性分析法 由於我們平常使用的hotspot虛擬機用的是第二種。 那哪些是可達的呢? 這個算法的基本思想是通過一系列稱為“GC Roots”
PHP7 學習筆記(十三)composer詳解一
導出 php開發 HR build osi oschina sni 區別 優秀 摘要 從拷貝第三方代碼到項目中(1994),到PEAR安裝依賴包(1999),再到Composer興起(2012),PHP社區經歷了將近20年的探索。PHP這門古老的語言,也在不斷的發展更新
Spring 使用介紹(六)—— AOP詳解
表示 att 通配符 except cat execution 詳解 有一個 字符 一、切入點語法 1)通配符 AOP支持的通配符: *:匹配任何數量字符 ..:匹配任何數量字符的重復,在類型模式中匹配任何數量子包,在方法參數模式中匹配任何數量參數 +:匹配指定類型的子類型
大數據學習之(Storm)-原理詳解!
大數據 storm 角色 Client client的主要作用是提交topology到集群 Worker Worker是運行在Supervisor節點上的一個獨立的JVM進程,主要作用是運行topology,一個topology可以包含多個worker,但一個worker只能屬於一個topology
Win10 TensorFlow(gpu)安裝詳解
它的 處理過程 推薦 過程 來源 sources ebo 官網 constant Win10 TensorFlow(gpu)安裝詳解 寫在前面:TensorFlow是谷歌基於DistBelief進行研發的第二代人工智能學習系統,其命名來源於本身的運行原理。Tensor(張量
python爬蟲知識點總結(七)PyQuery詳解
get 初始化 span 2個 查看 sel docs lin query 官方學習文檔:http://pyquery.readthedocs.io/en/latest/api.html 一、什麽是PyQuery? 答:強大有靈活的網頁解析庫,模仿jQuery實現。如果你覺
pfSense 防火墻Floating(浮動)規則詳解
××× 方法 作用 all 定義 quick 的人 net wal 什麽是Floating(浮動)規則?官方解釋:(摘自https://www.netgate.com/docs/pfsense/firewall/floating-rules.html)浮動規則浮動規則是高級
Java並發編程(一)Thread詳解
能夠 lds readn 暫停 正在執行 思考 基本 進程 -c 一、概述 在開始學習Thread之前,我們先來了解一下 線程和進程之間的關系: 線程(Thread)是進程的一個實體,是CPU調度和分派的基本單位。 線程不能夠獨立執行,必須依存在應用程序中,由應用程序提供
Django中static(靜態)檔案詳解以及{% static %}標籤的使用
想要深入學習Django的可以看一些這個視訊:超細講解Django打造大型企業官網 在一個網頁中,不僅僅只有一個html骨架,還需要css樣式檔案,js執行檔案以及一些圖片等。因此在DTL中載入靜態檔案是一個必須要解決的問題。在DTL中,使用static標籤來載入靜態檔案。要使用stat
深入淺出聊聊Kubernetes儲存(一):詳解Kubernetes儲存關鍵概念
近年來一直關注雲端計算領域的人,必定知道Docker和Kubernetes的崛起。如今,世界範圍內的公有云巨頭(谷歌、亞馬遜、微軟、華為雲、阿里雲等等)都在其傳統的公共雲服務之上提供託管的Kubernetes服務。Kubernetes功能強大、擴充套件性高,在許多人看來,它正在成為
Hibernate---實體配置(對映)檔案詳解 例如:User.hbm.xml檔案
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" &n
深入淺出javaEE系列(二)---servlet詳解
工作這麼久了,一直在開發web專案,servlet也是一直在用,但是對servlet核心的理解一直沒時間去做總結,這篇博文,深入淺出介紹了servlet的前前後後,希望給在java學習路上的各位同胞一個借鑑。 一、瞭解Servlet的概念
【轉載】 IntelliJ IDEA(2018)安裝詳解
第一步:進入官網下載IntelliJ IDEA https://www.jetbrains.com/idea/download/#section=windows,選擇適合版本下載; 第二步:雙擊已下載檔案,進行開始安裝; 點選 next