开发者文档:/v1/forecast 与 /v1/clean 已开放,API 密钥在 SequenxAI 平台自助创建。

协变量支持现状

API 接受协变量,把它们对齐到清洗后的序列,并逐列说明是否交给了模型。模型(hora-1.0)目前不使用协变量:不会把任何列交给模型,通过下文数据检查的列都报告 reason: "model_unsupported"。某一列是否真正交给了模型,以响应中的逐列报告为准。预测结果始终照常返回。协变量是否提升精度取决于数据,请用自己的数据回测评估。

1. 两类协变量

  • 历史协变量:series 行上额外的数值字段,与历史 y 同步记录(例如历史温度或工况)。
  • 未来协变量:同时出现在 future_covariates 中的列,每个预测时间点一行(例如节假日、排班计划或已发布的天气预报)。未来列在 series 行上也必须有历史值。
forecast-with-covariates.json
{
"model": "hora-1.0",
"h": 2,
"freq": "1h",
"series": [
  {"unique_id": "meter-001", "ds": "2026-09-01T00:00:00Z", "y": 120.5, "temperature": 27.4, "is_holiday": 0},
  {"unique_id": "meter-001", "ds": "2026-09-01T01:00:00Z", "y": 118.2, "temperature": 26.9, "is_holiday": 0}
],
"future_covariates": [
  {"unique_id": "meter-001", "ds": "2026-09-01T02:00:00Z", "temperature": 26.5},
  {"unique_id": "meter-001", "ds": "2026-09-01T03:00:00Z", "temperature": 26.1}
]
}

2. 规则与拒绝

输入行为
future_covariates 行里含 y422 FUTURE_COVARIATES_INVALID。
future_covariates 的列在 series 行上不存在422 COVARIATE_COLUMN_MISMATCH,details.future_only 列出这些列。
协变量列超过 8 列422 VALIDATION_ERROR,带 details.covariates 与 details.max_covariates。
非数值列(布尔按 0/1 计)不使用,报告 non_numeric。
长缺口,或未来值没有覆盖每个预测时间点不使用,报告 data_incomplete。
短缺口(不超过策略的短缺口上限)clean_exog 为 true(默认)时线性填补;clean_exog: false 时任何缺口都会使该列 data_incomplete。
options.cleaning.preset: "raw"不对齐协变量,每列报告 raw_preset。

协变量完全跟随目标列:时间戳对齐、重复处理和分段都与 y 相同;除上面的短缺口填补外不做任何修复。

3. 读取报告

实体带协变量列时,对应的 model_input[] 条目会带 covariates[]。目前任何模型的报告都是这样:

model-input-covariates.json
{
"unique_id": "meter-001",
"covariates_used": false,
"covariates": [
  {"name": "temperature", "role": "future", "used": false, "reason": "model_unsupported"},
  {"name": "is_holiday", "role": "past", "used": false, "reason": "model_unsupported"}
]
}

将来某个模型开始使用协变量后,交给模型的列会报告 used: true,covariates_used 随之为 true。除上面的清洗原因外,role_unsupported 表示模型只接受历史协变量而该列作为未来列发送;limit_exceeded 表示该列超出了模型自身的协变量上限。