在回归分析中,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是什么意思的更多相关文章

  1. 机器学习:衡量线性回归法的指标(MSE、RMSE、MAE、R Squared)

    一.MSE.RMSE.MAE 思路:测试数据集中的点,距离模型的平均距离越小,该模型越精确 # 注:使用平均距离,而不是所有测试样本的距离和,因为距离和受样本数量的影响 1)公式: MSE:均方误差 ...

  2. r squared

    multiple r squared adjusted r squared http://web.maths.unsw.edu.au/~adelle/Garvan/Assays/GoodnessOfF ...

  3. 线性函数拟合R语言示例

    线性函数拟合(y=a+bx) 1.       R运行实例 R语言运行代码如下:绿色为要提供的数据,黄色标识信息为需要保存的. x<-c(0.10,0.11, 0.12, 0.13, 0.14, ...

  4. R语言︱非结构化数据处理神器——rlist包

    本文作者:任坤,厦门大学王亚南经济研究院金融硕士生,研究兴趣为计算统计和金融量化交易,pipeR,learnR,rlist等项目的作者. 近年来,非关系型数据逐渐获得了更广泛的关注和使用.下面分别列举 ...

  5. R语言命令汇总

    > qqplot(spear,fastrankweight)> qqplot(spear,fastrankweight,main="title")> qqplot ...

  6. R ggplot2 线性回归

    摘自  http://f.dataguru.cn/thread-278300-1-1.html library(ggplot2) x=1:10y=rnorm(10)a=data.frame(x= x, ...

  7. r语言与dataframe

    什么是DataFrame 引用 r-tutor上的定义: DataFrame 是一个表格或者类似二维数组的结构,它的各行表示一个实例,各列表示一个变量. 没错,DataFrame就是类似于Excel表 ...

  8. R语言学习笔记(二十四):plyr包的用法

    plyr 这个包,提供了一组规范的数据结构转换形式. Input/Output list data frame array list llply() ldply() laply() data fram ...

  9. a note of R software write Function

    Functionals “To become significantly more reliable, code must become more transparent. In particular ...

  10. Advanced R之构造子集

    转发请声明出处:http://www.cnblogs.com/lizichao/p/4794733.html 构造子集 R构造子集的操作功能强大而且速度快.精通构造子集者可以用简洁的方式表达复杂的操作 ...

随机推荐

  1. [CareerCup] 13.9 Aligned Malloc and Free Function 写一对申请和释放内存函数

    13.9 Write an aligned malloc and free function that supports allocating memory such that the memory ...

  2. double相加(減)结果会有些误差

    前提介绍 今天在调试代码的时候发现了一个double类型数据相减的有趣问题,148163.1 - 82692.09大家猜猜结果等于多少,经过调试最终为5471.010000000009. 是不是很奇怪 ...

  3. 使用线程池模拟处理耗时任务,通过websocket提高用户体验

    前言 在文章开始之前,询问一下大家平时工作中后端处理批量任务(耗时任务)的时候,前端是如何告知用户任务的执行情况的? 楼主对这个问题想了下,决定使用websokect将这一过程展现给用户. 于是就有了 ...

  4. 服务器端解决JS跨域调用问题

    一. 使用JSONp方式调用 不做详细讲解,可以参考jq文档 二. 服务端配置 修改Web.config 文件 <system.webServer> <modules runAllM ...

  5. 【Visual Studio】在VS2012中使用VSXtra

    最近工作中需要把之前为VS 2010写的扩展迁移到VS 2012上.在将工程版本改为VS2012之后,代码没有修改,直接编译通过,也可以安装到VS2012上. 不过,在实际使用的时候,却报错,提示“T ...

  6. 最新app store 应用提交经验分享

    由于之前提交实在3月份的时候,后来长时间没有提交了,最近又需要提交,发现苹果已经发生翻天覆地的变化了,真是跟不上时代了啊.... 之前提交的基本也是从网上看的,前面的证书安装部分其实基本是一样的没什么 ...

  7. css基本的东西

    0 css本来也是一个比较乱的东西,我们需要在最恰当的情况下,写出最杂乱的效果.1 面对body设置了 -webkit-font-smoothing:antialiased (默认值为subpixel ...

  8. AngularJS开发指南6:AngularJS表单详解

    表单控件(input, select, textarea )是用来获取用户输入的.表单则是一组有联系的表单控件的集合. 用户能通过表单和表单控件提供验证的服务,知道自己的输入是否合法.这样能让用户交互 ...

  9. jquery实现导航栏跟随窗口滚动

    最近在制作一个模版的时候用到的一个jquery插件,当网站导航滚动到当前可见页面顶部时,固定在顶部并随窗口滚动,有很多的网站前台模版有有类似的效果. smohan.fixednav.js /* * 随 ...

  10. 在java类中,是先执行类的构造函数还是先执行类的私有非静态变量

    举例子: package test_instance; public class TestClassLoaderTime { public TestClassLoaderTime(){ System. ...