Giter Club home page Giter Club logo

chaos-genius / chaos_genius Goto Github PK

View Code? Open in Web Editor NEW

This project forked from taboola/chaos_genius

723.0 723.0 2.0 10.15 MB

ML powered analytics engine for outlier detection and root cause analysis.

Home Page: https://www.chaosgenius.io

License: MIT License

Python 79.45% HTML 8.06% Shell 3.93% CSS 0.08% JavaScript 3.32% Mako 0.05% Jupyter Notebook 4.30% Io 0.08% Dockerfile 0.05% Gherkin 0.67% Procfile 0.01%
ai alert alert-messages analytics anomaly-detection business-intelligence data-visualization dataquality deep-learning hacktoberfest machine-learning ml monitoring monitoring-tool observability outlier-detection python rootcauseanalysis seasonality time-series

chaos_genius's People

Contributors

allcontributors[bot] avatar amatullah avatar balakumar9493 avatar bhargavsk1077 avatar chartistdev avatar dependabot[bot] avatar eltociear avatar fletchersan avatar hari696 avatar hariharank696 avatar juzarbhori avatar kartikay-bagla avatar keshprad avatar kshitij123456 avatar mahmoudelhalwany avatar manassolanki avatar mansi-chauhan27 avatar moghankumar06 avatar naikaayush avatar pshrimal21 avatar ramneekkaur983 avatar rjdp avatar rsohlot avatar sameer-codetrappers avatar samyak2 avatar santhoshkumar1023 avatar snyk-bot avatar suranah avatar varunp2k avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chaos_genius's Issues

Anomaly detection baseline implementation

This includes:

  • Anomaly UI
  • Anomaly drill downs
  • Anomaly computation - non-distributed
  • Anomaly severity scoring - baseline
  • DB storage of anomalies
  • API to serve anomalies from DB
  • Dataset driven anomaly testing

Distributed execution framework & benchmarking

Some things to understand include:

  • #71
  • #72
  • Configurable execution modes that be picked via config at every level of execution pipeline
  • Task expiry

Benchmarking test:

  1. Load 10, 1000, 100000 randomly generated series of length 100 and 500
  2. Fit prediction models on them. There will be multiple prediction libraries including prophet, neural-prophet, statsmodels.
  3. Return a predicted value, store in Redis key

Metrics & measures to evaluate:

  1. Performance in terms of series fitted & predicted per min for single node setup
  2. Performance in terms of series fitted & predicted per min for multiple (2, 5) node setup
  3. Effect of performance & memory footprint when passing multiple ML library context
  4. Number of failed/ expired jobs in each run
  5. Median, 90th, 99th percentile task execution time

Dimensional integration in UI

Need to complete the following:

  • Multidimensional RCA
  • Single dimensional RCA
  • Overlap focussed table for multidimensional RCA
  • Overall group metrics

RCA analysis errors out which using agg="count"

Unable to use a count aggregation for the get_waterfall_and_impact_table functions

out = get_waterfall_and_impact_table(
    ecom_df.query('20110820 <= date < 20110827'),
    ecom_df.query('20110827 <= date < 20110903'),
    ['Country', 'PeriodOfDay', 'DayOfWeek'],
    'num_purchases',
    agg = 'count',
    n = [1, 2, 3],
    K=5,
    plot_in_mpl=True
)

Two exceptions are raised:
KeyError:
KeyError

ValueError:
ValueError
^ I think the problem is that count is used as one of the column names in compare_subgroups

Scalability Issues for Anomaly Detection

The current implementation of Anomaly Detection works well for a demo, but needs to address these issues for scalability.

  • Training on the last 89 data points and predicting an anomaly for the next immediate data point.
  • Filtering various sub-dimensional groups.
  • For drill-downs in anomaly, we need to add sorting for various sub-dimensional series.
  • Testing with different frequencies of data (like an hourly series)
  • Testing and implementing at least another model (apart from Prophet)

Multidimensional waterfall sometimes displays K+1 max subgroups

For the get_waterfall_and_impact_table, I've set K=3 max sub-groups; however, there are 4 subgroups displayed + an others sub-group if needed.

multi dim waterfall

In the single_dim function, this doesn't happen. Setting K=3 max subgroups, gives the intended 3 sub-groups + an others sub-group if needed. Here's the exact same situation as above, except with a single dimension as 'main_cat'

single dim waterfall

Zero division error while calculating the best subgroup combo

While calculating the best subgroup combination, there is a zero division error because len(indices) == 0 on line 440

Set indices is defined here, on line 420. I printed both indices & curr_filter_string. These are the values just before the error:

indices = set()
curr_filter_string = "1027.304 < `pressure` <= 1030.316 and 8.323 < `visibility` <= 9.142 and 0.814 < `humidity` <= 0.869"

The query with curr_filter_string returns 0 rows. A case is needed to handle this.

Here's the full error message:
Err msg

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.