Learn R Programming

lookout

lookout identifies outliers in data using leave-one-out kernel density estimates and extreme value theory. The bandwidth for kernel density estimates is computed using persistent homology, a technique in topological data analysis. Using peak-over-threshold method, a generalized Pareto distribution is fitted to the log of leave-one-out kde values to identify outliers.

See Kandanaarachchi and Hyndman (2021) for the underlying methodology.

Installation

You can install the released version of lookout from CRAN with:

#install.packages("lookout")

And the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("sevvandi/lookout")

Example

library(lookout)
lo <- lookout(faithful)
lo
#> Leave-out-out KDE outliers using lookout algorithm
#> 
#> Call: lookout(X = faithful)
#> 
#>   Outliers Probability
#> 1       24  0.01371435
#> 2      149  0.00000000
#> 3      211  0.00000000
autoplot(lo)
#> Warning: `guides(<scale> = FALSE)` is deprecated. Please use `guides(<scale> =
#> "none")` instead.

Next we look at outlier persistence. The outlier persistence plot shows the outliers that persist over a range of bandwidth values for different levels of significance. The strength is inversely proportional to the level of significance. If the level of significance is 0.01, then the strength is 10 and if it is 0.1, then the strength is 1.

persistence <- persisting_outliers(faithful)
autoplot(persistence)

Copy Link

Version

Install

install.packages('lookout')

Monthly Downloads

477

Version

0.1.4

License

GPL-3

Maintainer

Sevvandi Kandanaarachchi

Last Published

October 14th, 2022

Functions in lookout (0.1.4)

autoplot.lookoutliers

Plots outliers identified by lookout algorithm.
autoplot.persistingoutliers

Plots outlier persistence for a range of significance levels.
lookout

Identifies outliers using the algorithm lookout.
lookout-package

lookout: Leave One Out Kernel Density Estimates for Outlier Detection
reexports

Objects exported from other packages
lookout_ts

Identifies outliers in univariate time series using the algorithm lookout.
persisting_outliers

Computes outlier persistence for a range of significance values.