数据与算法

金融数据归一化:为何特征缩放决定了模型的收敛速度

z = (x - μ) / σ。…

金融数据归一化:为何特征缩放决定了模型的收敛速度

这不是一行普通的数据预处理公式。在量化模型中,它直接改变损失函数的几何形状,也改变梯度下降每一步的有效方向。

未进行特征缩放时,不同金融特征的数值范围可能相差几个数量级。成交量、价格、波动率、收益率、换手率、技术指标同时进入模型,参数空间中的损失函数往往呈现狭长椭圆形等高线。梯度下降沿最陡方向前进,却无法直接指向最优点。结果是反复横跳,迭代次数增加,甚至无法收敛。

特征缩放不能创造预测能力。它只处理一个更基础的问题:让优化器在合理的数值空间中工作。

梯度下降的“之字形”陷阱

数值范围会改变优化路径

设模型使用两个特征:

  • 特征一:日收益率,通常接近零,数值范围较小;
  • 特征二:成交额,数值范围远大于收益率。

模型的损失函数由多个特征共同决定。某一特征的数值跨度越大,对参数梯度的影响通常越明显。不同方向上的曲率因此产生明显差异。

在二维参数空间中,损失函数的等高线可能接近狭长椭圆:

  • 长轴方向变化缓慢;
  • 短轴方向变化剧烈;
  • 梯度主要指向局部最陡方向;
  • 最陡方向与真正的最优方向并不重合。

梯度下降按照局部梯度更新参数。更新步长如果足够大,算法会跨过狭窄区域,在两侧反复切换。若学习率降低,震荡会减轻,但每一步移动距离变小,训练时间增加。

这就是典型的“之字形”路径。

它不是模型结构错误。也不是损失函数本身必然异常。多数情况下,问题来自输入特征的尺度没有统一。

特征缩放不是为了让数据看起来整齐,而是为了修正优化问题的几何条件。

为什么金融数据更容易出现尺度冲突

金融特征具有几个结构性特点。

第一,量纲混杂。

价格用货币单位表示。成交量用手数或股数表示。成交额是价格与成交量的乘积。收益率通常是比例值。波动率又是另一种统计量。将这些变量直接拼接,数值范围天然不一致。

第二,极值频繁出现。

跳空、涨跌停、流动性骤降、异常成交、合约换月,都可能改变局部数据分布。金融序列不是稳定的独立同分布样本。某一阶段的数据尺度,可能与另一阶段完全不同。

第三,特征存在衍生关系。

成交额、成交量、价格之间可能存在直接或间接的数值依赖。若多个特征同时保留原始尺度,模型优化会受到重复放大的影响。

第四,滚动窗口会改变分布。

过去二十个交易日、过去六十个交易日、过去二百五十个交易日生成的统计特征,其均值、标准差和极值范围并不相同。训练样本中的分布差异会直接进入优化过程。

因此,金融数据归一化并不是简单的格式转换。它是对输入空间进行重新定义。

从损失函数几何看特征缩放

未缩放时:狭长椭圆

以线性模型为例。假设预测结果由多个特征加权得到,损失函数常见形式是均方误差。参数更新依赖梯度。

当某个特征的取值远大于其他特征时,对应参数方向上的梯度可能也更敏感。损失函数在该方向变化剧烈,在其他方向变化缓慢。

等高线呈狭长椭圆,意味着不同方向的条件数差异较大。优化器需要用大量迭代,逐步修正参数方向。

若学习率按照剧烈变化方向设置,缓慢方向的搜索效率会很低。若学习率按照缓慢方向设置,剧烈方向又可能发生过冲。

这形成两难:

  • 学习率较大,更新不稳定;
  • 学习率较小,收敛速度慢;
  • 直接增加迭代次数,只是延长计算时间;
  • 盲目修改网络结构,不能解决输入尺度问题。

缩放后:接近圆形的等高线

特征经过合理缩放后,不同变量的数值范围被压缩到相近区域。损失函数的等高线会从狭长椭圆趋向更接近圆形。

