Investment in AI time series forecasting capability has flourished in the B2B market in recent months. Whether its applying fbprophet to multi-site scaling with Apache Spark in Databricks, LinkedIn's Greykite library / Silverkite algo, Unit8's Darts or via a recurrent neural network / LSTM, python provides a host of new libraries to go beyond traditional naive, exponential smoothing or Arima-based approaches.
And apps tapping into the $26.9 billion NoLo code market, such as Azure Machine Learning, Google BigQuery / Vertex AI, IBM Cloud Pak for Data and DataRobot have forecasting capability built-in under the hood.
How exactly are some of these techniques and tools being used ? Rather than relying on any one approach, its generally a good idea to compare and contrast a number of different algos with a persistence (naive) forecast (repeating a historical pattern in the test data, often just the last datapoint) as well as against each other before final model selection for a specific forecasting use case.
This includes running with traditional regression techniques: Autoregression (AR), Moving Average (MA), Autoregressive Moving Average (ARMA), Autoregressive Integrated Moving Average (ARIMA), and Seasonal Autoregressive Integrated Moving-Average (SARIMA) are still widely used, and at the very least are great for benchmarking.
Facebook’s open-sourced algorithm fbprophet for time series forecasting is particularly popular. The algorithm automates forecasting on time series data, capturing four key, often non-linear time series components: secular trends, seasonal variations, cyclical variations, and irregular variations such as holiday effects. fbprophet is particularly good forecasting over long term horizons and scaling over multiple items, products, sites or business units (particularly when integrated with Apache Spark and Databricks).
LinkedIn’s open source python forecasting library Greykite (released in May 2021), which leverages the Silverkite algorithm is also good and can have speed and accuracy advantages over fbprophet.
More recently Unit8's Darts is growing in popularity due to its ease of use, ability to handle multivariate time series as well as being a wrapper for fbprophet, arima and exponential smoothing algorithms.
Meanwhile the inherent ability to process sequential data or data with underlying order/syntax has meant an explosion in the use of recurrent neural networks (RNNs), and specifically long short term memory networks (LSTMs) for training a forecasting model and performing inference. As a result, RNNs are typically used in forecasting time series data such as stock market data or IoT/sensor data that has underlying temporal dependencies. LSTMs can produce highly sophisticated/accurate forecasts for short-mid term horizons, but tend to underperform over a longer term horizon.
We have put a few examples on our website - please take a look, together with a discussion with ChatGPT - watch to the end to see if we can get a 100 day forecast for Apple.