Data Mining Anomaly/Outlier Detection

Slides:



Advertisements
Similar presentations
Applications of one-class classification
Advertisements

CHAPTER 13: Alpaydin: Kernel Machines
Hierarchical Clustering, DBSCAN The EM Algorithm
Data Mining Cluster Analysis: Advanced Concepts and Algorithms
Data Mining Anomaly Detection Lecture Notes for Chapter 10 Introduction to Data Mining by Tan, Steinbach, Kumar © Tan,Steinbach, Kumar Introduction to.
Data Mining Anomaly Detection
Data Mining Anomaly Detection Lecture Notes for Chapter 10 Introduction to Data Mining by Minqi Zhou © Tan,Steinbach, Kumar Introduction to Data Mining.
Classification and Decision Boundaries
Data Mining Cluster Analysis: Advanced Concepts and Algorithms Lecture Notes for Chapter 9 Introduction to Data Mining by Tan, Steinbach, Kumar © Tan,Steinbach,
Data Mining Anomaly Detection Lecture Notes for Chapter 10 Introduction to Data Mining by Tan, Steinbach, Kumar © Tan,Steinbach, Kumar Introduction to.
Anomaly Detection brief review of my prospectus Ziba Rostamian CS590 – Winter 2008.
Anomaly Detection. Anomaly/Outlier Detection  What are anomalies/outliers? The set of data points that are considerably different than the remainder.
© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/ Data Mining Anomaly Detection Lecture Notes for Chapter 10 Introduction to Data Mining by.
Ch. Eick: Support Vector Machines: The Main Ideas Reading Material Support Vector Machines: 1.Textbook 2. First 3 columns of Smola/Schönkopf article on.
Jeff Howbert Introduction to Machine Learning Winter Anomaly Detection Some slides taken or adapted from: “Anomaly Detection: A Tutorial” Arindam.
Data Mining Anomaly Detection Lecture Notes for Chapter 10 Introduction to Data Mining by Tan, Steinbach, Kumar © Tan,Steinbach, Kumar Introduction to.
Data Mining Anomaly Detection Lecture Notes for Chapter 10 Introduction to Data Mining by Tan, Steinbach, Kumar © Tan,Steinbach, Kumar Introduction to.
Outlier Detection Using k-Nearest Neighbour Graph Ville Hautamäki, Ismo Kärkkäinen and Pasi Fränti Department of Computer Science University of Joensuu,
COMMON EVALUATION FINAL PROJECT Vira Oleksyuk ECE 8110: Introduction to machine Learning and Pattern Recognition.
CHAPTER 7: Clustering Eick: K-Means and EM (modified Alpaydin transparencies and new transparencies added) Last updated: February 25, 2014.
© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/ Data Mining Anomaly Detection Lecture Notes for Chapter 10 Introduction to Data Mining by.
Data Mining Anomaly Detection Lecture Notes for Chapter 10 Introduction to Data Mining by Tan, Steinbach, Kumar © Tan,Steinbach, Kumar Introduction to.
Data Mining Anomaly Detection © Tan,Steinbach, Kumar Introduction to Data Mining.
Data Mining Anomaly Detection Lecture Notes for Chapter 10 Introduction to Data Mining by Tan, Steinbach, Kumar © Tan,Steinbach, Kumar Introduction to.
Data Mining Anomaly/Outlier Detection Lecture Notes for Chapter 10 Introduction to Data Mining by Tan, Steinbach, Kumar © Tan,Steinbach, Kumar Introduction.
Lecture 7: Outlier Detection Introduction to Data Mining Yunming Ye Department of Computer Science Shenzhen Graduate School Harbin Institute of Technology.
1 Data Mining: Concepts and Techniques (3 rd ed.) — Chapter 12 — Jiawei Han, Micheline Kamber, and Jian Pei University of Illinois at Urbana-Champaign.
Data Mining Anomaly Detection Lecture Notes for Chapter 10 Introduction to Data Mining by Tan, Steinbach, Kumar © Tan,Steinbach, Kumar Introduction to.
Data Mining Anomaly/Outlier Detection Lecture Notes for Chapter 10 Introduction to Data Mining by Tan, Steinbach, Kumar.
© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/ Data Mining: Cluster Analysis This lecture node is modified based on Lecture Notes for Chapter.
Anomaly Detection Carolina Ruiz Department of Computer Science WPI Slides based on Chapter 10 of “Introduction to Data Mining” textbook by Tan, Steinbach,
ETHEM ALPAYDIN © The MIT Press, Lecture Slides for.
1 CSE 881: Data Mining Lecture 22: Anomaly Detection.
Anomaly Detection Nathan Dautenhahn CS 598 Class Lecture March 3, 2011.
Descriptive Statistics ( )
Data Mining Practical Machine Learning Tools and Techniques
Exploring Data: Summary Statistics and Visualizations
More on Clustering in COSC 4335
BAE 6520 Applied Environmental Statistics
Deep Feedforward Networks
BAE 5333 Applied Water Resources Statistics
LECTURE 09: BAYESIAN ESTIMATION (Cont.)
Ch8: Nonparametric Methods
Classification of unlabeled data:
Data Mining: Concepts and Techniques (3rd ed.) — Chapter 12 —
Mean Shift Segmentation
Clustering Evaluation The EM Algorithm
Lecture Notes for Chapter 9 Introduction to Data Mining, 2nd Edition
Data Mining Classification: Alternative Techniques
Numerical Descriptive Measures
Fitting Curve Models to Edges
Data Mining Anomaly Detection
Outlier Discovery/Anomaly Detection
Probabilistic Models with Latent Variables
Data Mining Anomaly/Outlier Detection
STA 291 Spring 2008 Lecture 5 Dustin Lueker.
STA 291 Spring 2008 Lecture 5 Dustin Lueker.
Numerical Descriptive Measures
COSC 4335: Other Classification Techniques
Lecture 14: Anomaly Detection
COSC 4368 Machine Learning Organization
Mathematical Foundations of BME
Junheng, Shengming, Yunsheng 11/09/2018
COSC 4335: Part2: Other Classification Techniques
Data Mining Anomaly Detection
Numerical Descriptive Measures
Data Mining Anomaly Detection
Outlines Introduction & Objectives Methodology & Workflow
Presentation transcript:

