R 平方(R²)的高级考量
R 平方在高级层面的含义
R 平方(通常写作 R²)是一种统计摘要,用于衡量所选模型对一组观测值变异性的还原程度。在最简单(也是最常见)的解释中,R² 回答的问题是:“相对于不使用模型解释变量的基准,模型解释了观测变异的多少?”
这一含义是稳定的,但许多实际细节并非如此。因此,“高级考量”更侧重于确认你实际测量的内容,而非死记公式:包括所使用的定义、用于比较的基准、目标变量的构建方式,以及你是在模型训练所用的数据(样本内)还是新数据(样本外)上进行评估。
R 平方在可验证模型中的工作原理
一个标准的起点是使用带截距项的线性回归模型,从输入 X 预测目标 Y。在这种熟悉的设定下,R² 可以通过残差误差的方差(或平方和)与 Y 相对于其均值的总变异进行比较来表达。
一个可验证的模型视角如下:
- 选择目标序列 Y(即你希望解释的内容)。
- 选择一个生成拟合值 Ŷ 的模型。
- 计算残差 e = Y − Ŷ。
- 将残差的变异性与 Y 围绕其均值的基准变异性进行比较。
在包含截距项的回归情况下,R² 通常被限制在 0 到 1 之间。然而,高级工作需要认识到,当假设发生变化(例如,当你改变基准的定义方式)或在模型常规上下文之外计算 R² 时,这种限制可能会失效。
解读 R² 前必须明确的依赖项
要独立解读 R²,你需要明确至少以下依赖项:
- 目标定义:Y 到底是什么?对于时间序列,Y 可能是水平值、差分值、类似收益率的量,或其他变换形式。改变 Y 会改变“解释变异”的含义。
- 模型形式:R² 取决于从输入到 Ŷ 的映射方式。即使使用相同的数据,不同的模型也可能产生不同的拟合曲线。
- 基准与中心化:许多 R² 的解释依赖于与预测 Y 均值的基准进行比较。如果基准不同,其含义也会改变。
- 拟合过程:你是否使用与报告 R² 相同的数据集来选择模型复杂度?
- 评估方案:样本内 R² 反映对训练数据的拟合;样本外 R² 反映泛化能力。
证据与示例:为何高 R² 可能具有误导性
以下是一个示例式推理(并非对任何实际市场的断言),说明了一个常见的高级陷阱。
假设你拟合了一个足够灵活的模型,能够追踪短期波动。如果你在用于拟合模型的同一数据上评估 R²,该模型可能通过学习特定于该时期的模式来“解释”大部分变异。
现在设想你在之后的一个时期评估同一模型,而数据生成过程发生了变化。残差可能增加,因此 R² 可能下降。这说明了为何高级解读需要区分:
- 对历史数据的拟合优度(样本内计算的 R² 可能反映这一点) 与
- 预测或解释的稳定性(R² 并不保证这一点)。
另一个边缘情况:目标变量特性发生变化时
考虑一个目标 Y,其行为在不同阶段表现出差异(例如波动率聚集、结构性变化或机制转换)。即使 R² “正确”计算,该统计量也会在这些时期之间平均表现。
如果大部分变异来自少数几个阶段,一个模型可能仅通过匹配这些阶段就看似“解释了大部分”变异。在高级实践中,你应该检查 R² 是否由子集时间段驱动,而非反映一致的解释能力。
重要局限性与失败模式
若不明确失败模式——即 R² 可以计算但难以解释的情况——则高级考量是不完整的。
1) 非平稳或机制变化的数据
如果 X 与 Y 之间的统计关系随时间变化,则在历史窗口上计算的 R² 可能无法反映当前行为。这并非算术上的缺陷,而是使用摘要统计量处理非平稳过程的局限性。
2) 数据泄露或不当评估
如果来自未来的信息(或在预测时本不应知晓的目标信息)影响了特征构建,则由此产生的 R² 可能被高估。其局限性在于,R² 将衡量数据准备方式的人为产物,而非模型真实解释关系。
一个实际的验证步骤在概念上很简单:确保在时间 t 用于计算 X 的每个量在时间 t 都是可获得的,并确保评估是在未用于拟合或选择的数据上进行的。
3) 过拟合与在同一数据上进行模型选择
当模型具有灵活性且你尝试了多种设定时,从同一数据集报告的 R² 往往会夸大性能。因此,高级考量包括评估纪律,例如分离训练和测试窗口,并考虑到你可能已优化了超参数。
4) 目标与模型目标不匹配
R² 是关于在特定模型输出定义下解释方差的。如果你的模型被训练以优化不同目标(例如分类损失而非平方误差类拟合),R² 可能无法反映你关心的内容。
5) 不当的缩放或变换
对 Y 的变换会改变“变异”的含义。即使使用相同的输入和模型,在目标的不同变换上计算的两个 R² 值也不可直接比较。
验证:如何独立检查你计算的 R²
为独立验证你自己设置中 R² 的事实,你可以使用一组简单的检查。
- 确认你使用的定义。某些软件会根据是否包含截距项或比较基准的定义方式不同而提供 R² 的变体。
- 从存储的中间值(拟合值 Ŷ 和残差 e)重新计算,以确认与报告的 R² 一致。
- 区分样本内与样本外。在严格的评估方案中计算 R²,其中测试期未用于拟合或特征选择。
- 用多个窗口大小进行压力测试。如果结果随窗口长度剧烈变化,则这种不稳定性是一个重要局限。
- 概念上检查残差行为。