线性回归模型度量参数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.8444mr <- cor(examResult$e_score, examResult$yp)
mr# [1] 0.9776676R2 <- 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)。
线性回归模型度量参数2- Multiple R R-Squared adjusted R-squared相关推荐
- R语言使用lm函数拟合多元线性回归模型、假定预测变量之间有交互作用、R语言使用effects包的effect函数查看交互作用对于回归模型预测响应变量的影响
R语言使用lm函数拟合多元线性回归模型.假定预测变量之间有交互作用.R语言使用effects包的effect函数查看交互作用对于回归模型预测响应变量的影响 目录
- (二十二)用RANSAC算法来求线性回归模型的参数
线性回归模型 一.什么是线性回归? 举个例子, 某商品的利润在售价为2 元. 5 元. 10 元时分别为 4 元. 11 元. 20 元, 我们很容易得出商品的利润与售价的关系符合直线:y=2x. 在 ...
- 回归分析:最小二乘法估计线性回归模型的参数
一.一元线性回归 回归分析可以用来分析变量间的关联强度和关联方向,而且还可以通过回归方程式,利用已知的自变量预测未知的因变量. 一元线性回归又称简单线性回归,是只包括一个自变量和一个因变量,而且二者的 ...
- 线性回归模型的度量参数1- SST SSR SSE R-Squared
本文解释线性回归模型的度量参数,并通过示例给出其计算过程. 模型度量参数概述 线性回归用于找到一条线能够最佳拟合数据集.通常使用三个不同的平方和值衡量回归线实际拟合数据的程度. Sum of Squa ...
- 南航数据分析与挖掘课设1(上)——基于多元线性回归模型,ARIMA序列的中国GDP增长影响因素研究及预测(R语言)
基于多元线性回归模型,ARIMA序列的中国GDP增长影响因素研究及预测 摘要 在国民经济发展的过程中,国内生产总值(GDP)是指按国家市场价格计算的一个国家(或地区)所有常驻单位在一定时期内生产活动的 ...
- R语言可视化包ggplot2绘制线性回归模型曲线实战( Linear Regression Line)
R语言可视化包ggplot2绘制线性回归模型曲线实战( Linear Regression Line) 目录 R语言可视化包ggplot2绘制线性回归模型曲线实战( Linear Regression ...
- 机器学习算法——线性回归的详细介绍 及 利用sklearn包实现线性回归模型
目录 1.线性回归简介 1.1 线性回归应用场景 1.2 什么是线性回归 1.2.1 定义与公式 1.2.2 线性回归的特征与目标的关系分析 2.线性回归api初步使用 2.1 线性回归API 2.2 ...
- excel计算二元线性回归_R 回归分析(六)广义线性回归模型
广义线性回归模型(GLM)是常见正太线性模型的直接推广,它适用于连续数据和离散数据,特别是后者,如属性数据.计数数据. 广义线性回归模型要求响应变量只能通过线性形式依赖于自变量,从而保持了线性自变量的 ...
- R语言使用lm函数拟合多元线性回归模型、假定预测变量没有交互作用(Multiple linear regression)
R语言使用lm函数拟合多元线性回归模型.假定预测变量没有交互作用(Multiple linear regression) 目录
最新文章
- 二叉树:二叉搜索树的编码和解码
- 无线节能信标调试说明-2021-3-3
- Java Web——ResponseBean类DEMO
- 转:Linux下安装Gtest/Gmock
- zabbix yum安装
- Mybatis(19)注解实现多表查询
- python24点4张扑克_Python实现扑克24点小游戏 ,从此我就没输过
- linux fls函数,Linux学习笔记- find 命令详解
- 如何在Android中使用Intent拨打电话?
- html a标签链接 点击下载文件
- unity3d人物跳_Unity人物跳跃效果
- 初遇初识初知接下来是什么_娱乐圈隐藏学霸,演技零差评,张新成凭什么不火?...
- 攻防世界-Crypto-告诉你个秘密(键盘密码)-ISCC2017
- “假努力”与“假关心”
- 游戏三级分类部分代码
- Qt中实现获取中文首字母(GB2312 和 unicode以及调用Unihan实现全汉字拼音转换,支持多音字和生僻字等)和中英文数字排序功能
- Python简单实现学生成绩管理系统
- 遇到mysqladmin flush-hosts报错解决思路
- (12)筋斗云案例(导航栏醒目显示跟随)
- [遗传算法]冰与火之歌