决定系数(R 方)
目的
决定系数(R 方)表示线性回归模型中由自变量 X 解释的响应变量 y 的变化比例。R 方越大,线性回归模型解释的变异越大。
定义
R 方是模型解释的平方总和的比例。拟合模型的一个属性 Rsquared
是包含两个字段的结构体:
Ordinary
- 普通(未经调整的)R 方Adjusted
- 根据系数的数量调整的 R 方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 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 方值。
另请参阅
LinearModel
| fitlm
| stepwiselm
| anova