Trend
Ruby client for Trend, the anomaly detection and forecasting API
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 1000 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:
- Report bugs
- Fix bugs and submit pull requests
- Write, clarify, or fix documentation
- Suggest or add new features
To get started with development and testing:
git clone https://github.com/ankane/trend.git
cd trend
bundle install
rake test