2. 研究数据集基础
在机器学习与量化研究中,数据集不是一张“平铺”的表格,而是一个带有时间语义的结构化对象。理解它的构成,是后续做标签窗口与特征窗口对齐的前提。本节把数据集拆成五个基本要素:样本、特征、标签、时间窗口、特征窗口,并说明它们如何共同决定一条训练样本的合法性与可用性。
一、数据集的五个基本构成
一个可用于监督学习的研究数据集,通常可以抽象为“以样本为行、以特征与标签为列”的二维结构,但每一行背后都绑定着时间信息。具体来说:
- 样本(Sample):数据集中的一条记录,代表一次可独立用于训练或预测的观测单元。在时序研究中,一个样本通常由“某个决策时点 + 该时点可见的特征 + 该时点之后才能观测到的标签”组成。
- 特征(Feature):在决策时点已经可知的信息,例如价格、成交量、财务指标、宏观变量等。特征的关键约束是“不能使用未来信息”。
- 标签(Label):模型需要预测的目标,通常由决策时点之后的观测结果计算得到,例如未来收益率、是否违约、未来波动率等。
- 时间窗口(Time Window):标签所覆盖的时间区间,即“从决策时点往后看多久”的结果区间,决定预测目标的时间跨度。
- 特征窗口(Feature Window):特征所覆盖的时间区间,即“从决策时点往前看多久”的输入区间,决定模型能看到多长的历史。
这五个要素中,样本是容器,特征与标签是内容,而两类窗口是约束内容合法性的“时间边界”。
二、核心原理:决策时点与两类窗口的关系
理解对齐问题,关键是抓住一个中心概念——决策时点 t。所有特征必须在 t 时刻或之前可得,所有标签必须在 t 时刻之后才能观测。特征窗口向过去延伸,标签窗口向未来延伸,二者以 t 为分界,不能重叠。
核心原则:特征窗口的右端点 ≤ 决策时点 t < 标签窗口的左端点。任何跨越 t 的特征,都会造成未来信息泄露;任何早于 t 的标签,都会造成标签不可得。
用形式化语言描述:若特征窗口为 [t−L, t],标签窗口为 (t, t+H],其中 L 为回看长度,H 为预测跨度,则一条合法样本必须同时满足“特征全部可得”和“标签全部可观测”。L 与 H 的取值直接决定样本数量、信息含量与预测难度。
三、方法流程:从原始数据到合法样本
构建一个对齐良好的数据集,通常遵循以下流程:
- 确定决策时点序列:按业务或研究目标,选定一组时间点 t₁, t₂, …, tₙ,例如每个交易日收盘、每月末。
- 定义特征窗口:为每个 t 指定回看长度 L,从原始数据中截取 [t−L, t] 区间并计算特征。
- 定义标签窗口:为每个 t 指定预测跨度 H,从原始数据中截取 (t, t+H] 区间并计算标签。
- 对齐与拼接:把同一 t 的特征向量与标签拼成一行,形成样本。
- 边界裁剪:丢弃特征窗口越界(数据起点之前)或标签窗口越界(数据终点之后)的样本。
- 校验泄露:检查特征计算中是否误用了 t 之后的数据。
下面是一段示意性的参数配置,用于描述窗口定义:
decision_points = 每个交易日收盘
feature_window = [t - 20 交易日, t] # 回看 20 日
label_window = (t, t + 5 交易日] # 预测未来 5 日收益
sample_valid = feature_start >= data_start and label_end <= data_end
四、案例场景:一个日频收益率预测任务
假设我们要预测某股票未来 5 个交易日的收益率。取 t 为 2024-06-28 收盘:
| 要素 | 取值 | 说明 |
|---|---|---|
| 决策时点 t | 2024-06-28 收盘 | 此刻可做决策 |
| 特征窗口 | 2024-05-31 ~ 2024-06-28 | 20 个交易日,计算动量、波动率等 |
| 标签窗口 | 2024-07-01 ~ 2024-07-05 | 未来 5 日收益,t 之后才可知 |
| 样本 | 一行特征 + 一个标签 | 特征与标签以 t 为界 |
若数据终点为 2024-07-03,则标签窗口无法完整覆盖到 07-05,该样本必须被裁剪,否则标签会不完整或引入缺失值偏差。
五、常见误区与复盘
误区一:特征窗口与标签窗口重叠。例如用 t 到 t+5 的均价作为特征,却预测同一区间的收益,等于把答案喂给模型。
误区二:忽略数据边界。数据起点前的特征窗口、终点后的标签窗口都会产生无效样本,必须显式裁剪。
误区三:把“时间窗口”只理解为标签窗口。实际上特征窗口同样重要,它决定模型能看到多少历史信息。
复盘建议:为每个数据集维护一份“窗口元数据”,记录 L、H、决策时点规则与边界裁剪策略。这样在后续做标签窗口与特征窗口对齐时,可以直接复用,避免每次重新推导。
掌握这五个要素及其时间约束后,我们才能进入下一层问题:当特征窗口与标签窗口的粒度、频率或边界不一致时,如何做严格对齐。这是研究数据集质量的分水岭。