什么是 R²?
R²(R-squared),又称决定系数,用来衡量模型的预测结果与实际观测数据的吻合程度。它表示因变量的变异中能够被模型解释的比例。对于一个合理的模型,R² 通常落在 0 到 1 之间:取值为 1 表示预测值与数据完全吻合;取值为 0 则说明模型完全无法解释数据的变化,效果与"直接用平均值预测"无异。当模型的拟合效果比一条位于均值处的水平线还要差时,R² 甚至可能出现负值。
如何使用本计算器
请将你的观测值(实际的 \(Y\) 数据)和预测值(模型输出的 \(\hat{Y}\))分别以英文逗号分隔的方式填入。两组数据的顺序要一一对应,长度也要相同。点击计算后,你将得到 \(R^{2}\) 值,以及残差平方和(\(SS_{res}\))、总平方和(\(SS_{tot}\))和参与计算的数据点个数。
公式解析
计算器首先求出观测值的平均数。总平方和是每个观测值与该平均数之差的平方之和:
$$SS_{tot} = \sum \left( y_i - \bar{y} \right)^{2}$$残差平方和则是观测值与预测值之差的平方之和:
$$SS_{res} = \sum \left( y_i - \hat{y}_i \right)^{2}$$\(R^{2}\) 就等于
$$R^{2} = 1 - \frac{SS_{res}}{SS_{tot}}$$当残差相对于总变异很小时,\(SS_{res}/SS_{tot}\) 接近 0,\(R^{2}\) 便趋近于 1。
实例演算
假设观测值为 3、−0.5、2、7,预测值为 2.5、0.0、2、8。观测值的平均数为
$$\frac{3 - 0.5 + 2 + 7}{4} = 2.875$$残差平方和为
$$SS_{res} = 0.5^{2} + (-0.5)^{2} + 0^{2} + (-1)^{2} = 0.25 + 0.25 + 0 + 1 = 1.5$$总平方和为
$$SS_{tot} = (0.125)^{2} + (-3.375)^{2} + (-0.875)^{2} + (4.125)^{2} \approx 0.015625 + 11.390625 + 0.765625 + 17.015625 = 29.1875$$因此
$$R^{2} = 1 - \frac{1.5}{29.1875} \approx 0.9486$$常见问题
R² 会是负数吗? 会。当模型的拟合效果比单纯使用数据均值进行预测还要差时,\(SS_{res}\) 就会超过 \(SS_{tot}\),\(R^{2}\) 随之变为负值。
R² 越高就代表模型越好吗? 不一定。高 \(R^{2}\) 说明模型对当前这批数据拟合得很紧密,但也可能是过拟合(overfitting)所致。务必用样本外数据加以验证。
R² 和调整后 R²(adjusted R²)有何区别? 调整后 \(R^{2}\) 会对那些无助于改善模型的多余变量进行惩罚,在多元回归中尤为实用。本计算器给出的是未经调整的 \(R^{2}\)。