The ML.ARIMA_EVALUATE function
This document describes the
ML.ARIMA_EVALUATE function, which you can use
to evaluate the model metrics of
ARIMA_PLUS_XREG time series
ML.ARIMA_EVALUATE( MODEL `project_id.dataset.model`, [, STRUCT(show_all_candidates AS show_all_candidate_models)])
ML.ARIMA_EVALUATE takes the following arguments:
STRINGvalue that specifies your project ID.
STRINGvalue that specifies the BigQuery dataset that contains the model.
STRINGvalue that specifies the name of the model.
BOOLvalue that indicates whether to show evaluation metrics or an error message for either all candidate models or for only the best model with the lowest Akaike information criterion (AIC).
ML.ARIMA_EVALUATEfunction returns evaluation metrics for only the best model. When
TRUE, metrics are returned for all candidate models, along with a possible fitting error on a setting of
drift; this applies to both single time series training with
auto.ARIMAand large-scale time series training cases.
For large-scale time series forecasting training, regardless of the value of
show_all_candidate_models, a single row is returned for a time series for which there is no a valid model. The error message explains the reason, and the values of all other columns are
For single time series
ARIMA_PLUS_XREGmodels, the default value is
TRUE. For large-scale time series
ARIMA_PLUSmodels, the default value is
ML.ARIMA_EVALUATE returns the following columns:
time_series_id_cols: the identifiers of a time series. Only present when forecasting multiple time series at once. The column names and types are inherited from the
TIME_SERIES_ID_COLoption as specified in the model creation query.
INT64value that contains the order of the autoregressive part in a non-seasonal ARIMA model.
INT64value that contains the degree of first differencing involved in a non-seasonal ARIMA model.
INT64value that contains the order of the moving average part in a non-seasonal ARIMA model.
BOOLvalue that indicates whether the model has drift.
FLOAT64value that contains the log-likelihood of the model.
AIC: the AIC of the model.
FLOAT64value that contains the variance of the model.
ARRAY<STRING>value that contains one or more of the following values:
BOOLvalue that indicates whether the history data has a holiday effect.
BOOLvalue that indicates whether the history data has spikes and dips.
BOOLvalue that indicates whether the model has step changes.
STRINGvalue that contains the error message raised if any time series fail in the model.
are only populated for
ARIMA_PLUS models that have
All of the columns are specific to the fitted
ARIMA models except for the
non_seasonal_d value is not
has_drift is set to
has_drift doesn't apply in those cases.
The following example retrieves the evaluation metrics of the best model from
mydataset.mymodel in your default project:
SELECT * FROM ML.ARIMA_EVALUATE(MODEL `mydataset.mymodel`, STRUCT(FALSE AS show_all_candidate_models))
- For information about model evaluation, see BigQuery ML model evaluation overview.
- For information about the supported SQL statements and functions for each model type, see End-to-end user journey for each model.