Recently, LinkedIn introduced a new open-sourced Python library, Greykite, to provide flexible, intuitive and fast time series forecasts. The library was developed to support the forecasting needs of the online professional networking platform.
Greykite library provides a framework to develop a robust forecast model using outlier/anomaly preprocessing, grid search, exploratory data analysis, benchmarking, feature extraction and engineering, evaluation, and plotting.
Sign up for your weekly dose of what's up in emerging technology.
For a few years now, forecasting business metrics and quantifying their volatility has become a go-to technique for most organisations. Through the long-term forecast, organisations can have an outlook and expectations about future growth or future resource requirements. In contrast, short-term forecasts can be used to detect anomalies in the system.
Greykite contains a simple modelling interface that facilitates data exploration and model tuning. The library provides intuitive forecasts through its flagship algorithm, known as Silverkite. Silverkite is highly customisable and includes tuning parameters to capture diverse time series characteristics.
In an official blogpost, LinkedIn said, “The Silverkite algorithm works well on time series with (potentially time-varying) trends and seasonality, repeated events/holidays, and/or short-range effects. At LinkedIn, we’ve successfully applied it to a wide variety of metrics in different time frequencies (hourly, daily, weekly, etc.), as well as various forecast horizons, e.g., 1 day ahead (short-term) or 1 year ahead (long-term).”
The professional networking platform uses time series forecasts for various processes, such as to provision sufficient infrastructure to handle peak traffic, to optimize budget decisions by forecasting growth of various markets, to set business metric targets and track progress for operational success, among others. The developers at LinkedIn designed this library in order to solve these types of problems.
Besides Silverkite, Greykite also supports Prophet, which is an open-source algorithm for forecasting time series data. The Prophet algorithm is developed by Facebook and is robust to missing data and shifts in the trend as well as handles outliers well.
The Greykite library comes with various capabilities for model assessment, validation, and testing that are appropriate for the time series context. The library offers components that could be used within other forecasting libraries or even outside the forecasting context. The library includes a number of features-
- Flexible design: Greykite provides time series regressors to capture trend, changepoints, autoregression and more.
- Intuitive interface: The library produces interpretable output, with model summary to examine the individual regressors as well as component plots to visually inspect the combined effect of related regressors. It provides powerful plotting tools to explore seasonality, interactions, changepoints, etc. It also provides model templates (default parameters) that work well based on data characteristics and forecast requirements (e.g. daily long-term forecast).
- Fast training and scoring: Greykite facilitates interactive prototyping, grid search, and benchmarking. Grid search is useful for model selection and semi-automatic forecasting of multiple metrics.
- Extensible framework: The open-source library provides an extensible framework that exposes multiple forecast algorithms in the same interface, making it easy to try algorithms from different libraries and compare results. The same pipeline provides preprocessing, cross-validation, backtest, forecast, and evaluation with any algorithm.
The Greykite library provides a highly customizable algorithm Silverkite for time series forecasting. The library also provides intuitive tuning options and diagnostics for model interpretation.
According to its developers, the library is extensible to multiple algorithms, and facilitates benchmarking them through a single interface. The developers are planning to add other useful open-source algorithms in the future to give users more options to choose from, through a unified interface.