Anomaly detection and forecasting for Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

Trend

Ruby client for Trend, the anomaly detection and forecasting API

Build Status

Getting Started

Add this line to your application’s Gemfile:

gem 'trend'

Anomaly Detection

Detect anomalies in a time series

# generate series
series = {}
date = Date.parse("2018-04-01")
28.times do
  series[date] = rand(100)
  date += 1
end

# add an anomaly on Apr 21
series[date - 8] = 999

Trend.anomalies(series)

Works great with libraries like Groupdate

series = User.group_by_day(:created_at).count
Trend.anomalies(series)

Forecasting

Get future predictions for a time series

series = {}
date = Date.parse("2018-04-01")
28.times do
  series[date] = date.wday
  date += 1
end

Trend.forecast(series)

Also works great with Groupdate

series = User.group_by_day(:created_at).count
Trend.forecast(series)

Specify the number of predictions to return

Trend.forecast(series, count: 3)

Correlation [experimental]

Get the correlation between two time series

Trend.correlation(series, series2)

Authentication

An API key is needed for more than 1,000 requests per day per IP. Email us to get one.

If you have one, set ENV["TREND_API_KEY"] or use:

Trend.api_key = "secret"

History

View the changelog

Contributing

Everyone is encouraged to help improve this project. Here are a few ways you can help:

To get started with development and testing:

git clone https://github.com/ankane/trend.git
cd trend
bundle install
rake test