十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

从 skills 仓库的 BigQuery AI ML 技能看 AI.FORECAST:免训练 TimesFM 时间序列预测

从 skills 仓库的 BigQuery AI  ML 技能看 AI.FORECAST:免训练 TimesFM 时间序列预测 从 skills 仓库的 BigQuery AI ML 技能看 AI.FORECAST免训练 TimesFM 时间序列预测【免费下载链接】skillsAgent Skills for Google products and technologies项目地址: https://gitcode.com/GitHub_Trending/skills29/skills本文基于 skills 开源仓库中 BigQuery AI ML 技能的参考文档ai_forecast.md展开完整讲解AI.FORECAST的 SQL 语法、参数体系、双形态输出结构并结合同技能内的AI.DETECT_ANOMALIES与AI.EVALUATE文档交叉印证其工作流。读完本文你可以直接写出基于预训练 TimesFM 基础模型的免训练时间序列预测 SQL理解output_historical_time_series控制的两种输出模式并掌握从预测、评估到异常检测的完整时序分析链路。AI.FORECAST 在 BigQuery AI ML 技能中的定位在 skills 仓库中BigQuery AI ML是 AI/ML 类别下的核心技能之一见 README.md 的技能目录。其技能入口 SKILL.md 说明BigQuery 与 Vertex AI 集成通过AI.FORECAST、AI.KEY_DRIVERS、AI.DETECT_ANOMALIES、AI.GENERATE等内建 SQL 函数把机器学习与生成式 AI 能力直接嵌入 SQL 查询之中。该技能的触发场景被明确定义为需要编写执行时间序列预测、异常检测、关键驱动因素分析、语义/向量搜索、文本分类等操作的 SQL 查询时使用它不适用于一般的 BigQuery 数据集、表或作业管理请求。AI.FORECAST正是这一函数族中的时间序列预测成员。参考文档 ai_forecast.md 给出的核心结论是它借助预训练的TimesFM基础模型foundation model直接生成预测结果无需训练和管理自定义模型——这是它与 BigQuery ML 中CREATE MODEL ... AUTOARIMA等需要显式建模流程的方案在用法上的本质区别。函数语法参考文档给出的标准调用形式如下SELECT * FROM AI.FORECAST( { TABLE project.dataset.table | (QUERY_STATEMENT) }, data_col DATA_COL, timestamp_col TIMESTAMP_COL [, model MODEL] [, id_cols ID_COLS] [, horizon HORIZON] [, confidence_level CONFIDENCE_LEVEL] [, output_historical_time_series OUTPUT_HISTORICAL_TIME_SERIES] [, context_window CONTEXT_WINDOW] )两个使用要点值得注意第一个位置参数支持两种输入形态表引用TABLEproject.dataset.table或子查询QUERY_STATEMENT。这意味着AI.FORECAST可以直接承接上游的聚合逻辑无需先落中间表——后文的 CitiBike 示例正是用 CTE 完成这一串联其余参数全部是命名参数语法其中 3 个必填、5 个可选可按需组合。输入参数详解以下参数表完整继承自 ai_forecast.md 的 Input Arguments 章节参数要求类型说明input_data必填表/子查询包含历史数据的源表或子查询。data_col必填String要预测的数值列。timestamp_col必填String包含日期/时间戳的列。id_cols可选ArrayString多序列的分组列例如[store_id]。horizon可选Int64要预测的未来点数。默认10合法取值范围[1, 10,000]。confidence_level可选Float64置信区间0 到 1。默认0.95。model可选String模型版本。默认TimesFM 2.0。context_window可选Int64模型用于预测的历史数据点数。对TimesFM 2.0最小值64、最大值2048不设置时由模型自动决定。几个参数的工程含义horizon决定预测长度。默认 10 适合快速验证业务场景如按月出报表、按季度做计划应显式指定上限 10,000 个点为长周期预测留出了空间confidence_level控制输出中预测区间的宽度取值必须在 0 到 1 之间默认 0.95 与AI.DETECT_ANOMALIES的anomaly_prob_threshold默认值保持一致见下文model默认TimesFM 2.0。值得注意的是从同技能的参考文档 ai_detect_anomalies.md 的多序列示例中可以看到显式传入model TimesFM 2.5的写法可以推断该model参数同样支持指定更新版本的 TimesFM 模型context_window限定模型实际消费的回看窗口长度64–2048 个点TimesFM 2.0。当历史数据很长、只想让模型关注近期形态时可以显式收窄不设置时交由模型自动选择最少数据点约束输出 Schema 说明中指出一条序列至少需要 3 个数据点否则无法产生预测——这一约束对AI.DETECT_ANOMALIES同样成立其ai_detect_anomalies_status列说明中有相同要求属于该函数族的通用前置条件。输出 Schema由 output_historical_time_series 控制的双形态AI.FORECAST的输出结构会随output_historical_time_series标志切换。以下为文档 Output Schema 章节的完整内容列类型FALSE 时包含TRUE 时包含说明id_cols与输入一致是是序列的原始标识列。forecast_timestampTIMESTAMP是否预测点的时间戳。forecast_valueFLOAT64是否50% 分位数中位数预测值。time_series_timestampTIMESTAMP否是历史与预测统一的时间戳列。time_series_dataFLOAT64否是合并列历史为实际值预测为中位数。time_series_typeSTRING否是标签history或forecast。prediction_interval_lower_boundFLOAT64是是预测区间下界历史行为 NULL。prediction_interval_upper_boundFLOAT64是是预测区间上界历史行为 NULL。confidence_levelFLOAT64是是所使用的常量置信水平。ai_forecast_statusSTRING是是错误信息成功时为空字符串。要求最少 3 个数据点。两种形态的取舍output_historical_time_series FALSE默认形态只返回预测部分每行一个未来时间点携带forecast_value中位数与上下界。适合把预测结果直接并入下游报表或与其他表 JOIN 的场景output_historical_time_series TRUE历史与预测被合并为同一条时间线——time_series_data一列中历史段是实际值、预测段是中位数预测time_series_type用于区分段落区间列在历史行中为 NULL。这种单列时间线形态天然适配折线可视化把历史与预测画在一张图上用time_series_type分段着色。ai_forecast_status是一个值得关注的逐行错误通道它不会让整条查询失败而是把数据点不足等问题以错误信息的行内形式返回成功时为空字符串。在批量多序列预测id_cols场景下部分序列可能数据稀疏中筛选WHERE ai_forecast_status 可以拿到干净的预测行。实战示例CitiBike 多序列骑行量预测参考文档提供了基于 BigQuery 公开数据集的完整可复现示例把纽约 CitiBike 行程按日期和用户类型聚合成日粒度序列后预测未来 30 天WITH citibike_trips AS ( SELECT EXTRACT(DATE FROM starttime) AS date, usertype, COUNT(*) AS num_trips FROM bigquery-public-data.new_york.citibike_trips GROUP BY date, usertype ) SELECT * FROM AI.FORECAST( TABLE citibike_trips, data_col num_trips, timestamp_col date, id_cols [usertype], horizon 30, output_historical_time_series true);逐段解读CTE 完成数据整形bigquery-public-data.new_york.citibike_trips是行程级明细表直接预测没有意义CTE 用EXTRACT(DATE FROM starttime)抽取日期并按date, usertype分组计数得到每天 × 每种用户类型的日骑行量。这体现了AI.FORECAST第一参数接受子查询的价值——聚合与预测在一条查询中完成data_col num_trips、timestamp_col date声明数值列与时间列两个必填参数id_cols [usertype]把每种用户类型如 Subscriber、Customer当作独立序列分别预测输出中会带出原始的usertype标识列horizon 30覆盖默认的 10 个点预测未来 30 天output_historical_time_series true采用合并时间线输出每行一个(usertype, time_series_timestamp, time_series_data, time_series_type)组合time_series_type标注该点属于history还是forecast方便一次性输出绘图数据。与同技能函数的交叉印证预测—评估—异常检测工作流从bigquery-ai-ml技能的 SKILL.md 参考目录可以看到AI.FORECAST并非孤立存在其相邻文档提供了两条互补能力可以与其组合成完整的时间序列工作流异常检测 ai_detect_anomalies.mdAI.DETECT_ANOMALIES同样基于预训练TimesFM模型签名上与AI.FORECAST高度同构——同样要求data_col/timestamp_col同样支持id_cols与model默认同为TimesFM 2.0且同样要求最少 3 个数据点。它把预测 区间的思路换成了历史数据 目标数据的双输入输出is_anomaly、anomaly_probability与上下界其anomaly_prob_threshold默认 0.95与AI.FORECAST的confidence_level默认 0.95在语义上对应均为 (0,1) 区间的概率/置信控制。该文档中的多序列示例还演示了model TimesFM 2.5的显式指定写法预测评估 ai_evaluate.mdAI.EVALUATE用历史数据 实际数据双输入对比预测与真值输出mean_absolute_error、mean_squared_error、root_mean_squared_error、mean_absolute_percentage_error及对称 MAPE 等标准回归指标horizon默认 1024。其示例展示了典型的留出法date 2024-01-01作历史、date 2024-01-01作真值。由此可以组合出一条实用链路先用AI.FORECAST生成未来预测与区间 → 用AI.EVALUATE在留出区间上量化预测精度MAE/RMSE 等→ 用AI.DETECT_ANOMALIES对已发生区间做异常点定位。三个函数共享 TimesFM 底座与相同的数据形态要求切换时参数习惯基本一致。使用前提与检查清单基于仓库文档使用AI.FORECAST前可按以下清单核对数据形态准备一张或子查询得到的表包含数值列data_col、时间列timestamp_col与可选分组列id_cols时间列在示例中用EXTRACT(DATE FROM ...)规整到日粒度最小样本量每条序列至少3 个数据点不足时结果行会在ai_forecast_status中携带错误信息参数边界horizon取值 1–10,000默认 10confidence_level取值 0–1默认 0.95context_window对 TimesFM 2.0 为 64–2048缺省由模型自动决定model默认TimesFM 2.0输出选择下游做数值计算/JOIN 用默认FALSE形态取forecast_value 区间列做可视化用 TRUE 形态取合并时间线技能安装本技能随 skills 仓库发布按 README.md 说明可通过npx skills add google/skills安装并在列表中选取 BigQuery AI ML 技能。参考文档本身只描述 SQL 函数用法不含环境安装步骤实际运行需要可访问目标数据集示例使用bigquery-public-data公开数据集的 BigQuery 项目权限。小结AI.FORECAST把免训练时序预测压缩进了一条 TVF 调用预训练 TimesFM 模型免去建模运维命名参数体系覆盖了预测长度、置信区间、模型版本与回看窗口等关键旋钮双形态输出兼顾计算与可视化两类下游需求ai_forecast_status行内错误通道保证了批量多序列场景的健壮性。参考文档 ai_forecast.md 中的 CitiBike 示例提供了可直接复现的起点再结合同技能的AI.EVALUATE与AI.DETECT_ANOMALIES即可在纯 SQL 内闭环完成预测、评估与异常检测。【免费下载链接】skillsAgent Skills for Google products and technologies项目地址: https://gitcode.com/GitHub_Trending/skills29/skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表