这并不意味着模型一定获得更高的预测精度。它改变的是参数优化过程:

  • 梯度方向更加稳定;
  • 学习率更容易设定;
  • 每次迭代的有效移动距离更均衡;
  • 震荡减少;
  • 训练过程更容易收敛。

对神经网络、线性模型、逻辑回归、支持向量机、聚类算法等依赖距离或梯度的模型,特征缩放通常具有直接作用。

对树模型,结论不同。后文单独处理。

收敛速度不是单纯的计算速度

需要区分两个概念。

第一,单次迭代耗时。

这与数据量、特征数量、硬件、实现方式和并行策略有关。

第二,达到目标损失所需的迭代次数。

特征缩放主要影响第二项。缩放后的模型不一定让每次计算更快,但可能减少无效迭代,使优化器更快接近稳定区域。

因此,评价特征缩放不能只看单次运行时间。应观察:

  • 损失函数是否持续下降;
  • 梯度是否出现大幅震荡;
  • 训练是否对学习率极端敏感;
  • 达到同一停止条件需要多少轮迭代;
  • 验证集上的表现是否同步稳定。

如果只比较最终收益或准确率,容易把优化效率和泛化能力混为一谈。

Min-Max:把特征压到固定区间

线性归一化,也称 Min-Max Scaling,使用数据集中的最小值和最大值对特征进行线性映射。

公式为:

X_norm = (X - X_min) / (X_max - X_min)

当目标区间为 [0, 1] 时,最小值被映射为零,最大值被映射为一。也可以将数据映射到 [-1, 1]

Min-Max 的优点

Min-Max 的结构简单。

输入输出关系明确。数据经过变换后,数值范围固定。对于需要限定输入区间的模型,或者对输入尺度有明确要求的神经网络结构,这种方法容易实现,也容易检查。

它保留了原始数据的相对顺序。若原始数据中 x₁ < x₂,线性变换后仍然满足对应顺序。

它不改变变量的单调性。对某些只依赖相对位置的特征,解释成本较低。

Min-Max 的核心缺陷

问题在于 X_minX_max

如果训练数据中出现一个极端异常值,整个区间会被拉长。大量正常样本被压缩到非常狭窄的范围内。模型看到的有效差异减少,特征分辨率下降。

例如,某个价格变化特征的大多数样本集中在很小范围内,少量极值却扩大了最大值与最小值之间的距离。归一化后,正常波动可能全部挤在接近零的区域。

这不是信息被完全删除,但数值表达被压缩。对依赖梯度和距离的模型,影响可能明显。

金融数据中的异常值并不罕见。极端行情、数据源错误、复权处理异常、合约切换、成交量记录错误,都可能改变区间边界。

因此,Min-Max 不是默认最优方案。

Min-Max 适合什么场景

它更适合以下条件:

  • 特征边界相对稳定;
  • 异常值已经经过处理;
  • 训练数据和推断数据的分布差异有限;
  • 模型需要固定输入区间;
  • 特征的极值具有明确业务含义,而不是数据错误。

如果特征分布经常发生漂移,或者极端值本身不稳定,Min-Max 的边界参数需要定期重新评估。但重新计算参数又会带来时间一致性和数据泄漏问题,不能在测试集或未来样本上直接重算。

Z-Score:围绕均值重新定位

零均值标准化,也称 Z-Score Normalization,公式为:

z = (x - μ) / σ

其中:

  • μ 是训练集均值;
  • σ 是训练集标准差;
  • x 是原始特征值;
  • z 是标准化后的特征。

经过变换后,特征的中心移动到零附近,标准差被调整为一。

Z-Score 处理的不是边界,而是偏离程度

Min-Max 关注样本在最小值与最大值之间的位置。

Z-Score 关注样本偏离均值多少个标准差。

这会带来不同的解释方式:

  • z 接近零,表示样本接近训练集均值;
  • z 为正,表示样本高于训练集均值;
  • z 为负,表示样本低于训练集均值;
  • 绝对值越大,表示偏离中心越明显。

