-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.Rmd
57 lines (40 loc) · 1.81 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
---
output: github_document
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```
# lookout <img src='man/figures/logo.png' align="right" height="134" />
<!-- badges: start -->
[![R-CMD-check](https://github.com/sevvandi/lookout/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/sevvandi/lookout/actions/workflows/R-CMD-check.yaml)
<!-- badges: end -->
**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)](https://robjhyndman.com/publications/lookout/) for the underlying methodology.
## Installation
You can install the released version of lookout from [CRAN](https://CRAN.R-project.org) with:
``` r
#install.packages("lookout")
```
And the development version from [GitHub](https://github.com/) with:
``` r
# install.packages("devtools")
devtools::install_github("sevvandi/lookout")
```
## Example
```{r}
library(lookout)
lo <- lookout(faithful)
lo
autoplot(lo)
```
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.
```{r}
persistence <- persisting_outliers(faithful)
autoplot(persistence)
```