news 2026/9/26 2:43:33

Chronos协变量预测:三步把外部特征喂给模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Chronos协变量预测:三步把外部特征喂给模型

Chronos协变量预测:三步把外部特征喂给模型

【免费下载链接】chronos-forecastingChronos: Pretrained Models for Time Series Forecasting项目地址: https://gitcode.com/GitHub_Trending/ch/chronos-forecasting

只拿历史电价去预测明天的电价,误差很难压下去;把明早的用电负荷与可再生能源发电预测加进去,曲线立刻贴合得多——这是官方快速上手 notebook 里的一个真实对比。下面从最小可运行示例讲起,再到内部处理链路,带你用 Chronos-2 完成协变量预测,学完后能独立给自己的业务数据加一列外部特征跑通全流程。

🧠 先建立心智模型:协变量预测在解决什么问题

时序预测的核心矛盾是:目标序列自身解释不了所有波动。销量在节假日跳升、电价随天气摆动,这些驱动力都活在序列"外面",单变量模型只能等它们反映进历史里才后知后觉。说白了,协变量预测就是给模型开第二个通道,让它直接看到这些外部信息。

  • 目标(target):要预测的序列,比如销量、电价。
  • 协变量(covariate):影响目标的外部列,分两类——只有历史值的,以及预测窗口内取值已知的。
  • 零样本(zero-shot):不微调,直接用预训练模型对新任务做推理,Chronos-2 官方宣称支持单变量、多变量与协变量预测三种形态。

这个通道在模型里到底怎么接进去的?看源码最清楚。

🐍 最小可运行示例:三步跑出协变量预测

下面这段代码做三件事:加载 Chronos-2 模型,准备历史数据与未来协变量两个 DataFrame,一次predict_df调用拿到预测结果。

import pandas as pd from chronos import Chronos2Pipeline pipeline = Chronos2Pipeline.from_pretrained("amazon/chronos-2") # GPU 推荐,CPU 可传 device_map="cpu" context_df = pd.read_parquet("historical.parquet") # 列:id, timestamp, target, 协变量列 future_df = pd.read_parquet("future.parquet") # 协变量的未来值,不要含 target 列 pred_df = pipeline.predict_df( context_df, future_df=future_df, # 两表都有的列会被视为"已知未来协变量" prediction_length=24, # 预测步数 quantile_levels=[0.1, 0.5, 0.9], # 输出哪些分位数 id_column="id", timestamp_column="timestamp", target="target", )

输出还是一个 DataFrame:每行对应一个(序列ID,未来时间戳),列为predictions(点预测,按源码注释实为中位数)加上0.1、0.5、0.9等分位列。

注意这几个坑:

  • future_df只放协变量列加 id/timestamp;若从测试集截取,先像 README 示例那样drop(columns="target"),混入目标列会干扰处理。
  • 两个 DataFrame 时间戳必须等间隔、无缺失,future_df的每条序列恰好覆盖预测窗口,校验不过会直接抛错。
  • prediction_length别轻易超过模型默认预测窗口,官方源码对超长预测会警告精度可能退化。

⚙️ 关键机制拆解

未来协变量如何并入上下文

输入:目标与协变量的历史序列、协变量的未来取值。处理:在 src/chronos/chronos2/model.py 的_prepare_patched_future中,未来协变量先套用与历史上下文同一套实例归一化参数(loc/scale),NaN 自动生成掩码,再按补丁结构拼接;时间编码上历史是负序号、未来是正序号,以 0 为分界。输出:历史 token 与未来 token 拼成一条序列进编码器,预测末端的表示在注意力中直接"看见"未来协变量。

一句话记忆:未来协变量不是单独喂的,而是贴着历史序列拼成一条序列、共用同一套归一化参数。

缺失值与分类协变量怎么被消化