对收益率、波动率、成交量变化等统计特征,Z-Score 通常比固定区间映射更有表达力。它不强制所有样本落入同一个有限区间。新的极端值可以产生更大的标准化结果。

这同时是优点和风险。

Z-Score 也会受到异常值影响

均值和标准差都容易受到异常值影响。

如果训练集包含少量极端样本:

  • 均值可能被拉动;
  • 标准差可能被放大;
  • 大量正常样本的标准化结果被压缩;
  • 异常样本仍然可能主导梯度。

因此,不能把 Z-Score 理解成自动抵抗异常值的方案。它只是改变了尺度中心。它没有消除异常值。

金融数据的分布也未必满足严格的正态假设。标准化后均值为零、标准差为一,不等于数据就服从正态分布。算法实现中必须区分“标准化结果的统计量”与“原始数据的分布形态”。

Min-Max 与 Z-Score 的差异

参数Min-Max 归一化Z-Score 标准化
核心公式X_norm = (X - X_min) / (X_max - X_min)z = (x - μ) / σ
主要依据最小值与最大值均值与标准差
常见输出[0, 1][-1, 1]均值接近零,标准差为一
对异常值的敏感性高,极值直接改变区间高,极值会影响均值和标准差
对新极端值的表现可能超出训练区间可能产生较大的标准化值
典型风险正常样本被压缩偏态与异常值仍然存在
更适合的情况边界稳定、输入区间明确关注相对偏离程度、尺度差异明显
需要保存的参数训练集最小值、最大值训练集均值、标准差

这张表不能替代分布诊断。

选择方法前,应先查看特征的分位数、极值、缺失情况、滚动统计量和时间分布。没有数据诊断的归一化,只是套公式。

Min-Max 解决区间问题。Z-Score 解决中心与尺度问题。两者都不能自动解决异常值问题。

Robust Scaling:异常值存在时,使用中位数和四分位距

当数据集中存在显著异常值时,可以使用稳健标准化,也称 Robust Scaling。

其基本思路是:

  • 用中位数代替均值;
  • 用四分位间距代替标准差;
  • 将样本转换为相对于中位数的尺度。

常见形式可写为:

x_robust = (x - median) / IQR

其中 IQR 是四分位间距。

为什么中位数更稳健

均值会被极端值拉动。中位数只依赖排序位置,对少量异常样本不那么敏感。

四分位间距描述中间主体样本的离散程度。与最大值、最小值相比,它不直接受两端极端观测控制。

对金融数据而言,这种设计有明确意义。

如果少量异常成交量把整体最大值推到很高,Min-Max 会让正常成交量全部压缩。若异常值同时抬高均值和标准差,Z-Score 也可能改变正常样本的相对尺度。Robust Scaling 主要使用中间分布,能够减少这种拖拽效应。

Robust Scaling 不等于异常值清洗

稳健标准化不会判断某个异常值是否错误。

它不会自动区分:

  • 数据录入错误;
  • 真实跳空;
  • 极端成交;
  • 合约切换造成的结构变化;
  • 市场制度变化;
  • 传感器或接口异常。

它只改变数值表示。

如果异常值来自数据错误,应在数据清洗阶段处理。如果异常值是真实市场观测,直接删除可能造成新的偏差。模型是否应该保留它,取决于任务定义。

例如,预测正常状态下的波动,和识别极端风险事件,是两个不同任务。前者可能需要降低异常值对训练的支配作用。后者则不能简单删除极端样本。

Robust Scaling 的参数也必须固定

稳健标准化同样需要从训练集计算中位数和四分位距。

不能在训练集上使用一套参数,在验证集上重新计算一套参数,再将两个结果直接比较。这样会改变不同数据集的坐标系。

正确做法是:

1. 使用训练集计算中位数;

2. 使用训练集计算四分位距;

3. 用这组参数转换训练集;

4. 使用同一组参数转换验证集;

5. 使用同一组参数转换测试集;

6. 在线推断时继续使用已保存参数。

参数与模型权重一样,都是训练产物。

特征缩放的边界:不是所有算法都需要

“所有机器学习模型都必须归一化”是错误表述。

模型是否需要特征缩放,取决于算法如何使用输入数据。

基于梯度的模型

线性回归、逻辑回归、神经网络等模型依赖梯度更新。特征尺度会影响梯度大小和损失函数几何形状。

这类模型通常需要认真处理特征缩放。

如果同时使用正则化,缩放的必要性更高。L1 或 L2 正则化直接作用于参数。如果特征尺度差异巨大,参数大小不能直接比较,正则化对不同特征的实际约束也会产生偏差。

基于距离的模型

支持向量机、K近邻、K均值聚类等算法依赖距离、内积或相似度。

没有缩放时,大尺度特征可能支配距离计算。小尺度特征即使具有预测价值,也可能在距离度量中被忽略。

这类算法的重点不是梯度是否稳定,而是不同特征对距离的贡献是否可比较。

基于树的模型

决策树、随机森林等基于树结构的算法,通过特征阈值进行节点拆分。

它们主要关心排序与切分位置,不依赖特征之间的欧氏距离,也不要求不同特征处于相同数值区间。因此,特征缩放通常不会改变树模型的基本切分逻辑。

这不表示树模型可以忽略数据质量。

树模型仍然需要处理:

  • 缺失值;
  • 时间错位;
  • 重复样本;
  • 标签泄漏;
  • 异常记录;
  • 训练集与测试集的时间关系。

不缩放,不等于不清洗。

不同算法的处理差异

算法类型是否通常需要缩放原因
线性模型通常需要梯度与正则化受尺度影响
逻辑回归通常需要梯度更新和正则化依赖特征尺度
神经网络通常需要输入尺度影响梯度传播和训练稳定性
支持向量机通常需要核函数和距离计算受尺度影响
K近邻通常需要距离容易被大尺度特征支配
K均值通常需要聚类中心和距离由尺度决定
决策树通常不需要基于单特征阈值切分
随机森林通常不需要多棵树分别进行阈值拆分
梯度提升树通常不需要树结构本身不依赖统一尺度

表格中的“通常”不能被替换为“绝对”。

同一套金融特征可能同时输入多个模型。线性模型需要标准化,树模型不需要。此时应为不同模型建立独立的数据处理管线,不能为了统一文件格式而对所有模型强制执行同一转换。

训练集与测试集:最容易发生的数据泄漏

归一化参数必须从训练集计算。

这是金融机器学习流程中的硬规则。

错误流程

错误流程通常有三种。

第一种,使用全量数据计算均值、标准差、最小值或最大值,再拆分训练集和测试集。

这样测试期的数据参与了训练参数生成。即使没有直接使用测试标签,未来分布也已经进入模型输入处理过程。

第二种,训练集和测试集分别计算参数。

这样两个数据集处于不同坐标系。测试集不再是模型在训练坐标中的真实外部样本。

第三种,滚动预测时使用未来窗口重新计算历史数据参数。

这会把未来信息带回过去。回测结果因此失真。

正确流程

标准流程如下:

1. 按时间顺序划分训练集、验证集和测试集;

2. 只使用训练集计算缩放参数;

3. 使用训练集参数转换训练集;

4. 使用同一组参数转换验证集;

5. 使用同一组参数转换测试集;

6. 回测和在线预测时继续沿用已确定的参数;

7. 参数更新时,按照预先定义的滚动规则更新,而不是临时查看未来数据。

对于时间序列,划分方式还需要避免随机打乱。随机拆分可能让相邻时间样本同时出现在训练集和测试集,造成时间穿越。

归一化本身不制造标签泄漏,但参数计算范围不受约束时,仍然会制造信息泄漏。

一个可执行的参数记录表

每个特征都应保存对应的转换参数。至少包括:

  • 特征名称;
  • 转换方法;
  • 训练区间;
  • 训练集最小值或最大值;
  • 训练集均值;
  • 训练集标准差;
  • 中位数;
  • 四分位距;
  • 缺失值处理规则;
  • 异常值处理规则;
  • 版本号;
  • 生效时间。

这不是文档装饰。

没有参数记录,模型无法稳定复现。没有版本号,回测和实盘之间可能使用不同的坐标系。没有生效时间,滚动更新后的结果无法追溯。

实战中的数据清洗顺序

金融数据归一化不应孤立执行。顺序错误,会让缩放参数失去统计意义。

先处理时间对齐

价格、成交量、财务数据、宏观数据和链上数据,可能具有不同的时间频率。日线数据、分钟数据和事件数据不能直接按行拼接。

需要先明确:

  • 时间戳时区;
  • 交易日历;
  • 是否使用收盘后才可获得的数据;
  • 财务数据的发布日期;
  • 滞后期;
  • 缺失值产生原因。

如果时间没有对齐,归一化只能把错误数据转换得更整齐,不能修复标签错位。

再处理缺失值

均值、标准差、中位数和四分位距都会受到缺失处理方式影响。

前向填充、后向填充、零填充和删除样本,代表不同的数据假设。不能在没有任务定义的情况下随意替换。

例如,成交量缺失与成交量为零不是同一概念。财务指标暂未披露与指标数值为零也不是同一概念。

缺失值处理完成后,再估计缩放参数。

再处理异常值

异常值处理不能只看绝对大小,还要看来源和时间位置。

可以使用分位数、滚动统计、业务边界和数据源校验进行判断。若异常值是真实市场状态,直接截断可能改变标签关系。若异常值是接口错误,保留它会污染均值、标准差或区间边界。

缩放方法不是异常值处理的替代品。

最后估计缩放参数

顺序可以概括为:

1. 时间对齐;

2. 缺失值处理;

3. 异常值诊断与规则确认;

4. 训练集参数估计;

5. 全部数据按训练参数转换;

6. 保存参数与版本;

7. 在验证、测试和推断阶段复用参数。

每一步都需要可以复现。

归一化如何影响正则化与模型解释

参数大小不能脱离尺度解释

在线性模型中,参数系数的大小常被用于解释特征影响。

但原始尺度不同,系数大小不能直接比较。

将一个特征从元单位转换到千元单位,参数数值就会改变。模型预测可能不变,参数解释却已经发生变化。

标准化后,系数可以更接近“特征增加一个标准差时,预测值如何变化”的解释方式。但这仍然不是因果关系,也不是稳定的经济含义。

对金融数据,特征之间往往高度相关。共线性、滚动窗口重叠和衍生指标重复信息,都会影响系数稳定性。归一化不能消除共线性。

正则化需要可比较的参数尺度

如果使用 L1 或 L2 正则化,未缩放特征会产生额外偏差。

假设一个特征数值很大,模型只需使用较小参数即可产生同等预测贡献。另一个特征数值很小,模型需要更大参数才能产生类似贡献。正则化惩罚作用在参数上,而不是直接作用在预测贡献上。

结果是不同特征受到不均衡的约束。

特征缩放后,参数进入相近尺度,正则化的约束更容易保持一致。这里的“容易”不代表一定合理。仍然需要通过时间分割的验证过程选择正则化强度。

滚动窗口与金融数据分布漂移

固定训练集参数适合静态数据。金融数据通常存在分布变化。

价格水平会变化。交易制度会变化。波动率状态会变化。不同合约、不同资产和不同时间段的特征分布也可能不同。

因此,归一化参数存在两种策略。

固定参数策略

在一个确定的历史训练区间上计算参数,后续验证、测试和推断都复用。

优点:

  • 坐标系稳定;
  • 容易复现;
  • 不会频繁改变输入含义;
  • 适合严格的离线回测。

缺点:

  • 长期分布漂移后,参数可能不再代表当前数据;
  • 新数据可能大量超出原有范围;
  • Min-Max 的区间尤其容易失效。

滚动参数策略

使用过去一段时间的窗口重新计算参数,再转换当前或下一阶段数据。

优点:

  • 适应局部分布;
  • 可以减少长期结构变化造成的尺度失配;
  • 对非平稳序列更灵活。

缺点:

  • 坐标系不断变化;
  • 参数更新会影响模型输入解释;
  • 窗口长度会引入新超参数;
  • 若窗口边界处理错误,容易把未来信息带入过去。

滚动标准化不是免费适应。它把分布漂移问题转化为窗口选择问题。

窗口过短,参数估计方差较大。窗口过长,对新分布反应慢。没有统一最优窗口,只能通过严格的时间序列验证评估。

常见实现错误

把测试集重新归一化

这是最常见的错误之一。

测试集应使用训练集参数转换。重新计算测试集均值和标准差,会让测试集获得自己的坐标系。测试结果不再对应真实部署流程。

在全量数据上先拟合缩放器

任何包含均值、标准差、最小值、最大值、中位数或四分位距的处理器,都不能在拆分前使用全量数据拟合。

拆分顺序必须先于参数估计。

缩放标签却没有明确目标

输入特征和预测标签是两个不同对象。

有些模型需要对标签缩放,有些模型不需要。若对标签做了变换,最终评价指标必须还原到原始尺度。否则均方误差、绝对误差和收益评价都可能失去原始含义。

训练时缩放,推断时忘记缩放

这是工程系统中的常见断点。

模型权重是在缩放后的特征空间中训练的。推断阶段直接输入原始价格、成交量或波动率,相当于把模型放入完全不同的坐标系。

结果可能不是轻微退化,而是直接失去数值意义。

特征新增后没有更新处理器

生产系统增加一个新特征时,如果只修改模型输入维度,却没有同步更新缩放参数、字段顺序和版本管理,训练与推断会产生不一致。

特征管线必须与模型一起版本化。

使用不适合的缩放方法处理树模型

树模型不依赖特征尺度。强行缩放并不会自动提升树模型效果,还会增加数据管线复杂度。

如果同一批数据同时服务于树模型和梯度模型,可以保留两套处理流程,而不是为了方便强行统一。

如何判断缩放是否真正起作用

不能只看训练是否成功结束。

应从优化轨迹和数据分布两个层面观察。

观察损失曲线

缩放前后使用相同模型、相同学习率范围和相同停止条件,比较:

  • 损失是否出现早期震荡;
  • 是否需要极小学习率;
  • 是否在固定迭代次数内下降更充分;
  • 是否出现数值溢出或梯度异常;
  • 验证损失是否与训练损失同步变化。

如果缩放后训练损失下降更平滑,但验证损失恶化,说明优化变容易了,泛化未必变好。

这两个结论必须分开记录。

观察特征分布

对每个特征输出至少以下统计量:

  • 缺失数量;
  • 最小值;
  • 最大值;
  • 均值;
  • 中位数;
  • 标准差;
  • 四分位距;
  • 若干分位数;
  • 训练集与测试集的统计差异。

归一化前后都应保留摘要。只保存模型,不保存数据分布,无法定位后续漂移。

观察超出范围的比例

对 Min-Max 方法,测试集样本可能落在训练区间之外。此时转换结果可能小于零或大于一。

这不是公式错误,而是分布变化的信号。

不能简单把所有超出值再次截断到 [0, 1],除非截断规则已经在训练设计中定义。随意截断会丢失极端信息,并可能改变风险样本的表达。

对 Z-Score 和 Robust Scaling,则应观察标准化结果的尾部是否出现新的集中偏移。

一个可复用的决策流程

面对新的金融特征集合,可以按照以下顺序处理。

1. 确认模型类型。

如果模型依赖梯度、距离、内积或核函数,优先考虑缩放。若是决策树或随机森林,通常不需要因尺度统一而处理。

2. 检查特征的量纲。

记录价格、成交量、金额、收益率、波动率和比率等不同单位。不要把数值大小直接当作信息强度。

3. 检查极值与异常值。

区分真实极端样本和数据错误。不能用归一化公式替代数据诊断。

