ts_analysis | R Documentation |
Compare each ts to a set of comparable timeseries in the pre-period and evaluate deviation from average in the post-period to detect anomalous behavior.
ts_analysis( group_timeseries_data, group_id = NA, start_date = NULL, period = "month", min_pre_periods, min_post_periods, min_timeseries = 30, sig_p = 0.05, save_model_data = TRUE, save_model = TRUE, use_cache = FALSE )
group_timeseries_data |
contains time-series data for each ts over the same period of time. Requires the following columns:
|
group_id |
unique identifier for the group |
start_date |
date separating the pre-period (matching) vs post-period evaluating. Uses detect_changepoint if missing (NULL). |
period |
unit of time to compare timeseries with. |
min_pre_periods |
number of time units to qualify as an active ts in pre-period. |
min_post_periods |
number of time units to qualify as an active ts in post-period. |
min_timeseries |
minimum number of active timeseries to run the analysis. |
sig_p |
p-value threshold to determine statistical significance. |
save_model_data |
save_model_data whether to save analysis data. |
save_model |
save_model whether to save user models. |
use_cache |
use saved data and models from previous run. |
group_id string for completed group ts analysis
set.seed(143) num_dates <- 90 num_timeseries <- 30 # generate synthetic data test_data <- setNames( merge(as.character(1:num_timeseries), seq(Sys.Date(), Sys.Date() + (num_dates - 1), by = 1), colnames = c("ts_id", "date")), c("ts_id", "date")) start_date <- Sys.Date() + floor(num_dates / 2) test_data$count <- sapply(1:(num_dates*num_timeseries), function(x) { rpois(1, 50) }) # ts anomalies test_data[test_data$ts_id == "1" & test_data$date > start_date, "count"] <- 100 test_data[test_data$ts_id == "2" & test_data$date > start_date, "count"] <- 1 output_dir <- ts_analysis( test_data, "test_analysis", start_date = start_date, period = "day", sig_p = 0.01) paste("ts analysis output in directory:", output_dir)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.