An R package for robust anomaly detection in time series and vectors, handling seasonality and trend.
AnomalyDetection is an R package that identifies statistically significant anomalies in time series or numerical data, even when seasonality and trends are present. It uses the Seasonal Hybrid ESD (S-H-ESD) algorithm to detect both global and local anomalies, providing robust results for monitoring and analysis.
Data scientists, analysts, and engineers working with time series data in fields like system monitoring, econometrics, financial engineering, or social sciences who need reliable anomaly detection.
It offers a statistically robust method that handles seasonality and trends out-of-the-box, with flexible features like piecewise approximation for long series and rich visualization support, making it superior to traditional anomaly detection approaches.
Anomaly Detection with R
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses the Seasonal Hybrid ESD algorithm to accurately identify both global and local anomalies even with seasonality and trends, as demonstrated in the README's examples of detecting subtle anomalies within seasonal bounds.
Supports both timestamped time series and simple numerical vectors via AnomalyDetectionTs and AnomalyDetectionVec functions, offering versatility when timestamps are unavailable, per the package's description.
Implements piecewise approximation to handle long time series (e.g., months of minutely data) without sacrificing accuracy, as mentioned for trend extraction in the presence of anomalies.
Provides annotated plots with customizable axes and anomaly highlighting, aiding visual analysis, as shown in the README's figures with clear anomaly annotations on time series data.
Limited to the R ecosystem, which can be a barrier for teams using other languages or requiring cross-platform integration, despite its statistical robustness.
Last major update was in 2015, and while stable, it may lack support for newer R versions or modern data science workflows, with no recent activity or updates mentioned in the README.
Relies on the ESD test which assumes data follows certain distributions; it might not handle highly non-stationary or irregular data well without manual preprocessing, a limitation common in statistical methods.