I am studying "Data Mining: Concepts and Techniques" by Han, Kamber & Pei. In Chapter 12 "Outlier Detection", they have stated that there are 3 types of outliers:

  1. Global Outlier - deviates significantly from the rest of the data set
  2. Contextual Outlier - deviates significantly with respect to a specific context of the object
  3. Collective Outlier - the individual data objects may not be outliers, but the objects as a whole deviate significantly from the entire data set.

According to the authors:

“The temperature today is 28 C. Is it exceptional (i.e., an outlier)?” It depends, for example, on the time and location! If it is in winter in Toronto, yes, it is an outlier. If it is a summer day in Toronto, then it is normal. Unlike global outlier detection, in this case, whether or not today’s temperature value is an outlier depends on the context—the date, the location, and possibly some other factors. In a given data set, a data object is a contextual outlier if it deviates significantly with respect to a specific context of the object. Contextual outliers are also known as conditional outliers because they are conditional on the selected context. Therefore, in contextual outlier detection, the context has to be specified as part of the problem definition.

My question : Is not Contextual Outliers the same as Global Outliers where the original feature vector describing each data object may have to be extended to incorporate some other attributes (information regarding the "context") ? Obviously, if the data objects do not contain enough attributes, they can never be classified as outlier ! This holds true for global outliers as well. So it makes no sense to me to form a new category of outliers as Contextual Outliers.

  • $\begingroup$ Contextual outliers deviate from a conditional (parametric) distribution whereas global outliers deviate from a fixed (nonparametric) distribution. $\endgroup$ – Emre May 1 '17 at 17:40
  • $\begingroup$ Search for Local Outliers. $\endgroup$ – Has QUIT--Anony-Mousse May 1 '17 at 17:42

Any outlier, whether it is a point outlier or a collective outlier can also be a contextual outlier when analyzed with respect to a context. By incorporating context information, an outlier detection problem to detect a point outlier or a collective outlier can be transformed into an outlier detection problem for detecting contextual outliers.

Source: https://shodhganga.inflibnet.ac.in/bitstream/10603/154074/4/04_chapter%201.pdf

Hence you are correct when you say that Global outlier detection does require context.

But let's think of time series data where context is temporal. A data point is considered a global outlier if its value is far outside the entirety of the data set. And it is considered a contextual outlier if values are not outside the normal global range, but are abnormal compared to the seasonal pattern.

Source: https://www.anodot.com/blog/quick-guide-different-types-outliers/

Hence the need of contextual outliers as a separate category.

| improve this answer | |

Contextual outliers are basically hard to spot if there was no background information. If you had no idea that the values were temperatures in summer, it may be considered a valid data point.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy