相关系数r和决定系数R2的那些事
文章目录
- 相关系数$r$和决定系数$R^2$的那些事
- 协方差与相关系数
- 决定系数(R方)
- 参考资料
相关系数rrr和决定系数R2R^2R2的那些事
有人说相关系数(correlation coefficient,rrr)和决定系数(coefficient of determination,R2R^2R2,读作R-Squared)都是评价两个变量相关性的指标,且相关系数的平方就是决定系数?这种说法对不对呢?请听下文分解!
协方差与相关系数
要说相关系数,我们先来聊聊协方差。在之前的博文《使用Python计算方差协方差相关系数》中提到协方差是计算两个随机变量XXX和YYY 之间的相关性的指标,定义如下:
Cov(X,Y)=E[(X−EX)(Y−EY)]\mathrm{Cov}(X, Y) = \mathrm{E}[(X - \mathrm{E}X)(Y - \mathrm{E}Y)]Cov(X,Y)=E[(X−EX)(Y−EY)]
但是协方差有一个确定:它的值会随着变量量纲的变化而变化(covariance is not scale invariant),所以,这才提出了相关系数的概念:
r=Corr(X,Y)=Cov(X,Y)σX⋅σY=E[(X−EX)(Y−EY)]E[X−EX]2E[Y−EY]2r = \mathrm{Corr}(X, Y) = \frac{Cov(X, Y)}{\sigma_X \cdot \sigma_Y} = \frac{\mathrm{E}[(X - \mathrm{E}X)(Y - \mathrm{E}Y)]}{\sqrt{\mathrm{E}[X - \mathrm{E}X]^2}\sqrt{\mathrm{E}[Y - \mathrm{E}Y]^2}}r=Corr(X,Y)=σX⋅σYCov(X,Y)=E[X−EX]2E[Y−EY]2E[(X−EX)(Y−EY)]
对于相关系数,我们需要注意:
- 相关系数是用于描述两个变量线性相关程度的,如果r>0r \gt 0r>0,呈正相关;如果r=0r = 0r=0,不相关;如果r<0r \lt 0r<0,呈负相关。
- 如果我们将X−EXX - \mathrm{E}XX−EX和Y−EYY - \mathrm{E}YY−EY看成两个向量的话,那rrr刚好表示的是这两个向量夹角的余弦值,这也就解释了为什么rrr的值域是[-1, 1]。
- 相关系数对变量的平移和缩放(线性变换)保持不变(Correlation is invariant to scaling and shift,不知道中文该如何准确表达,?)。比如Corr(X,Y)=Corr(aX+b,Y)\mathrm{Corr}(X, Y) = \mathrm{Corr}(aX + b, Y)Corr(X,Y)=Corr(aX+b,Y)恒成立。
决定系数(R方)
下面来说决定系数,R方一般用在回归模型用用于评估预测值和实际值的符合程度,R方的定义如下:
R2=1−FVU=1−RSSTSS=1−∑i(yi−fi)2∑i(yi−y^)2R^2 = 1 - \mathrm{FVU} = 1 - \frac{\mathrm{RSS}}{\mathrm{TSS}} = 1 - \frac{\sum\limits_i(y_i - f_i)^2}{\sum\limits_i(y_i - \hat{y})^2}R2=1−FVU=1−TSSRSS=1−i∑(yi−y^)2i∑(yi−fi)2
上式中yyy是实际值,fff是预测值,y^\hat{y}y^是实际值的平均值。FVU\mathrm{FVU}FVU被称为fraction of variance unexplained,RSS叫做Residual sum of squares,TSS叫做Total sum of squares。根据R2R^2R2的定义,可以看到R2R^2R2是有可能小于0的,所以R2R2R2不是rrr的平方。一般地,R2R^2R2越接近1,表示回归分析中自变量对因变量的解释越好。
对于R2R^2R2可以通俗地理解为使用均值作为误差基准,看预测误差是否大于或者小于均值基准误差。
此外,我们做这样一个变形:R2=1−∑i(yi−fi)2/n∑i(yi−y^)2/n=1−RMSEVarR^2 = 1 - \frac{\sum\limits_i(y_i - f_i)^2 / n}{\sum\limits_i(y_i - \hat{y})^2 / n} = 1 - \frac{\mathrm{RMSE}}{\mathrm{Var}}R2=1−i∑(yi−y^)2/ni∑(yi−fi)2/n=1−VarRMSE,可以看到变成了1减去均方根误差和方差的比值(有利于编程实现)。
另外有一个叫做Explained sum of squares,ESS=∑i(fi−y^)2\mathrm{ESS} = \sum\limits_i(f_i - \hat{y})^2ESS=i∑(fi−y^)2
在一般地线性回归模型中,有ESS+RSS=TSS\mathrm{ESS} + \mathrm{RSS} = \mathrm{TSS}ESS+RSS=TSS(证明过程参见:Partitioning in the general ordinary least squares model)
在这种情况下:我们有R2=1−RSSTSS=ESSTSS=∑i(fi−y^)2∑i(yi−y^)2R^2 = 1 - \frac{\mathrm{RSS}}{\mathrm{TSS}} = \frac{\mathrm{ESS}}{\mathrm{TSS}} = \frac{\sum\limits_i(f_i - \hat{y})^2}{\sum\limits_i(y_i - \hat{y})^2}R2=1−TSSRSS=TSSESS=i∑(yi−y^)2i∑(fi−y^)2
对于R2R^2R2我们需要注意:
R2R^2R2一般用在线性模型中(虽然非线性模型总也可以用),具体参见:Regression Analysis: How Do I Interpret R-squared and Assess the Goodness-of-Fit?
R2R^2R2不能完全反映模型预测能力的高低
最后,这篇文章《8 Tips for Interpreting R-Squared》里面指出了不错误解读R2R^2R2的地方,读完之后,我觉得以后还是少用R2R^2R2,对于模型的评估可以选择其它一些更适合的指标。
参考资料
[1]. The relationship between correlation and the coefficient of determination
[2]. Coefficient of determination
[3]. Explained sum of squares
[4]. Regression Analysis: How Do I Interpret R-squared and Assess the Goodness-of-Fit?
[5]. 8 Tips for Interpreting R-Squared
相关系数r和决定系数R2的那些事相关推荐
- 【深度学习基础-14】回归中的相关系数r和决定系数R^2
1 皮尔逊相关系数(Pearson Correlation Coefficient) 皮尔逊相关系数广泛用于度量两个变量之间的相关程度,其值介于-1与1之间. 两个变量之间的皮尔逊相关系数定义为两个变 ...
- 统计相关系数r与r2的区别_什么是相关系数? 统计解释中的r值
统计相关系数r与r2的区别 Correlations are a great tool for learning about how one thing changes with another. A ...
- 利用sklearn计算决定系数R2
决定系数R2 sklearn.metrics中r2_score 格式 sklearn.metrics.r2_score(y_true, y_pred, sample_weight=None, mult ...
- MATLAB 线性拟合 决定系数R2求解
线性拟合之后总是需要求解决定系数R2,网上找了一下发现没啥靠谱的中文回答.还是老外的方法比较靠谱. 线性拟合求解决定系数
- matlab r平方,决定系数(R 方)
显示决定系数 此示例说明如何显示 R 方(决定系数)和调整 R 方.加载样本数据并定义响应和自变量. load hospital y = hospital.BloodPressure(:,1); X ...
- 决定系数R2能否为负数?
决定系数R2能否为负数? R2 -- 评估回归的方法 回归是将函数拟合到数据的方法.例如,我们能够通过卫星统计沃尔玛门口停车场的汽车数量,也可以通过其收益报告了解沃尔玛在对应时段的销售额.于是,你想建 ...
- 决定系数R2真的可靠吗?
目录 1. R2 2. 是否可以通过比较R方大小,来证明"加入某个变量有利于提高模型的拟合程度"? 3. 调整后的R2 4. R方不能支持模型的哪些假设? 5. R2和调整后的R2 ...
- 相关系数r的matlab实现,Spearmen相关系数和Pearson相关系数及其MATLAB实现
Spearmen 相关系数和Pearson 相关系数及其MATLAB 实现 Spearmen 相关系数,Spearman 秩相关系数是一种无参数(与分布无关) 检验方法,用于度量变量之间联系的强弱.在 ...
- 回归评价指标:均方误差根(RMSE)和R平方(R2)
转载自:http://blog.csdn.net/lsldd/article/details/41251583 做回归分析,常用的误差主要有均方误差根(RMSE)和R-平方(R2). RMSE是预测值 ...
- 深度学习在静息态功能磁共振成像中的应用
对从人脑功能磁共振成像(fMRI)数据中获得的丰富的动态的时空变化特性进行建模是一项具有挑战性的任务.对大脑区域和连接水平进行分析为fMRI数据提供了更直接的生物学解释,并且到目前为止一直有助于描述大 ...
最新文章
- android:theme.holo.light.,Android: Theme.Holo.Light.NoActionBar vs Theme.Light.NoTitleBar
- python怎么安装matplotlib-[Python]一步步安装numpy,matplotlib
- iPhone/Mac Objective-C内存管理教程和原理剖析(二)口诀与范式转
- python中关键字 表示空类型_python中什么表示空类型
- 幕乔美化版音乐网站源码
- C11中gets()的函数被删除
- javaweb实训第五天下午——SpringMVC基础
- 关于vs2015每次打开都要配置opencv问题
- 给最后一个li增加样式
- linux系统安装SAI吗,求救~~~把linux安装到C盘了
- navicat本地同步到navicat cloud
- Residual Networks Behave Like Ensembles of Relatively Shallow Networks
- 微信小程序特殊效果合集第一期
- 关于AS5 SSH支持key认证的完全解决方案
- 基于python的-正则中的函数
- python+百度地图 实现地址转换为经纬度(全网最简单方法)
- 清明节全国哀悼,那么网站全部变灰是怎么实现的?
- 2019考研 | 天津大学计算机专硕复试131.25分考研经历与经验总结(复试)
- Opencv3笔记18——重映射
- 3D打印机喷头堵塞维修
热门文章
- android局域网 nas,华为手机通过群晖NAS备份时提示“本机和您的NAS设备需处于同一局域网”的解决方法...
- 树状分支图的html如何编写,流程图控件GoJS教程:树状图的分支设置
- css 全文字体大小,CSS 字体大小
- 全网优惠券、红包获取api
- 架构设计(5)-架构愿景分析
- python 视频 特效,Python实现高级电影特效
- 绩效考核管理方案文档
- github-上传本地代码到github仓库
- png批量转换成jpg
- 直接寻址、间接寻址、立即数寻址、寄存器寻址