Main Content

决定系数(R 方)

目的

决定系数(R 方)表示线性回归模型中由自变量 X 解释的响应变量 y 的变化比例。R 方越大,线性回归模型解释的变异越大。

定义

R 方是模型解释的平方总和的比例。拟合模型的一个属性 Rsquared 是包含两个字段的结构体:

  • Ordinary - 普通(未经调整的)R 方

    R2=SSRSST=1SSESST.

  • Adjusted - 根据系数的数量调整的 R 方

    Radj2=1(n1np)SSESST.

    SSE 是误差平方和,SSR 是回归平方和,SST 是平方和的总和,n 是观测值的数量,而 p 是回归系数的数量。请注意,p 包含截距,因此,例如,对于线性拟合,p 为 2。由于在回归模型中随着预测变量的增加,R 方会增大,因此调整 R 方会根据模型中预测变量的数目进行调整。这样有助于比较具有不同预测变量个数的模型。

如何

在获得拟合模型(例如 mdl)后,您可以使用 fitlmstepwiselm,通过圆点表示法对属性进行索引来获得标量 R 方值,例如,

mdl.Rsquared.Ordinary
mdl.Rsquared.Adjusted

您也可以使用 SSE、SSR 和 SST 属性名来获取相应值。

mdl.SSE
mdl.SSR
mdl.SST

显示决定系数

此示例说明如何显示 R 方(决定系数)和调整 R 方。加载样本数据并定义响应和自变量。

load hospital
y = hospital.BloodPressure(:,1);
X = double(hospital(:,2:5));

拟合线性回归模型。

mdl = fitlm(X,y)
mdl = 
Linear regression model:
    y ~ 1 + x1 + x2 + x3 + x4

Estimated Coefficients:
                   Estimate        SE        tStat        pValue  
                   _________    ________    ________    __________

    (Intercept)        117.4      5.2451      22.383    1.1667e-39
    x1               0.88162      2.9473     0.29913       0.76549
    x2               0.08602     0.06731       1.278       0.20438
    x3             -0.016685    0.055714    -0.29947       0.76524
    x4                 9.884      1.0406       9.498    1.9546e-15


Number of observations: 100, Error degrees of freedom: 95
Root Mean Squared Error: 4.81
R-squared: 0.508,  Adjusted R-Squared: 0.487
F-statistic vs. constant model: 24.5, p-value = 5.99e-14

R 方值和调整 R 方值分别为 0.508 和 0.487。模型解释了响应变量中大约 50% 的变异。

使用拟合的 LinearModel 对象的属性访问 R 方值和调整 R 方值。

mdl.Rsquared.Ordinary
ans = 0.5078
mdl.Rsquared.Adjusted
ans = 0.4871

调整 R 方值小于普通的 R 方值。

另请参阅

| | |

相关主题