Class ARIMAPlus (2.5.0)

ARIMAPlus(
    *,
    horizon: int = 1000,
    auto_arima: bool = True,
    auto_arima_max_order: typing.Optional[int] = None,
    auto_arima_min_order: typing.Optional[int] = None,
    data_frequency: str = "auto_frequency",
    include_drift: bool = False,
    holiday_region: typing.Optional[str] = None,
    clean_spikes_and_dips: bool = True,
    adjust_step_changes: bool = True,
    forecast_limit_lower_bound: typing.Optional[float] = None,
    forecast_limit_upper_bound: typing.Optional[float] = None,
    time_series_length_fraction: typing.Optional[float] = None,
    min_time_series_length: typing.Optional[int] = None,
    max_time_series_length: typing.Optional[int] = None,
    trend_smoothing_window_size: typing.Optional[int] = None,
    decompose_time_series: bool = True
)

Time Series ARIMA Plus model.

Parameters

NameDescription
horizonint, default 1,000

The number of time points to forecast. Default to 1,000, max value 10,000.

auto_arimabool, default True

Determines whether the training process uses auto.ARIMA or not. If True, training automatically finds the best non-seasonal order (that is, the p, d, q tuple) and decides whether or not to include a linear drift term when d is 1.

auto_arima_max_orderint or None, default None

The maximum value for the sum of non-seasonal p and q.

auto_arima_min_orderint or None, default None

The minimum value for the sum of non-seasonal p and q.

data_frequencystr, default "auto_frequency"

The data frequency of the input time series. Possible values are "auto_frequency", "per_minute", "hourly", "daily", "weekly", "monthly", "quarterly", "yearly"

include_driftbool, default False

Determines whether the model should include a linear drift term or not. The drift term is applicable when non-seasonal d is 1.

holiday_regionstr or None, default None

The geographical region based on which the holiday effect is applied in modeling. By default, holiday effect modeling isn't used. Possible values see https://cloud.google.com/bigquery/docs/reference/standard-sql/bigqueryml-syntax-create-time-series#holiday_region.

clean_spikes_and_dipsbool, default True

Determines whether or not to perform automatic spikes and dips detection and cleanup in the model training pipeline. The spikes and dips are replaced with local linear interpolated values when they're detected.

adjust_step_changesbool, default True

Determines whether or not to perform automatic step change detection and adjustment in the model training pipeline.

forecast_limit_upper_boundfloat or None, default None

The upper bound of the forecasting values. When you specify the forecast_limit_upper_bound option, all of the forecast values must be less than the specified value. For example, if you set forecast_limit_upper_bound to 100, then all of the forecast values are less than 100. Also, all values greater than or equal to the forecast_limit_upper_bound value are excluded from modelling. The forecasting limit ensures that forecasts stay within limits.

forecast_limit_lower_boundfloat or None, default None

The lower bound of the forecasting values where the minimum value allowed is 0. When you specify the forecast_limit_lower_bound option, all of the forecast values must be greater than the specified value. For example, if you set forecast_limit_lower_bound to 0, then all of the forecast values are larger than 0. Also, all values less than or equal to the forecast_limit_lower_bound value are excluded from modelling. The forecasting limit ensures that forecasts stay within limits.

time_series_length_fractionfloat or None, default None

The fraction of the interpolated length of the time series that's used to model the time series trend component. All of the time points of the time series are used to model the non-trend component.

min_time_series_lengthint or None, default None

The minimum number of time points that are used in modeling the trend component of the time series.

max_time_series_lengthint or None, default None

The maximum number of time points in a time series that can be used in modeling the trend component of the time series.

trend_smoothing_window_sizeint or None, default None

The smoothing window size for the trend component.

decompose_time_seriesbool, default True

Determines whether the separate components of both the history and forecast parts of the time series (such as holiday effect and seasonal components) are saved in the model.

Properties

coef_

Inspect the coefficients of the model.

..note::

Output matches that of the ML.ARIMA_COEFFICIENTS function.
See: https://cloud.google.com/bigquery/docs/reference/standard-sql/bigqueryml-syntax-arima-coefficients
for the outputs relevant to this model type.
Returns
TypeDescription
bigframes.dataframe.DataFrameA DataFrame with the coefficients for the model.

Methods

__repr__

__repr__()

Print the estimator's constructor with all non-default parameter values.

detect_anomalies

detect_anomalies(
    X: typing.Union[
        bigframes.dataframe.DataFrame,
        bigframes.series.Series,
        pandas.core.frame.DataFrame,
        pandas.core.series.Series,
    ],
    *,
    anomaly_prob_threshold: float = 0.95
) -> bigframes.dataframe.DataFrame

Detect the anomaly data points of the input.

