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

长表、频率与时区

本页说明 series 长表的写法、默认清洗路径接受的时间戳格式、freq 频率字符串,以及时区如何换算,末尾附数据格式速查。raw 预设的要求更严格,见 raw 预设。

1. 长表记录

series 是一个扁平数组,每行一条观测:

字段类型说明
unique_idstring实体标识,同一实体的行共享同一个值。一个请求可以包含多个实体。
dsstring时间戳,格式见下一节。
ynumber | null观测值。null 表示该时刻缺失,不能是 NaN 或 Infinity。
series.json
[
{"unique_id": "grid_01", "ds": "2026-09-01T00:00:00Z", "y": 120.5},
{"unique_id": "grid_01", "ds": "2026-09-01T01:00:00Z", "y": null},
{"unique_id": "grid_02", "ds": "2026-09-01T00:00:00Z", "y": 88.0}
]
  • 行的顺序不限,也不必按实体分组;默认清洗会按时间排序,并在报告中记录。
  • 同一行上的其他数值字段是历史协变量,会被对齐并逐列报告;目前没有模型使用它们,见协变量支持现状。
  • 预测结果按实体返回,时间戳一律为 UTC,以 Z 结尾。

2. 时间戳格式

default 与 strict 预设下,ds 可以是以下任一格式。同一实体内格式应保持一致;非 ISO 格式会在清洗报告中记为 timestamp_format 问题。

格式示例
ISO 8601(日期与时间之间可用 T 或空格,可带 Z 或 ±HH:MM)2026-09-01T08:00:00+08:00、2026-09-01 08:00、2026-09-01
紧凑日期 YYYYMMDD20260901
斜杠日期 YYYY/M/D(可带时间)2026/9/1 08:00
D/M/YYYY 或 M/D/YYYY01/09/2026
Unix 秒或毫秒(2000 年至 2100 年之间)1788220800
年月 YYYY-MM、YYYY/M、YYYYMM2026-09
中文日期2026年9月1日、2026年9月

D/M/YYYY 与 M/D/YYYY 只有在数据能证明日月顺序时才会被接受(例如出现 13/09/2026);否则返回 AMBIGUOUS_DATE_FORMAT,这时请传 options.ds_format(dmy 或 mdy),或直接改用 ISO 8601。

3. 频率字符串

freq 是可选的。省略时服务会从数据推断,并在清洗报告的 series[].freq 中给出推断结果与置信度;推断失败返回 FREQ_INFERENCE_FAILED,多个实体推断出不同频率或存在多个候选时返回 FREQ_AMBIGUOUS。数据不规则时,建议总是显式传入。

写法含义
s、S秒
min、T、m分钟(小写 m 是分钟,不是月)
h、H小时
d、D天
w、W周(固定 7 天)
MS月初
ME、M月末
QS季初
QE、Q季末
YS、AS年初
YE、Y、A年末
M@<day>每月固定的第 day 日(1 至 31),例如 M@15;大于当月天数时取月末
B工作日(周一至周五):周末不算缺口,预测时间戳跳过周末。仅在清洗策略版本 2026-11 及之后(含默认的 2026-13)可用,这些版本也会把没有周末日期的日频数据识别为 B;不带倍数;raw 预设不接受
  • 除 B 外,所有写法都可以带整数倍数前缀,例如 15min、2h、3MS、3M@15。
  • 大小写敏感:M 是月末,m 是分钟。
  • freq 字段会原样回显你传入的写法;省略时回显推断出的规范写法,例如 min、h、d、w、MS、QE、M@15,带倍数时如 15min。
  • 月、季、年等日历频率按本地时钟推进(时区见下一节),会自动处理大小月、闰年与夏令时。
  • raw 预设只接受固定步长的频率(秒、分钟、小时、天、周),日历频率返回 RAW_INPUT_INVALID。

4. 时区处理

  • 带偏移的时间戳(Z 或 ±HH:MM)按自身偏移解析,options.timezone 不会覆盖它。
  • 不带偏移的时间戳按 options.timezone(IANA 时区名,例如 Asia/Shanghai)解析;未提供时按 UTC 解析,并在报告中记一条 naive_timestamps_assumed_utc(info 级别)。
  • 无效的时区名返回 VALIDATION_ERROR。
  • 输出:model_input 与 forecast 中的时间戳一律换算为 UTC,客户端需要时再换回本地时间。

清洗报告的 series[].timezone 记录每个实体实际使用的时区:

字段说明
used实际使用的时区,例如 Asia/Shanghai、UTC。
sourceexplicit_offset(来自时间戳自带的偏移)、option(来自 options.timezone)或 default_utc。
naive_rows / explicit_rows不带偏移与带偏移的行数。
explicit_offsets数据中出现过的偏移,例如 ["+08:00"]。

下例把北京时间的月度数据按月初频率处理。每个月初是本地的 00:00,换算为 UTC 后落在前一天 16:00:

timezone-example.json
// 请求
{"series": [{"unique_id": "sales", "ds": "2025-01-01", "y": 101}, ...],
"h": 2, "freq": "MS", "options": {"timezone": "Asia/Shanghai"}}

// model_input[0].ds 为 "2024-12-31T16:00:00Z"
// forecast 的两个时间戳为 "2026-08-31T16:00:00Z" 与 "2026-09-30T16:00:00Z"
// cleaning_report.series[0].timezone
{"used": "Asia/Shanghai", "source": "option", "naive_rows": 20,
"explicit_rows": 0, "explicit_offsets": []}

5. 数据格式速查

/v1/forecast 请求中与数据格式相关的字段一览。完整字段、默认值与校验顺序见 POST /v1/forecast。

字段位置说明
unique_idseries[]实体标识,见长表记录。
dsseries[]时间戳,见时间戳格式与时区处理。
yseries[]历史观测值,null 表示缺失。
h请求体预测步数。
freq请求体频率字符串,可省略由服务推断,见频率字符串。
level请求体区间水平列表,见预测区间。
future_covariates请求体预测窗口内的已知未来特征,不含目标列 y,见协变量支持现状。