在回归分析中,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. Linux c实现服务端与客户端聊天

    主要利用socket通信实现,具体代码如下 客户端: #include <stdio.h> #include <stdlib.h> #include <string.h& ...

  2. 基于win32的socket编程及程序实现

    初步研究了win32平台的Windows Sockets,它是Microsoft Windows的网络程序设计接口,它是从Berkeley Sockets扩展而来的,以动态链接库的形式提供给我们使用. ...

  3. android的adb详解(多设备时adb调用)

    在多设备(模拟器)时,想要直接用logcat查看其中一台的状态,或者直接把应用安装到目标设备上时,需要指定设备号.adb devices这个指令可以得到当前设备的序列号(serialNumber).比 ...

  4. 『随笔』Socket 链接 必须 上下行 同时使用

    结论: > Socket 理论上 支持 只上行,或者 只下行. > 心跳包 必须是 上下行的 —— 心跳包请求(上行) - 心跳包响应(下行). > 如果 长时间 只有单向链接(只发 ...

  5. ios9+xcode7 适配笔记

    升级了xcode7,最近ios9上马,又到了草泥马的时间,apple开放团队每次系统更新,都是无数个草泥马的适配夜晚,现在ios9上线以前的app竟然启动crash,这是要闹哪样. 1.微信和微博的s ...

  6. web前端开发教程系列-2 - 前端开发书籍分享

    目录: 前言 一. CSS 二. JavaScript 三. jQuery 四. 后记   前言 前端书籍在每个商城或书架上面都是琳琅满目,很多初学者又不能很好的判断书的质量或层次.因为今天给同学们分 ...

  7. MongoDB 2.6设置访问权限、设置用户

    MongoDB已经使用很长一段时间了,基于MongoDB的数据存储也一直没有使用到权限访问(MongoDB默认设置为无权限访问限制),今天特地花了一点时间研究了一下,研究成果如下: 注:研究成果基于W ...

  8. oracle 分区表

    分区表用途 分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中.分区完全对应用透明.Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SEGMENT),可以存放到不同的表空间 ...

  9. cookie的一些细节

    什么是 Cookie “cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScript 来创建和取回 cookie ...

  10. 大数相乘算法C++版

    #include <iostream> #include <cstring> using namespace std; #define null 0 #define MAXN ...