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, 2017 at 17:40
  • $\begingroup$ Search for Local Outliers. $\endgroup$ May 1, 2017 at 17:42
  • 1
    $\begingroup$ @Emre Why do you call the conditional distribution parametric but the fixed distribution nonparametric? (And what do you mean by the fixed distribution?) $\endgroup$
    – Dave
    Oct 29, 2020 at 14:17

3 Answers 3


Let's say that your dataset is a bunch of temperatures with a bunch of features related to when/where the measurements were made.

A measurement is a global outlier if it diverges from the distribution of temperatures regardless of the features (when and where) because that measurement is far off the global distribution (100°C for example).

The example makes a good case of how looking at conditional distributions (temperature|place, time of measurement) can provide additional insights (here detecting that 28°C is a contextual outlier). Contextual outliers are within the global distribution but are outliers when looking at conditional distributions.

Now of course your dataset has some context, so in a sense you're right, everything is contextual, but the global/contextual border resides in what you have at hand : if all you have is the temperatures from one day, comparing a temperature from that day to all the measurements of that day will allow you do detect gloabl outliers ; now if you had access to temperatures all year long and that your still looked at that day precisely, that would become a conditional distribution.


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.


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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.