Data Mining Anomaly/Outlier Detection Lecture Notes for Chapter 10 Introduction to Data Mining by Tan, Steinbach, Kumar New slides have been added and the original slides have been significantly modified by Christoph F. Eick

Lecture Organization 0. Anomaly/Outlier Detection Graphic-based Approaches Model-based Statistical Approaches One-Class SVM Approach Distance-Based Approaches Anomaly Detection Coverage in COSC 4355 Please note, 7/8 of an iceberg are under water!

0. Anomaly/Outlier Detection What are anomalies/outliers? The set of data points that are considerably different than the remainder of the data Variants of Anomaly/Outlier Detection Problems Given a database D, find all the data points x  D with anomaly scores greater than some threshold t Given a database D, find all the data points x  D having the top-n largest anomaly scores f(x) Given a database D, containing mostly normal (but unlabeled) data points, and a test point x, compute the anomaly score of x with respect to D Applications: Credit card fraud detection, telecommunication fraud detection, network intrusion detection, fault detection, data cleaning, sensor fusion,…

Importance of Anomaly Detection Ozone Depletion History In 1985 three researchers (Farman, Gardinar and Shanklin) were puzzled by data gathered by the British Antarctic Survey showing that ozone levels for Antarctica had dropped 10% below normal levels Why did the Nimbus 7 satellite, which had instruments aboard for recording ozone levels, not record similarly low ozone concentrations? The ozone concentrations recorded by the satellite were so low they were being treated as outliers by a computer program and discarded! Sources: http://exploringdata.cqu.edu.au/ozone.html http://www.epa.gov/ozone/science/hole/size.html

Anomaly Detection Challenges Working assumption: How many outliers are there in the data? Method is unsupervised Validation can be quite challenging (just like for clustering) Finding needle in a haystack Working assumption: There are considerably more “normal” observations than “abnormal” observations (outliers/anomalies) in the data

Anomaly Detection Schemes General Steps Build a profile of the “normal” behavior Profile can be patterns or summary statistics for the overall population Use the “normal” profile to detect anomalies Anomalies are observations whose characteristics differ significantly from the normal profile Types of anomaly detection schemes Graphical Model-based, relying on parametric models One-Class SVM Approach Distance-based

1. Graphical Approaches Idea: user identifies outliers by visual inspection Scatter plot (2-D), Spin plot (3-D) Limitations Time consuming Subjective

Convex Hull Method Extreme points are assumed to be outliers Use convex hull method to detect extreme values http://cgm.cs.mcgill.ca/~godfried/teaching/project s97/belair/alpha.html

Box-Plot Approach for Outlier Detection 1.5*IQR IQR Mixture of a graphical and a statistical approach Observations that are more than *IQR (e.g.  =1.5) above or below the inter-quantile range are outliers. Decent approach for 1D/single attribute outlier detection! Sad news: Cannot be used for multi-variate data!

2. Model-based Statistical Approaches Fit a parametric model M to the data, capturing the distribution of the data (e.g., normal distribution) Apply a statistical test that depends on Data distribution Parameter of distribution (e.g., mean, variance) Number of expected outliers (confidence limit) Alternatively, rank points by their likelihood with respect to M Data Density Function

