R平方的计算方法(公式、输入和限制)
直接回答:什么是R平方?
R平方(通常写作R²)是一个数值,用于描述一组拟合预测值(模型输出)能够解释多少观测目标(因变量)的变化。在其最常见的形式中,R²由两个量计算得出:
- 观测数据中的总变异
- 使用拟合预测后剩余的残差(未解释)变异
通俗解释:如果残差变异相对于总变异较小,则R²较高;如果残差变异较大,则R²较低。
机制:公式和每个必需输入
1) 定义数据
要计算R²,您需要一组观测值及其对应的拟合(预测)值。
- 观测值:(y_1, y_2, \dots, y_n)
- 拟合(预测)值:(\hat{y}_1, \hat{y}_2, \dots, \hat{y}_n)
- 观测值的样本均值:(\bar{y} = \frac{1}{n}\sum_{i=1}^{n} y_i)
其中 (n) 是您正在评估的数据点数量。
2) 计算平方和
R²使用基于与均值差异和与拟合预测差异的平方和。
-
总平方和(围绕均值的变异): [ \mathrm{SST} = \sum_{i=1}^{n} (y_i - \bar{y})^2 ]
-
残差平方和(拟合后剩余的变异): [ \mathrm{SSE} = \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 ]
3) 计算R平方
在最常见的定义中: [ R^2 = 1 - \frac{\mathrm{SSE}}{\mathrm{SST}} ]
这要求 (\mathrm{SST} > 0)。如果所有观测值 (y_i) 都相同,则 (\mathrm{SST}=0),此时R²在此形式下无明确意义。
4) 关键实际选择:(\hat{y}) 是基于哪些数据计算的?
该公式本身并未说明 (\hat{y}) 来自:
- 用于拟合模型的相同数据(样本内),或
- 拟合过程中未使用的独立数据(样本外)
使用样本内拟合值通常会使灵活模型的性能被高估。使用样本外预测通常能更真实地反映关系的泛化能力,但即使模型在方向上有用,也可能降低R²。
证据或示例:具体计算(含明确假设)
假设您有 (n=3) 个观测值 (y) 和一个模型,该模型为这三个点生成拟合值 (\hat{y})。
设:
- (y = [2,\ 4,\ 6])
- (\hat{y} = [2,\ 5,\ 5])
步骤1:计算均值 [ \bar{y} = (2+4+6)/3 = 4 ]
步骤2:计算 (\mathrm{SST}) [ \mathrm{SST} = (2-4)^2 + (4-4)^2 + (6-4)^2 = 4 + 0 + 4 = 8 ]
步骤3:计算 (\mathrm{SSE}) [ \mathrm{SSE} = (2-2)^2 + (4-5)^2 + (6-5)^2 = 0 + 1 + 1 = 2 ]
步骤4:计算R² [ R^2 = 1 - 2/8 = 1 - 0.25 = 0.75 ]
在此计算中,0.75表示残差变异是总变异的四分之一(针对此评估设置)。
局限性和失效模式:R平方可能出错的地方
R²被广泛使用,但它并不能保证实用性。几种实质性局限可能导致其误导。
1) 在样本内评估时的过拟合
如果模型很灵活,并且您使用模型学习过的同一数据集上的拟合值来计算R²,则残差误差可能人为偏小。即使模型未捕捉到稳定关系,也可能产生较高的R²。
2) 非线性不匹配
R²通过残差衡量预测值与观测值的匹配程度。除非您的建模方法强制执行特定结构,否则它不能确保基础关系具有特定结构(例如线性)。
一个模型可能显示中等或较高的R²,但仍不适合在数据范围之外进行外推,因为R²是对评估集的描述性指标,而非普遍规律。
3) 尺度和预处理效应
由于SST和SSE依赖于 (y) 的尺度,预处理步骤(如差分、归一化或变换)可能改变R²。两位分析师使用不同变换时,即使“拟合质量”相当,也可能得到不同的R²值。
4) R²可能未定义或反直觉
- 如果 (\mathrm{SST}=0),公式失效。
- 根据预测值的生成方式以及是否使用替代定义(如调整后的变体),其值可能不如“解释百分比”直观。
5) 关系 vs. 因果
R²量化了预测值与观测值的接近程度。它并不说明这种关系存在的原因。即使R²很高,这种关联也可能反映共同驱动因素、数据伪影或偶然模式。
验证和后续问题:如何独立检查报告的R平方
如果您看到报告的R²,可以通过检查以下事实来验证计算,而无需依赖对未来表现的声明:
- 确认评估数据集大小 (n)。
- 获取观测值 (y_i)。
- 确定用于计算残差误差的拟合/预测值 (\hat{y}_i)。
- 重新计算 (\bar{y})、SST、SSE,然后计算 (R^2 = 1 - \mathrm{SSE}/\mathrm{SST})。
如果提供方或计算器未说明使用了哪些 (\hat{y})(样本内 vs 样本外)以及应用了何种预处理,则报告的R²在数学上仍有定义,但不同设置间的比较将变得不确定。
一个有用的后续问题是:当R²用于相关概念(例如使用不同的评估划分或建模形式)时,其值如何变化,因为这些选择会改变R²实际衡量的内容。