stsm_detect_anomalies {autostsm}R Documentation

Detect Anomalies

Description

Detect anomalies using the estimated structural time series model

Usage

stsm_detect_anomalies(
  model,
  y = NULL,
  freq = NULL,
  exo_obs = NULL,
  exo_state = NULL,
  sig_level = 0.01,
  smooth = TRUE,
  plot = FALSE
)

Arguments

model

Structural time series model estimated using stsm_estimate.

y

Univariate time series of data values. May also be a 2 column data frame containing a date column.

freq

Frequency of the data (1 (yearly), 4 (quarterly), 12 (monthly), 365.25/7 (weekly), 365.25 (daily)), default is NULL and will be automatically detected

exo_obs

Matrix of exogenous variables to be used in the observation equation.

exo_state

Matrix of exogenous variables to be used in the state matrix.

sig_level

Significance level to determine statistically significant anomalies

smooth

Whether or not to use the Kalman smoother

plot

Whether to plot everything

Value

data table (or list of data tables) containing the dates of detected anomalies from the filtered and/or smoothed series

Examples

## Not run: 
#GDP Not seasonally adjusted
library(autostsm)
data("NA000334Q", package = "autostsm") #From FRED
NA000334Q = data.table(NA000334Q, keep.rownames = TRUE)
colnames(NA000334Q) = c("date", "y")
NA000334Q[, "date" := as.Date(date)]
NA000334Q[, "y" := as.numeric(y)]
NA000334Q = NA000334Q[date >= "1990-01-01", ]
stsm = stsm_estimate(NA000334Q)
anomalies = stsm_detect_anomalies(model = stsm, y = NA000334Q, plot = TRUE)

## End(Not run)

[Package autostsm version 3.1.4 Index]