R-squared是什么意思
在回归分析中,R-squared值应该为多大?
就像经常被问到,在回归分析中,R平方应该为多大才表示回归模型是好的?我经常能够听到这类问题,在没回答这个问题之前,我会解释如
何来解释R平方值,我也会阐述为何这个数值可能是一个误导性的统计量,因为小的R平方值不代表模型就拟合的很差,相反,R平方值很大
也不代表模型就拟合的很好。
很明显,“R平方应该为多少”这个问题的答案取决于以下内容
在这个问题点上,我将帮助大家来更精确的解释这个问题,然而,恕我直言,因为我将告诉大家如果你问了这个问题,就相当于你问了一个错
误的问题,我将告诉你你应该如何来问这个问题,且如何来回答这个问题。
为何这是一个错误的问题
R平方的值应该为多少?对这个问题只有一个可能的答案,R平方必须等于基于线性模型能够解释的响应变量变异源的百分比大小,不多也不
少 当你问这个问题的时候,其实你最想知道的是回归模型能否满足你的期望目标,模型能否满足你的需求?接下来我将帮助你询问和回答正
确的问题,问题取决于对于线性回归模型你主要的目标是:
描述预测变量和响应变量之间的关系或者预测响应变量的数值
R平方和自变量及响应变量之间的关系
这个问题比较简单,如果你的主要目标是判断哪些预测变量是显著的并且预测变量在变化的时候响应变量将如何变化,那么R平方就是完全不
切题的指标了。
如果你正确的指定了回归模型,R平方并不会影响你如何判断自变量和因变量之间的关系。
假设你拟合出了自变量和因变量的关系,通过P值判断自变量是显著的,系数为2,其它所有的假设都满足要求。
这个结果说明自变量变化一个单位,与之相关的因变量就会变化2个单位,不管R平方是25%还是95%,这个解释都是正确的。
询问“R平方应该为多大”从这点上来说就是讲不通的,因为它没有起到什么作用。一个小的R平方并不会否定预测变量的显著性或者改变系数
的均值。R平方可以简单到任何一个值,它并不需要任何专门的数值用来做有效的解释。
为了相信你的解释,将改用问哪个问题呢?
R平方和预测的响应变量
如果你的主要目标是分析预测的精度,R平方就是一个要关心的参数了,预测并不是像只预测值那样简单,因为其包含了实验误差,精度越高
,误差就会越小。
因为较小的R平方表明模型中就有较大的误差,因此,R平方如果越小,就说明模型的精度越差,你不能使用R平方来决定你的预测值是否足
够精确里满足你的需求。
这就是为什么“R平方应该为多少”这个问题是不正确的。
那么该怎么来问呢?基于上面的解释,你应该这样询问:
预测区间是否足够的精确来满足我的需求?
预测区间和精度
预测区间代表在指定了设置的预测变量的设置后,一个新的观察的范围。这些区间就是平均预测误差。窄预测区间显示更精确的预测。
R-squared是什么意思的更多相关文章
- 机器学习:衡量线性回归法的指标(MSE、RMSE、MAE、R Squared)
一.MSE.RMSE.MAE 思路:测试数据集中的点,距离模型的平均距离越小,该模型越精确 # 注:使用平均距离,而不是所有测试样本的距离和,因为距离和受样本数量的影响 1)公式: MSE:均方误差 ...
- r squared
multiple r squared adjusted r squared http://web.maths.unsw.edu.au/~adelle/Garvan/Assays/GoodnessOfF ...
- 线性函数拟合R语言示例
线性函数拟合(y=a+bx) 1. R运行实例 R语言运行代码如下:绿色为要提供的数据,黄色标识信息为需要保存的. x<-c(0.10,0.11, 0.12, 0.13, 0.14, ...
- R语言︱非结构化数据处理神器——rlist包
本文作者:任坤,厦门大学王亚南经济研究院金融硕士生,研究兴趣为计算统计和金融量化交易,pipeR,learnR,rlist等项目的作者. 近年来,非关系型数据逐渐获得了更广泛的关注和使用.下面分别列举 ...
- R语言命令汇总
> qqplot(spear,fastrankweight)> qqplot(spear,fastrankweight,main="title")> qqplot ...
- R ggplot2 线性回归
摘自 http://f.dataguru.cn/thread-278300-1-1.html library(ggplot2) x=1:10y=rnorm(10)a=data.frame(x= x, ...
- r语言与dataframe
什么是DataFrame 引用 r-tutor上的定义: DataFrame 是一个表格或者类似二维数组的结构,它的各行表示一个实例,各列表示一个变量. 没错,DataFrame就是类似于Excel表 ...
- R语言学习笔记(二十四):plyr包的用法
plyr 这个包,提供了一组规范的数据结构转换形式. Input/Output list data frame array list llply() ldply() laply() data fram ...
- a note of R software write Function
Functionals “To become significantly more reliable, code must become more transparent. In particular ...
- Advanced R之构造子集
转发请声明出处:http://www.cnblogs.com/lizichao/p/4794733.html 构造子集 R构造子集的操作功能强大而且速度快.精通构造子集者可以用简洁的方式表达复杂的操作 ...
随机推荐
- 从0开始学Java——@override的作用
早上跟着<jsp&Servlet学习笔记>来学习jsp,在使用eclipse创建了一个servlet类之后,发现自动创建的类和书上相比,doGet方法的前面少了@override, ...
- Jenkins进阶系列之——05FTP publisher plugin插件
说明:这个插件可以将构建的产物(例如:Jar)发布到FTP中去. 官方说明:FTP publisher plugin 安装步骤: 系统管理→管理插件→可选插件→Artifact Uploaders→F ...
- .NET跨平台之OWEN中 过滤器的使用
.NET中依赖IIS,通俗的说就是依赖IIS的程序集,导致我们的.NET项目就算是MONO到TOMCAT上,也无法使用,所以OWEN横空出世,OWEN定义了一套接口,接口定义了做.NET项目要实现的一 ...
- Jquery each() 如何操作动态添加的DOM元素
JQ each页面上的DOM元素的时候,如果有一部分的DOM是ajax异步加载的,那么each可能遍历不到元素,异步请求数据的同时不会影响后面的代码执行,今天就遇到这个问题了, 解决方案是讲ajax改 ...
- 我给出的一份Java服务器端面试题-适合电话面试
这部分内容,参考了<面试官的七种武器>一文. 电面与face2face的面试还是有区别的,很多考察方式无法使用. 从简历聊起,逐渐进入正题. Java语法 重载与重写的区别? java如何 ...
- 同步git修改文件到远端服务器脚本
#!/usr/bin/perl -w @files=`git status -s` ; @sync_files = (); foreach (@files) { ); # 固定前2个字符为状态 + 1 ...
- Android将应用程序的崩溃信息如何保存到本地文件,并上传服务器
导语:最近实在是太忙了,没有怎么更新公众号,也没有怎么认真去写一些内容,在这里先给关注我的朋友说一声抱歉,可能在接下来的一段时间,还是很忙,但是我会争取抽空多分享一下技术文章,给大家看,共同进步,也希 ...
- gulp初体验记录(简介、插件开发介绍)
目前用的业界比较知名的三个前端构建工具:grunt.gulp.fis,自己此前一直都是只在用grunt,fis看过一点,gulp则一直都没注意过,直到最近发现好像用的人越来越多,所以今天也就抽了点时间 ...
- Java学习笔记(五)——google java编程风格指南(中)
[前面的话] 年后开始正式上班,计划着想做很多事情,但是总会有这样那样的打扰,不知道是自己要求太高还是自我的奋斗意识不够?接下来好好加油.好好学学技术,好好学习英语,好好学习做点自己喜欢的事情,趁着自 ...
- 获取、增加、修改、删除sqlserver字段描述
先看添加与删除字段描述 EXEC sys.sp_addextendedproperty @name = N'MS_Description', --添加Type字段说明 @value = N'屏蔽类型对 ...