主要内容

决定系数(R 方)

R2026b

目的

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

定义

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

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

    R2=SSRSST=1−SSESST.

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

    Radj2=1−(n−1n−p)SSESST.

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

如何

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

mdl.Rsquared.Ordinary
mdl.Rsquared.Adjusted

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

mdl.SSE
mdl.SSR
mdl.SST

显示决定系数

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

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

拟合线性回归模型。

mdl = fitlm(X,y)
mdl = 
Linear regression model:
    y ~ 1 + Sex + Age + Weight + Smoker

Estimated Coefficients:
                   Estimate        SE        tStat        pValue  
                   _________    ________    ________    __________

    (Intercept)       118.28      7.6291      15.504    9.1557e-28
    Sex_Male         0.88162      2.9473     0.29913       0.76549
    Age              0.08602     0.06731       1.278       0.20438
    Weight         -0.016685    0.055714    -0.29947       0.76524
    Smoker_1           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 方值。

另请参阅

| | |

主题