Getting Started with EGADS: The Extensible Generic Anomaly Detection System

Aug 5, 2021 | Programming

Are you looking to automatically detect anomalies in large scale time-series data? Look no further! The EGADS (Extensible Generic Anomaly Detection System) Java library is here to help. This open-source library incorporates various anomaly detection techniques within a single package, making your data analysis journey easier.

Table of Contents

How to Install EGADS

Getting started with EGADS is simple! Follow these steps:

  1. First, clone the EGADS repository from GitHub.
  2. Navigate to the directory where you cloned the repo.
  3. Compile the library into a single jar using the command:
  4. mvn clean compile assembly:single
  5. Ensure that your JAVA_HOME variable is set correctly:
  6. export JAVA_HOME=/usr/lib/jvm/JVM_directory

Using EGADS

To run EGADS for anomaly detection, simply execute the following command:

java -Dlog4j.configurationFile=src/test/resources/log4j2.xml -cp target/egads-*-jar-with-dependencies.jar com.yahoo.egads.Egads src/test/resources/sample_config.ini src/test/resources/sample_input.csv

This will produce an interface for further analysis (you can enable the GUI by setting the OUTPUT config key in your config file).

Understanding the Code

In the previous command, think of it as sending a detective (the code) into a large city (your data) to find noticeable disturbances (anomalies). The detective gathers information (reads the data) and uses specific tools (models) to analyze the situation (detect anomalies). The detective needs to follow the right routes (configuration settings) to effectively find and report the anomalies.

Architecture Overview

EGADS consists of two primary components:

  • Time-Series Modeling Module (TMM): Models the time-series data.
  • Anomaly Detection Module (ADM): Computes anomaly scores based on models created by TMM.

This separation allows for scalability and flexibility, making EGADS easy to integrate into existing monitoring systems.

Configuration Parameters

EGADS allows you to customize operations with various parameters. Here’s a brief overview:

  • MAX_ANOMALY_TIME_AGO: Specifies how old anomalies can be.
  • AGGREGATION: Defines how the time-series data should be aggregated.
  • OP_TYPE: Indicates the type of operation (e.g., DETECT_ANOMALY).
  • TS_MODEL: Specifies the time-series model type.
  • AD_MODEL: Chooses the anomaly-detection model type.

Troubleshooting Common Issues

If you encounter any issues while using EGADS, here are some troubleshooting steps:

  • Ensure that the JAVA_HOME variable is set appropriately.
  • Check your configuration file for syntax errors or incorrect paths.
  • If you face dependency issues, verify all Maven dependencies are correctly installed.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

Conclusion

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox