如何计算 r 中调整后的 r 平方


R 平方(通常写为R2 )是响应变量中可以由线性回归模型中的预测变量解释的方差的比例。

R 平方的值范围为 0 到 1。值为 0 表示响应变量根本无法由预测变量解释,而值为 1 表示响应变量可以由预测变量解释。预测器完美地解释了这一点,没有错误。变量。

调整后的 R 平方是 R 平方的修改版本,可根据回归模型中的预测变量数量进行调整。计算方法如下:

调整后的 R 2 = 1 – [(1-R 2 )*(n-1)/(nk-1)]

金子:

  • R 2 :模型的R 2
  • n :观察次数
  • k :预测变量的数量

由于当您向模型中添加预测变量时, R2始终会增加,因此调整后的R2可以作为一个指标,告诉您模型的有用程度,并根据模型中预测变量的数量进行调整

本教程介绍如何计算 R 中回归模型的调整后的R2

相关: 什么是好的 R 平方值?

示例:如何计算 R 中调整后的 R 平方

我们可以使用以下代码使用名为mtcars的内置数据集在 R 中创建多元线性回归模型:

 model <- lm (hp ~ mpg + wt + drat + qsec, data=mtcars)

我们可以使用三种方法之一来找到模型的调整后的 R 平方:

方法一:使用summary()函数

我们可以使用summary()函数来可视化模型的R平方和调整后的R平方:

 summary (model)

Call:
lm(formula = hp ~ mpg + wt + drat + qsec, data = mtcars)

Residuals:
    Min 1Q Median 3Q Max 
-48,801 -16,007 -5,482 11,614 97,338 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 473.779 105.213 4.503 0.000116 ***
mpg -2.877 2.381 -1.209 0.237319    
wt 26.037 13.514 1.927 0.064600 .  
drat 4.819 15.952 0.302 0.764910    
qsec -20.751 3.993 -5.197 1.79e-05 ***
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 32.25 on 27 degrees of freedom
Multiple R-squared: 0.8073, Adjusted R-squared: 0.7787 
F-statistic: 28.27 on 4 and 27 DF, p-value: 2.647e-09

在输出的底部我们可以看到以下内容:

  • 多重 R 平方: 0.8073
  • 调整后的 R 平方: 0.7787

方法2:使用summary(model)$adj.r.squared

如果我们只是想获得模型调整后的 R 平方,我们可以使用以下函数:

 summary (model)$adj.r.squared

[1] 0.7787005

方法三:使用自定义函数

查找模型拟合 R 平方的另一种方法是编写自定义函数:

 #define function to calculate adjusted R-squared
adj_r2 <- function (x) {
   return (1 - ((1-summary(x)$r.squared)*( nobs (x)-1)/( nobs (x)- length (x$coefficients)-1)))
}

#use function to calculate adjusted R-squared of the model
adj_r2(model)

[1] 0.7787005
numeric(0)

请注意,此处共享的三种方法中的每一种都为调整后的 R 平方提供相同的值。

其他资源

如何在 R 中执行简单线性回归
如何在 R 中执行多元线性回归
如何在 R 中执行多项式回归

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注