Skip to content

ankane/trend-ruby

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Trend Ruby

Ruby client for Trend, the anomaly detection and forecasting API

Build Status

Installation

Add this line to your application’s Gemfile:

gem "trend"

For the self-hosted API, create an initializer with:

Trend.url = "http://localhost:8000"

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 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)

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:

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

About

Anomaly detection and forecasting for Ruby

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages