anomaly_series: A technique for detecting anomalous segments based on CAPA.

Description Usage Arguments Value References Examples

View source: R/anomaly_series.R

Description

Method for calling capa.uv in a manner consistent with older versions of the anomaly package.

Usage

1
2
anomaly_series(x, penaltywindow = NULL, penaltyanomaly = NULL,
  minimumsegmentlength = 10, warnings = TRUE, method = "meanvar")

Arguments

x

A numeric vector containing the data which is to be inspected.

penaltywindow

A numeric constant indicating the penalty for adding an additional epidemic changepoint. It defaults to a BIC style penalty if no argument is provided.

penaltyanomaly

A numeric constant indicating the penalty for adding an additional point anomaly. It defaults to a BIC style penalty if no argument is provided.

minimumsegmentlength

An integer indicating the minimum length of epidemic changes. It must be at least 2 and defaults to 10.

warnings

A logical determining whether the warnings should be displayed. It defaults to TRUE.

method

A string indicating which type of deviations from the baseline are considered. Can be "meanvar" for collective anomalies characterised by joint changes in mean and variance (the default) and "mean" for collective anomalies characterised by changes in mean only.

Value

An anomaly_series object.

References

\insertRef

2018arXiv180601947Fanomaly

Examples

 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
library(anomaly)
set.seed(2018)
# Generate data typically following a normal distribution with mean 0 and variance 1. 
# Then introduce 3 anomaly windows and 4 point outliers.
x  = rnorm(5000)
x[401:500]   = rnorm(100,4,1)
x[1601:1800] = rnorm(200,0,0.01)
x[3201:3500] = rnorm(300,0,10)
x[c(1000,2000,3000,4000)] = rnorm(4,0,100)
inferred_anomalies = anomaly_series(x)
plot(inferred_anomalies)
summary(inferred_anomalies)
print(inferred_anomalies)

### Repeat with other method

inferred_anomalies = anomaly_series(x,method="mean")
plot(inferred_anomalies)
summary(inferred_anomalies)
print(inferred_anomalies)

### Real data example: 

library(anomaly)
data(Lightcurves)
### Plot the data for Kepler 10965588: No transit apparent
plot(Lightcurves$Kepler10965588$Day,Lightcurves$Kepler10965588$Brightness,xlab = "Day",pch=".")
### Examine a period of 62.9 days for Kepler 10965588
binned_data = period_average(Lightcurves$Kepler10965588,62.9)
inferred_anomalies = anomaly_series(binned_data)
plot(inferred_anomalies,xlab="Bin")
# We found a planet!

Fisch-Alex/anomaly documentation built on Sept. 4, 2019, 10:12 p.m.