Parameters
NameDescription
Xbigframes.dataframe.DataFrame or bigframes.series.Series or pandas.core.frame.DataFrame or pandas.core.series.Series

Series or a DataFrame to detect anomalies.

anomaly_prob_thresholdfloat, default 0.95

Identifies the custom threshold to use for anomaly detection. The value must be in the range [0, 1), with a default value of 0.95.

Returns
TypeDescription
bigframes.dataframe.DataFrameDetected DataFrame.

fit

fit(
    X: typing.Union[
        bigframes.dataframe.DataFrame,
        bigframes.series.Series,
        pandas.core.frame.DataFrame,
        pandas.core.series.Series,
    ],
    y: typing.Union[
        bigframes.dataframe.DataFrame,
        bigframes.series.Series,
        pandas.core.frame.DataFrame,
        pandas.core.series.Series,
    ],
    transforms=None,
    id_col: typing.Optional[
        typing.Union[
            bigframes.dataframe.DataFrame,
            bigframes.series.Series,
            pandas.core.frame.DataFrame,
            pandas.core.series.Series,
        ]
    ] = None,
)

API documentation for fit method.

get_params

get_params(deep: bool = True) -> typing.Dict[str, typing.Any]

Get parameters for this estimator.

Parameter
NameDescription
deepbool, default True

Default True. If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns
TypeDescription
DictionaryA dictionary of parameter names mapped to their values.

predict

predict(
    X=None, *, horizon: int = 3, confidence_level: float = 0.95
) -> bigframes.dataframe.DataFrame

Forecast time series at future horizon.

Parameters
NameDescription
Xdefault None

ignored, to be compatible with other APIs.

confidence_levelfloat, default 0.95

A float value that specifies percentage of the future values that fall in the prediction interval. The valid input range is [0.0, 1.0).

Returns
TypeDescription
bigframes.dataframe.DataFrameThe predicted DataFrames. Which contains 2 columns: "forecast_timestamp", "id" as optional, and "forecast_value".

predict_explain

predict_explain(
    X=None, *, horizon: int = 3, confidence_level: float = 0.95
) -> bigframes.dataframe.DataFrame

Explain Forecast time series at future horizon.

Parameters
NameDescription
Xdefault None

ignored, to be compatible with other APIs.

confidence_levelfloat, default 0.95

A float value that specifies percentage of the future values that fall in the prediction interval. The valid input range is [0.0, 1.0).

Returns
TypeDescription
bigframes.dataframe.DataFrameThe predicted DataFrames.

register

register(vertex_ai_model_id: typing.Optional[str] = None) -> bigframes.ml.base._T

Register the model to Vertex AI.

After register, go to the Google Cloud console (https://console.cloud.google.com/vertex-ai/models) to manage the model registries. Refer to https://cloud.google.com/vertex-ai/docs/model-registry/introduction for more options.

Parameter
NameDescription
vertex_ai_model_idOptional[str], default None

Optional string id as model id in Vertex. If not set, will default to 'bigframes_{bq_model_id}'. Vertex Ai model id will be truncated to 63 characters due to its limitation.

score

score(
    X: typing.Union[
        bigframes.dataframe.DataFrame,
        bigframes.series.Series,
        pandas.core.frame.DataFrame,
        pandas.core.series.Series,
    ],
    y: typing.Union[
        bigframes.dataframe.DataFrame,
        bigframes.series.Series,
        pandas.core.frame.DataFrame,
        pandas.core.series.Series,
    ],
    id_col: typing.Optional[
        typing.Union[
            bigframes.dataframe.DataFrame,
            bigframes.series.Series,
            pandas.core.frame.DataFrame,
            pandas.core.series.Series,
        ]
    ] = None,
) -> bigframes.dataframe.DataFrame

Calculate evaluation metrics of the model.

Returns
TypeDescription
bigframes.dataframe.DataFrameA DataFrame as evaluation result.

summary

summary(show_all_candidate_models: bool = False) -> bigframes.dataframe.DataFrame

Summary of the evaluation metrics of the time series model.

Parameter
NameDescription
show_all_candidate_modelsbool, default to False

Whether to show evaluation metrics or an error message for either all candidate models or for only the best model with the lowest AIC. Default to False.

Returns
TypeDescription
bigframes.dataframe.DataFrameA DataFrame as evaluation result.

to_gbq

to_gbq(
    model_name: str, replace: bool = False
) -> bigframes.ml.forecasting.ARIMAPlus

Save the model to BigQuery.

Parameters
NameDescription
model_namestr

The name of the model.

replacebool, default False

Determine whether to replace if the model already exists. Default to False.

Returns
TypeDescription
ARIMAPlusSaved model.