输入:含 NaN 的协变量列,或文本分类列(如"晴/多云/雨")。处理:在 src/chronos/chronos2/preprocess.py 中,NaN 默认被自动推断为掩码而非报错;分类列默认走目标编码——按(序列,类别)组合算平滑后的目标均值,NaN 自己占一个槽位,未来出现历史里没有的类别则落到预留的哨兵槽。输出:所有协变量变成与目标同形状的数值张量,数值与掩码分两路进入模型。

一句话记忆:NaN 是"缺失标记"不是错误;文字类别按每序列的类别均值转成数值,没见过的类别有兜底位。

⚖️ 效果与取舍

维度单变量模式(无协变量)Chronos-2 协变量预测
输入信息仅目标历史值额外加入协变量的历史值与已知未来值
输出形式分位数(0.1–0.9)+ 中位数相同,输出结构不变
上手成本一个 DataFrame两个 DataFrame,需时间戳对齐
适用信号外部影响弱受节假日、天气、促销驱动明显

官方快速上手 notebook 里的电价案例给出了定性结论:仅用历史价时预测"合理但不精确",加上负荷与发电预测后"能明显利用这两个外部预测、精度显著提高"(原文为定性描述,未附统一误差指标)。具体误差降多少,官方未公开可复用的对比数字,需要自己在业务数据上回测验证。诚实的限制是:协变量本身噪声大或历史样本太短时,收益会缩水,所以"带/不带协变量"的消融对比值得先跑一遍再定案。

🧭 上手建议与延伸

建议:

  • 优先挑"未来值本来就可知"的协变量:促销日历、节假日表、天气预报、负荷预测。
  • 先做一轮带/不带的消融对比,只留稳定有效的特征。
  • 历史很长时按模型默认 2048 步上下文处理,超长部分会被自动截断。

不建议:

  • 不要堆大量低相关列,噪声协变量只会稀释注意力。
  • 不要用预测时点拿不到的值冒充未来协变量,那是数据泄漏。
  • 不要用超长预测窗口代替滚动预测,官方源码已警告精度可能退化。

加上明日的负荷与发电预测,再看价格预测收紧,协变量的价值就在曲线上。

【免费下载链接】chronos-forecastingChronos: Pretrained Models for Time Series Forecasting项目地址: https://gitcode.com/GitHub_Trending/ch/chronos-forecasting

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 2:43:32

八字排盘App开发实战:离线本地存储、真太阳时校正与节气算法全解析

排盘 App 做了整整半年,期间推翻了三次数据结构和 UI 方案,最后沉淀下来的版本让我在朋友圈里被问爆了。它没有广告、不申请网络权限、所有命盘数据都锁在手机本地,哪怕在飞机上打开,也能一秒排出完整的壬午年柱八字。这篇文章把我…

作者头像 李华
网站建设 2026/9/26 2:42:32

SpringBoot项目Maven配置实战:从依赖管理到常见踩坑排查

新手用SpringBoot搞项目,十个里有八个第一关就卡在Maven上。不是依赖下载慢得让人抓狂,就是本地明明有包却报红,再不然就是IDEA里那个“Cannot resolve symbol”怎么都消不掉。很多教程默认你懂Maven,结果你照着敲代码&#xff0c…

作者头像 李华
网站建设 2026/9/26 2:42:06

倒V天线DIY全攻略:从选材、绕巴伦到架设调试的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/26 2:39:45

Delta金手指实用指南:在iPhone上四步启用你的第一个作弊码

Delta金手指实用指南:在iPhone上四步启用你的第一个作弊码 【免费下载链接】Delta Delta is an all-in-one classic video game emulator for non-jailbroken iOS devices. 项目地址: https://gitcode.com/GitHub_Trending/delt/Delta Delta 是一款运行在 iO…

作者头像 李华
网站建设 2026/9/26 2:37:35

Maven工作流真相:从官网迷思到企业级依赖治理

1. 这不是“官网下载指南”,而是一份 Maven 从业者的真实工作流复盘你搜“maven官网下载”“中央仓库官网”“搜索官网”,点开前十个结果,大概率会看到三类内容:一是堆砌链接的SEO搬运文,二是过时的Windows XP时代安装…

作者头像 李华