BigQuery ML ARIMA_PLUS is a univariate forecasting model. As a statistical model, it is faster to train than a model based on neural networks. We recommend training a BigQuery ML ARIMA_PLUS model if you need to perform many quick iterations of model training or if you need an inexpensive baseline to measure other models against.
Like Prophet, BigQuery ML ARIMA_PLUS attempts to decompose each time series into trends, seasons, and holidays, producing a forecast using the aggregation of these models' predictions. One of the many differences, however, is that BQML ARIMA+ uses ARIMA to model the trend component, while Prophet attempts to fit a curve using a piecewise logistic or linear model.
Google Cloud offers a pipeline for training a BigQuery ML ARIMA_PLUS model and a pipeline for getting batch predictions from a BigQuery ML ARIMA_PLUS model. Both pipelines are instances of Vertex AI Pipelines from Google Cloud Pipeline Components (GCPC).
To learn about the service accounts used by this workflow, see Service accounts for ARIMA+.
Workflow APIs
This workflow uses the following APIs:
- Vertex AI
- BigQuery
- Cloud Storage
Tutorial
The tutorial presented here uses a synthetic dataset of product sales. These sales are dependent on a variety of factors such as advertisements, holidays, and locations. Training a forecasting model on this kind of dataset lets a store planner determine how much inventory they need to order for each of their products and stores.
The tutorial compares the performance of the BigQuery ML ARIMA_PLUS model with the performance of the Vertex AI Forecasting model. The multivariate Vertex AI Forecasting model has the potential to model the data more effectively because it can explicitly model covariates.
The tutorial steps are as follows:
- Train the BigQuery ML ARIMA_PLUS model.
- View the BigQuery ML ARIMA_PLUS model evaluation.
- Perform batch prediction with the BigQuery ML ARIMA_PLUS model.
- Create a Vertex AI
Dataset
resource. - Train the Vertex AI Forecasting model.
- View the model evaluation.
- Make a batch prediction with the model.