Robust Anomaly Detection And Recognition (RADAR) is an anomaly detection platform designed to unify and integrate diverse approaches and libraries from the literature, along with innovative model variants. The goal is to provide a flexible and extensible framework that ranges from classical methods to advanced techniques based on Transformer architectures, also including support for Federated Learning in distributed scenarios. For more details, refer to the official documentation here.
Specifically, it includes:
- Classical methods for static data: integration with PyOD and Scikit-learn.
- Time series and deep learning models: integration with libraries such as TSFE-DL.
- Representative Transformer models: Informer, Autoformer, and Vanilla Transformer (implemented within the
time_series/folder). - Federated anomaly detection: integration with flex-anomalies, developed as part of the Flexible platform.
| Library / Model | Brief Description | Citation |
|---|---|---|
| PyOD | Collection of classical algorithms for anomaly detection on static data. | PyOD |
| Scikit-learn | Traditional machine learning methods applied to anomaly detection. | Scikit-learn |
| TSFE-DL | Framework for anomaly detection in time series using deep learning. | TSFE-DL |
| Informer | Transformer-based model optimized for long time series forecasting and anomaly detection. | Informer |
| Autoformer | Transformer specialized in time series forecasting and pattern detection. | Autoformer |
| Vanilla Transformer | Base Transformer implementation applied to anomaly detection. | Attention Is All You Need |
| flex-anomalies | Library for anomaly detection in Federated Learning environments, part of the Flexible platform. | flex-anomalies |
RADAR/
│── notebooks_test/ # Test notebooks and examples
│
│── RADAR/ # Core library
│ ├── federated_data/ # Methods and utilities for Federated Learning
│ ├── static_data/ # Anomaly detection on static data
│ ├── time_series/ # Methods for time series and deep learning
│ ├── base_algorithm_module.py # Base class for anomaly detection algorithms
│ ├── base_preprocessing_module.py # Data preprocessing utilities
│ ├── base_utils_module.py # General helper functions
│ ├── metrics_module.py # Evaluation metrics for anomaly detection
│ ├── pos_process_module.py # Post-processing of results
│ └── visualization_module.py # Visualization toolsThe library provides a set of practical examples and utilities to make experimentation easier:
- Test Notebooks: The
notebooks_test/folder contains a notebook for each library integration, showing how to use the algorithms with different types of data. - Preprocessing Scripts: Each
time_series/andstatic_data/folder includes apreprocessing/folder with techniques tailored to the specific data type:preprocessing/preprocessing_static.pyfor static datapreprocessing/preprocessing_ts.pyfor time series data
- Dataset Loaders: The same folders provide a
datasets_uci.pyfile with functions to load datasets from the UCI repository, making it easy to test and experiment with the library:static_datasets_uci.pyfor static datatime_series_datasets_uci.pyfor time series data
- Metrics:
metrics_module.pyprovides evaluation metrics for anomaly detection. - Visualization:
visualization_module.pyincludes functions to plot results and anomalies. - Post-processing:
pos_process_module.pycomputes anomaly labels from predictions.
Note that federated_data/ does not contain its own preprocessing or dataset loader scripts, since it can work with either static or time series data. The example notebooks cover usage for both types.
This setup allows users to explore the library’s functionality, apply the appropriate preprocessing, and test algorithms on real datasets efficiently.
Clone the repository:
git clone https://github.com/ari-dasci/RADAR.gitInstall the necessary dependencies:
pip install -r requirements.txt This project is licensed under the MIT License - see the LICENSE file for details.
If you use this repository in your research work, please cite the paper:
