A tidy R package for detecting anomalies in time series data using decomposition and statistical methods.
Anomalize is an R package that provides a tidy workflow for detecting anomalies in time series data. It decomposes time series into seasonal, trend, and remainder components, then applies statistical methods to identify outliers in the remainder. The package helps data analysts spot unusual patterns in temporal data, such as unexpected spikes or drops in metrics.
Data scientists, analysts, and R users working with time series data who need to identify anomalies in datasets like download counts, sensor readings, or business metrics. It's particularly useful for those already using the tidyverse ecosystem.
Developers choose Anomalize for its seamless integration with tidyverse tools, providing a consistent and pipe-friendly workflow. Its ability to clean anomalies and improve forecast accuracy, along with straightforward visualization functions, makes it a practical choice for time series anomaly detection in R.
Tidy anomaly detection
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Seamlessly works with dplyr and ggplot2 in a pipe-friendly workflow, as shown in the quick start example using %>% for data manipulation and visualization.
Uses methods like STL to break time series into seasonal, trend, and remainder components, enabling focused anomaly detection on the remainder.
Includes plot_anomalies() and plot_anomaly_decomposition() for clear visual insights, demonstrated with the tidyverse_cran_downloads dataset.
The clean_anomalies() function repairs outliers, which the README notes can reduce forecast error by up to 32% in examples.
Functionality is now part of timetk, so this package is in maintenance mode and won't receive new features or improvements, as stated upfront in the README.
Only offers IQR and GESD statistical methods, lacking more robust or machine learning approaches available in other anomaly detection libraries.
Requires familiarity with tidyverse packages, which may add a learning curve for R users not already invested in this ecosystem.