4. 检查分布形态。

若边界稳定,可以考虑 Min-Max。若更关注相对偏离程度,可以考虑 Z-Score。若异常值显著,可以考虑 Robust Scaling。

5. 按时间划分数据。

先拆分,再计算参数。不要让测试期参与缩放器拟合。

6. 固定参数和版本。

模型、特征顺序、缩放参数和缺失值规则必须绑定保存。

7. 在同一坐标系中验证。

验证集、测试集和推断数据都使用训练集参数转换。

8. 比较优化轨迹,而不是只看最终指标。

收敛轮数、损失曲线、梯度稳定性和验证表现都需要记录。

9. 检查分布漂移。

如果新的数据长期超出训练分布,再评估是否采用滚动参数策略。不能临时重算后直接解释结果。

10. 保留未缩放数据的可解释出口。

最终报告、风险分析和交易执行仍然需要回到原始单位。模型空间和业务空间必须明确区分。

参数优化建议与模型边界

特征缩放之后,学习率不应沿用未经缩放模型的旧值。输入空间已经变化,梯度尺度也会变化。学习率、正则化强度、批次大小和停止条件应重新验证。

不需要同时改变所有参数。更合理的顺序是:

1. 固定模型结构;

2. 固定时间切分;

3. 比较不同缩放方法;

4. 观察训练稳定性;

5. 再调整学习率;

6. 最后评估验证集与测试集表现。

如果一开始同时更换缩放方法、模型结构和超参数,就无法判断性能变化来自哪一项。

还需要明确几个限制。

第一,特征缩放不能解决标签泄漏。

第二,特征缩放不能修复错误的时间对齐。

第三,特征缩放不能把非平稳序列变成稳定序列。

第四,特征缩放不能自动消除异常值。

第五,特征缩放不能保证预测精度提升。

第六,特征缩放不能替代样本外验证。

它主要改善优化问题的数值条件。模型是否具有稳定的样本外表现,仍然取决于特征构造、标签定义、时间切分、模型复杂度和数据质量。

金融数据归一化的核心价值,不在于把数据压缩到某个漂亮区间,而在于建立一个可计算、可复现、无未来信息污染的输入空间。

对于梯度模型,缩放通常是训练稳定性的基础。对于距离模型,缩放决定不同特征是否能公平参与距离计算。对于树模型,缩放通常不是必要步骤。

选择方法时,不追求统一答案。先看算法。再看分布。最后看时间边界。

模型可以更复杂。参数可以更多。训练硬件可以更快。但如果输入特征仍处于相互冲突的尺度中,优化器只是在更大的计算资源上重复低效路径。

这不是预测问题。

这是坐标系问题。

相关阅读: 交易员决策疲劳应对策略:减少日内无效交易的系统化方案全职交易员的社交孤立:享受孤独还是走向心理失衡?.

常见问题

为什么金融数据需要进行特征缩放?
金融特征(如价格、成交量、收益率)的数值范围可能相差几个数量级,直接输入会导致损失函数呈现狭长椭圆,使梯度下降反复震荡,难以收敛。
Min-Max 归一化和 Z-Score 标准化有什么区别?
Min-Max 将数据压缩到固定区间(如[0, 1]),适合边界稳定的场景;Z-Score 则通过均值和标准差调整数据,更关注样本偏离中心的程度,对统计特征更具表达力。
树模型(如随机森林)需要进行特征缩放吗?
通常不需要。树模型基于特征阈值进行切分,不依赖特征间的欧氏距离或梯度更新,因此缩放不会改变其基本切分逻辑。
在处理金融数据时,如何避免归一化带来的数据泄漏?
必须严格按时间顺序划分数据集,仅使用训练集计算缩放参数(如均值、标准差、最大最小值),并将这些参数固定下来,用于转换验证集、测试集及后续的在线推断。
Robust Scaling 相比其他方法有什么优势?
它使用中位数和四分位间距进行缩放,对极端异常值不敏感,能有效减少异常样本对正常数据分布的压缩效应。