线性回归模型度量参数2- Multiple R R-Squared adjusted R-squared

本文解释线性回归模型的一些度量参数及其之间的关系,并通过示例说明其计算过程。

模型度量参数概述

当我们使用回归模型时,通常在输出包括一些度量拟合程度的参数。

  • Multiple R
    多个变量之间多重相关性。

    对于简单线性回归模型,表示预测变量与响应变量之间的相关性;对于多重线性回归模型,响应变量的观测值和预测值之间的相关性。其平方值为R-Squared。

  • R-Squared

也称为决定系数,它是衡量线性回归模型拟合数据集的程度,表示一定比例响应变量的方差能够被预测变量解释。R-Squared 取值范围是0 ~ 1。R-Squared 值越高,模型拟合数据集越好。0 表示响应变量完全不能被预测变量解释,1表示响应变量可以完美无误被预测变量解释。

R-Squared = (Multiple R)^2

实际应用中,我们通常更关注R-Squared ,因为它表示预测变量能够解释响应变量的比例。但每当增加新的预测变量至模型时,即使该预测变量不其作用R-Squared值也会增加。因此需要引入挑战R-Squared。

  • Adjusted R-squared

Adjusted R-squared 是 R-squared 的修正版本,它调整计算回归模型中预测变量的数量。公式如下:

Adjusted R^2 = 1 – [(1-R^2)*(n-1)/(n-k-1)]
在这里插入图片描述

-R2: 预测模型的R-squared
-n: 观测值数量
-k: 预测变量数量

既然随着预测变量增加R-squared值总是增加,Adjusted R-squared 可以作为更有效的度量参数,它根据模型中预测因子的数量进行调整,表示模型的拟合程度。

为了更好理解上述度量参数,下面通过示例进行说明。

示例说明 Multiple R, R-Squared, Adjusted R-Squared

假设我们有下面数据集,共包括12位学生的考试成绩情况:

examResult <- data.frame(hours=c(1,1,2,2,1,2,2,3,3,4,4,5), 
                         c_score=c(65,78,76,76,79,80,81,84,88,85,96,90),
                         e_score=c(58,61,62,65,65,68,72,74,78,85,90,95))

fit <- lm(e_score~., examResult)
summary(fit)

# Call:
# lm(formula = e_score ~ ., data = examResult)
# 
# Residuals:
#     Min      1Q  Median      3Q     Max 
# -4.8846 -1.2972  0.0766  2.2901  3.0411 
# 
# Coefficients:
#             Estimate Std. Error t value Pr(>|t|)    
# (Intercept)  17.1754    12.5562   1.368 0.204527    
# hours         6.3840     1.0867   5.874 0.000236 ***
# c_score       0.4861     0.1794   2.709 0.024037 *  
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 
# Residual standard error: 2.79 on 9 degrees of freedom
# Multiple R-squared:  0.9558,	Adjusted R-squared:  0.946 
# F-statistic: 97.39 on 2 and 9 DF,  p-value: 7.996e-07

上面输出没有Multiple R,对于多个预测变量,Multiple R即响应变量与预测变量之间的相关性,下面我们自己计算,然后再计算Multiple R的平方:

library(tidyverse)
fit
# Call:
# lm(formula = e_score ~ ., data = examResult)
# 
# Coefficients:
# (Intercept)        hours      c_score  
#     17.1754       6.3840       0.4861  
examResult <- examResult %>% mutate(yp = ( 17.1754 + 6.3840 * hours + 0.4861 * c_score))
examResult

#    hours c_score e_score      yp
# 1      1      65      58 55.1559
# 2      1      78      61 61.4752
# 3      2      76      62 66.8870
# 4      2      76      65 66.8870
# 5      1      79      65 61.9613
# 6      2      80      68 68.8314
# 7      2      81      72 69.3175
# 8      3      84      74 77.1598
# 9      3      88      78 79.1042
# 10     4      85      85 84.0299
# 11     4      96      90 89.3770
# 12     5      90      95 92.8444

mr <- cor(examResult$e_score, examResult$yp)
mr

# [1] 0.9776676

R2 <- mr*mr
R2

# [1] 0.955834

# Adjusted R2 = 1 – [(1-R2)*(n-1)/(n-k-1)] 
AR2 <- 1-((1-R2)*(12-1))/(12-2-1)
AR2
# [1] 0.9460193

AR2 表示根据模型中预测变量数调整的R方值。

这些度量参数非常有用。假如另一个回归模型使用10个预测变量,对应的调整R方值位0.88。对比两者带两个预测参数的模型更好,因为它的调整R方值更高(值为0.946)。

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值