**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.

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

`#install.packages("lookout")`

And the development version from GitHub with:

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

```
library(lookout)
<- lookout(faithful)
lo
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.

```
<- persisting_outliers(faithful)
persistence autoplot(persistence)
```