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构造子集的操作功能强大而且速度快.精通构造子集者可以用简洁的方式表达复杂的操作 ...
随机推荐
- beta阶段140字评论
第一组 奋斗吧兄弟 有三种生态环境可以选择,动物还可以放大缩小,增加了许多趣味性.寓教于乐 第二组金州勇士 考试系统很贴近学生生活,不过这种系统现有也挺成熟了,其实我觉得做一个报考系统可能更讨喜 ...
- QT cannot open output file debug\OpencvTest.exe: Permission denied
问题:调试运行QT的时候遇到这个问题,发现时是由于没有正常关闭程序所致,导致后台有之前运行的程序在跑(电脑环境win7 64 Qt5.2.1 opencv2.4.6). 目前解决办法:手动关闭已在运行 ...
- MVC5 + EF6 + Bootstrap3 (10) 数据查询页面
文章来源:Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-search-page.html 系列教程:MVC ...
- 浅入ARP
1.ARP的工作原理 IP层协议ARP的核心功能就是通过目的主机IP地址得到主机的硬件地址,然后通过硬件地址进行通信.和计算机网络中的很多技术一样,ARP协议也是使用了建立一个缓存表的思想.它规定每个 ...
- 如何区分 OpenStack Neutron Extension 和 Plugin
Neutron 里面的 extension 和 plugin 是非常相似的两个概念,我花了好久才貌似搞懂了两者的区别,还不一定完全正确. 在OpenStack 的官网wiki中,可以找到它们两个的定义 ...
- OSX 上安装 Scrapy 的那些坑
Scrapy 这个爬网框架真心不错,但在OSX上安装总是会出现各种的问题,在这里就作一个收集汇总.我的系统环境是 OS X El Capitan (10.11.1) 首先要保证 pip , virtu ...
- Javascript 里的 in
写js的时候需要遍历一个对象的属性,把属性名和属性值都提出来,之前没遇到这种需求,查了一下可以用for in的方式. var obj = { "key1":"value1 ...
- C++读取特定路径下文件目录及文件名称
这几天在弄一个项目,需要读取给定路径下的所有文件夹名称或所有带后缀的文件名. 查了下C++的资料,发现有很多方法,这里总结其中的一种,其他用法类似. 主要用到了以下几个头文件(类):io.h, fst ...
- 2、面向对象以及winform的简单运用(面向对象的四大基本特性)
面向对象的四大基本特性 面向对象的核心概念就是封装.抽象.继承.多态这四大基本特性,在这里先解释一下它们的定义: 封装:是一种隐藏信息的特性.找到变化并且把它封装起来,你就可以在不影响其它部分的情况下 ...
- Web前端开发Chrome插件
参考:http://www.cnblogs.com/sosoft/p/3490481.html 越来越多的前端开发人员喜欢在Chrome里开发调试代码,Chrome有许多优秀的插件可以帮助前端开发人员 ...