You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

确认R-squared与调整R-squared的取值范围是否超出0-1

关于R-squared与调整R-squared取值范围的确认

背景与猜想

之前我一直认为R-squared(决定系数)的取值范围在0到1之间,但查阅文献、论坛并实际建模后,提出了两个猜想:

  • a) R-squared的取值范围为负无穷到1;
  • b) 调整R-squared(adjusted R-squared)可大于1(推测为正无穷)。

猜想依据

  • 依据a):部分拟合的回归模型返回了负R-squared值,此时最优拟合线的表现比因变量的均值还差,也就是RSS > TSS(残差平方和大于总平方和)。
  • 依据b):用PLS回归处理数据时,得到的R-squared约为0.94,代入调整R-squared公式后结果大于1。推测这是因为观测数(约140个)少于输入变量数(228个)。测试发现:当观测数N大于变量数p时,调整R-squared不会超过1;当N < p时,调整R-squared会超出1。

需要确认的问题

  1. 我的猜想——R-squared范围为负无穷到1,调整R-squared范围为0到正无穷而非0-1——是否正确?
  2. 若不正确,二者的实际取值范围是什么?

结论与解释

1. R-squared的取值范围

猜想a)完全正确:R-squared的取值范围是(-∞, 1]。

  • 当模型拟合效果差于仅用因变量均值预测时,RSS > TSS,代入公式$R^2 = 1 - \frac{RSS}{TSS}$会得到负数结果。这种情况常出现在模型设定错误、使用不匹配的回归方法或数据无明显线性关联时。
  • 当模型完美拟合所有样本时,RSS=0,R-squared=1;当模型拟合效果与均值预测相当,RSS=TSS,R-squared=0。

2. 调整R-squared的取值范围

猜想b)仅部分正确,调整R-squared的实际取值范围是**(-∞, 1]**,并非0到正无穷:

  • 调整R-squared的计算公式为:
    $R^2_{adj} = 1 - \frac{(n-1)}{(n-p-1)} \times (1-R^2)$
    其中n为观测数,p为自变量个数。
  • 当n ≤ p时,分母$(n-p-1)$为负数或零:
    • 若n < p+1,分母为负,此时若$R^2 < 1$(即$1-R^2 > 0$),则$\frac{(n-1)}{(n-p-1)} \times (1-R^2)$为负数,1减去负数会得到大于1的结果,但此时调整R-squared已失去原本的统计意义——它的设计目的是惩罚过多自变量,当变量数超过观测数时,该统计量不再具备解释价值。
  • 当n > p+1时,分母为正,此时调整R-squared始终小于等于普通R-squared,且同样可能为负(当模型拟合效果极差时)。

内容的提问来源于stack exchange,提问作者Meth Bandaranaike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 04:57:40