You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GCP BigQuery中批量为多时间序列创建ARIMA模型并生成预测?

BigQuery批量多时间序列ARIMA预测实现方案

核心逻辑

BigQuery ML原生支持多时间序列批量拟合ARIMA模型,只需通过TIME_SERIES_ID_COL参数指定序列唯一标识字段,即可自动为1000条序列分别独立建模,无需创建多个模型资源。

前置要求

你的原始时间序列表需要包含至少3类字段:

  • 时间字段:类型为DATE或TIMESTAMP,记录每个数据点的时间
  • 序列标识字段:类型任意,用来唯一区分1000条不同的时间序列
  • 预测目标字段:数值类型,你需要做预测的指标值

步骤1:创建批量ARIMA模型

执行以下SQL即可一次性完成所有序列的ARIMA拟合:

CREATE OR REPLACE MODEL `你的项目ID.你的数据集ID.批量ARIMA模型名`
OPTIONS(
  MODEL_TYPE = 'ARIMA_PLUS', -- BigQuery官方优化的ARIMA扩展模型,也可改为普通'ARIMA'
  TIME_SERIES_TIMESTAMP_COL = '你的时间列名',
  TIME_SERIES_DATA_COL = '你的预测目标列名',
  TIME_SERIES_ID_COL = '你的序列标识列名', -- 核心参数,自动拆分序列分别建模
  HORIZON = 3, -- 固定预测3个周期
  DATA_FREQUENCY = 'AUTO_FREQUENCY' -- 自动识别原始数据的时间粒度(日/周/月等)
) AS
SELECT 
  你的时间列名,
  你的序列标识列名,
  你的预测目标列名
FROM `你的项目ID.你的数据集ID.你的原始表名`;

步骤2:生成预测结果并追加到原表

使用ML.FORECAST函数批量生成所有序列的3周期预测值,直接插入原表即可,建议新增标记字段区分原始数据和预测数据:

INSERT INTO `你的项目ID.你的数据集ID.你的原始表名` (
  你的时间列名,
  你的序列标识列名,
  你的预测目标列名,
  is_forecast -- 可选新增字段,BOOLEAN类型,标记是否为预测值
)
SELECT
  forecast_timestamp AS 你的时间列名,
  你的序列标识列名,
  forecast_value AS 你的预测目标列名,
  TRUE AS is_forecast
FROM ML.FORECAST(
  MODEL `你的项目ID.你的数据集ID.批量ARIMA模型名`,
  STRUCT(3 AS horizon)
)

补充说明

  • 可通过SELECT * FROM ML.ARIMA_EVALUATE(MODEL \你的项目ID.你的数据集ID.批量ARIMA模型名`)`查看每条序列的建模效果、参数和异常信息
  • 若部分序列数据量不足(小于5个时间点),模型会自动跳过该序列的预测
  • 原始数据更新后,只需重跑步骤1的建模型语句再生成新的预测即可,无需修改其他逻辑

内容的提问来源于stack exchange,提问作者Alejandro Salazar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 03:45:01