Grubbs’ Test Detect outliers in univariate data Assume data comes from normal distribution Detects one outlier at a time, remove the outlier, and repeat H0: There is no outlier in data HA: There is at least one outlier Grubbs’ test statistic: Reject H0 if:

Statistical Approaches for Assignment4 Fit a model M to the dataset D; e.g. A Bivariate Gaussian Model A Bivariate Gaussian Mixture Model by running the EM clustering algorithm Plug each point p into the density function dM of model M and compute dM(p) or preferably log(dM(p)), called the log likelihood of p, and add this value as in a new column ols (“outlier score”) to D obtaining D’—the smaller this value is the more likely p is an outlier with respect M. Sort D’ in ascending order—the first record is the record with the smallest value for log(dM(p)) Perform the remaining tasks using D’ GMM-Model

Density Plot for Assigment4 Dataset Remark: Using a model-based approach points on the same density contour line should have the same likelihood to be outliers with respect to the underlying statistical model M.

Another “Better” Density Contour Plot

General Idea EM Algorithm Learns Gaussian Mixture Models: http://pypr.sourceforge.net/mog.html http://scikit-learn.org/stable/modules/mixture.html 600.465 - Intro to NLP - J. Eisner

Likelihood-Based Removal Approach Assume the data set D contains samples from a mixture of two probability distributions: M (majority distribution) A (anomalous distribution) General Approach: Initially, assume all the data points belong to M Let Lt(D) be the log likelihood of D at time t For each point xt that belongs to M explore the affect of moving it to A Let Lt+1 (D) be the new log likelihood after removing xt Compute the difference,  = Lt+1(D) – Lt (D) If  > c (some threshold), then xt is declared as an anomaly and moved permanently from M to A

Limitations of Statistical Approaches Most of the statistical tests are for a single attributes In many cases, data distribution/model may not be known For high dimensional data, it may be difficult to estimate the “true” density function. However, mixtures of Gaussians and conjunction with EM have been successfully used in practice for some outlier detection tasks that involve multi-variate data.

3. One-Class SVM Approach for Outlier Detection Consider a sphere with center a and radius R Minimize R and the error resulting from points outside the sphere—their error is their distance to the sphere. Lowercase greek xi letter, pronounced ‘ksi’ error More information: http://rvlasveld.github.io/blog/2013/07/12/introduction-to-one-class-support-vector-machines/

One Class SVM with Kernel Functions Again kernel functions/mapping to a higher dimensional space can be employed in which case the class boundary shapes change as depicted.

4. Distance-based Approaches Data is represented as a vector of features Three major approaches K-Nearest-neighbor based Density-based approaches, relying on non- parametric density estimation techniques Clustering based

Nearest-Neighbor Based Approach Compute the distance between every pair of data points There are various ways to define outliers: Data points for which there are fewer than p neighboring points within a distance r The top n data points whose distance to the kth nearest neighbor is greatest The top n data points whose average distance to the k nearest neighbors is greatest

Density-based: LOF approach For each point, compute the density of its local neighborhood; e.g. use DBSCAN’s approach Compute local outlier factor (LOF) of a sample p as the average of the ratios of the density of sample p and the density of its nearest neighbors Outliers are points with largest LOF value p2  p1 In the NN approach, p2 is not considered as outlier, while LOF approach find both p1 and p2 as outliers

Clustering-Based Basic Idea: Run a clustering algorithm, objects that do not belong to any cluster are considered to be outliers! Problem: Clustering algorithm that has some notion of outliers! Problem what parameters should I choose for the algorithm; e.g. we could just run DBSCAN and report the outliers! Rule of Thumb: Less than x% of the data should be outliers (with x typically chosen between 0.1 and 10); x might be determined with other methods; e.g. statistical tests.

Assigment4 Dataset

R-Code Used to Create the Complex9_gn8 Displays #R-code for Assignment4 COSC 4335 Spring 2016 #Code for Scatter Plots setwd("C:/Users/8yetula8\\Desktop") a<-read.csv("complex9_gn8.txt") d<-data.frame(x=a[,1],y=a[,2],class=factor(a[,3])) plot(d$x,d$y) require("lattice") require("ggplot2") xyplot(y ~ x | class, d, groups=d$class, pch=20) ggplot(d, aes(x=x, y=y, colour=class))+ geom_point() ggplot(d, aes(x = x, y = y)) + geom_point() + facet_grid(~class) ggplot (d, aes (x = x, y = y, colour = class)) + stat_density2d () p <- ggplot(d, aes(x = x,y = y)) p+geom_point()+geom_density2d() #another approach; seems to get more meaningful contours require("MASS") require("KernSmooth") y <- cbind(d$x, d$y) #this apporach uses kernel density estimation; est <- bkde2D(y, bandwidth=c(20, 18)) contour(est$x1, est$x2, est$fhat) persp(est$fhat)