回归模型效果评估系列3-R平方
决定系数(coefficient of determination,R2)是反映模型拟合优度的重要的统计量,为回归平方和与总平方和之比。R2取值在0到1之间,且无单位,其数值大小反映了回归贡献的相对程度,即在因变量Y的总变异中回归关系所能解释的百分比。 R2是最常用于评价回归模型优劣程度的指标,R2越大(接近于1),所拟合的回归方程越优。
假设一数据集包括y1,...,yn共n个观察值,相对应的模型预测值分别为f1,...,fn。定义残差ei = yi − fi,平均观察值为
虽然R2可以用来评价回归方程的优劣,但随着自变量个数的增加,R2将不断增大(因为自变量个数的增加,意味着模型的复杂度升高,对样本数据的拟合程度会提高)。
若对两个具有不同个数自变量的回归方程进行比较时,不能简单地用R2作为评价回归方程的标准,还必须考虑方程所包含的自变量个数的影响,此时可用校正的决定系数(R2-adjusted)
其中n是样本数量,p是模型中变量的个数,当变量个数为0时,修正和原始的R方是一样的
就是相当于给变量的个数加惩罚项。换句话说,如果两个模型,样本数一样,R2一样,那么从修正R2的角度看,使用变量个数少的那个模型更优。
至于R2大于多少才有意义呢?这时我们可以看另外一个指标:复相关系数(Multiple correlation coefficient)R,R是决定系数R2的平方根,可用来度量因变量Y与多个自变量间的线性相关程度,即观察值Y与估计值之间的相关程度。
相关系数要在0.7~0.5才有意义,因此,R2应大于0.5*0.5=0.25,所以有种观点认为,在直线回归中应R2大于0.3才有意义。
还是来看下一个简单的例子,看下简单的平滑预测的R平方有多少
import numpy as np def r_square(y,f):y,f = np.array(y),np.array(f)y_mean = y.mean()SStot = sum(np.power((y-y_mean),2))SSres = sum(np.power(y-f,2))return 1.0 - 1.0*SSres/SStotdef smooth_(squences,period=5):res = []gap = period/2right = len(squences)for i in range(right):res.append(np.mean(squences[i-gap if i-gap > 0 else 0:i+gap if i+gap < right else right]))return res httpspeedavg = np.array([1821000, 2264000, 2209000, 2203000, 2306000, 2005000, 2428000,2246000, 1642000, 721000, 1125000, 1335000, 1367000, 1760000,1807000, 1761000, 1767000, 1723000, 1883000, 1645000, 1548000,1608000, 1372000, 1532000, 1485000, 1527000, 1618000, 1640000,1199000, 1627000, 1620000, 1770000, 1741000, 1744000, 1986000,1931000, 2410000, 2293000, 2199000, 1982000, 2036000, 2462000,2246000, 2071000, 2220000, 2062000, 1741000, 1624000, 1872000,1621000, 1426000, 1723000, 1735000, 1443000, 1735000, 2053000,1811000, 1958000, 1828000, 1763000, 2185000, 2267000, 2134000,2253000, 1719000, 1669000, 1973000, 1615000, 1839000, 1957000,1809000, 1799000, 1706000, 1549000, 1546000, 1692000, 2335000,2611000, 1855000, 2092000, 2029000, 1695000, 1379000, 2400000,2522000, 2140000, 2614000, 2399000, 2376000]) httpavg = np.round((1.0*httpspeedavg/1024/1024).tolist(),2) smooth = np.round(smooth_((1.0*httpspeedavg/1024/1024).tolist(),5),2)print r_square(httpavg,smooth) # 0.711750424322
也就是71%的网络变化情况可以用平滑预测来解释
转载于:https://www.cnblogs.com/qwj-sysu/p/8493042.html
回归模型效果评估系列3-R平方相关推荐
- 信贷产品额度定价场景下的回归模型效果评估
在信贷风控的决策流程中,我们必然会在某些节点放入模型来使用,例如A卡(申请).B卡(行为).C卡(催收).F卡(反欺诈)等.当我们线下建立好一个模型之后,只有通过样本内外的多次测试,以及模型性能指标达 ...
- R语言glmnet拟合lasso回归模型实战:lasso回归模型的模型系数及可视化、lasso回归模型分类评估计算(混淆矩阵、accuracy、Deviance)
R语言glmnet拟合lasso回归模型实战:lasso回归模型的模型系数(lasso regression coefficients)及可视化.lasso回归模型分类评估计算(混淆矩阵.accura ...
- R语言glmnet拟合岭回归模型实战:岭回归模型的模型系数(ridge regression coefficients)及可视化、岭回归模型分类评估计算(混淆矩阵、accuracy、Deviance)
R语言glmnet拟合岭回归模型(ridge regression)实战:岭回归模型的模型系数(ridge regression coefficients)及可视化.岭回归模型分类评估计算(混淆矩阵. ...
- R语言构建logistic回归模型并评估模型:模型预测结果抽样、可视化模型分类预测的概率分布情况、使用WVPlots包绘制ROC曲线并计算AUC值
R语言构建logistic回归模型并评估模型:模型预测结果抽样.可视化模型分类预测的概率分布情况.使用WVPlots包绘制ROC曲线并计算AUC值 目录
- R语言构建logistic回归模型并评估模型:构建基于混淆矩阵计算分类评估指标的自定义函数、阳性样本比例(垃圾邮件比例)变化对应的分类器性能的变化、基于数据阳性样本比例选择合适的分类评估指标
R语言构建logistic回归模型并评估模型:构建基于混淆矩阵计算分类评估指标的自定义函数.阳性样本比例(垃圾邮件比例)变化对应的分类器性能的变化.基于数据阳性样本比例选择合适的分类评估指标 目录
- R语言构建logistic回归模型并评估模型:计算混淆矩阵、并基于混淆矩阵计算Accuray、Precision、Recall(sensitivity)、F1、Specificity指标
R语言构建logistic回归模型并评估模型:计算混淆矩阵.并基于混淆矩阵计算Accuray.Precision.Recall(sensitivity).F1.Specificity指标 目录
- R语言使用xgboost包拟合xgboost回归模型、使用predict函数和训练好的模型进行预测推理、计算回归模型的评估指标MAE、MSE、RMSE
R语言使用xgboost包拟合xgboost回归模型.使用predict函数和训练好的模型进行预测推理.计算回归模型的评估指标MAE.MSE.RMSE 目录
- R语言使用lm函数拟合多项式回归模型:使用predict函数和训练好的模型进行预测推理、计算回归模型的评估指标MAE、MSE、RMSE、R方等指标
R语言使用lm函数拟合多项式回归模型:使用predict函数和训练好的模型进行预测推理.计算回归模型的评估指标MAE.MSE.RMSE.R方等指标 目录
- [机器学习与scikit-learn-51]:模型评估-图解回归模型的评估指标MSE、MAE、RMSE、R2、RSS与代码示例
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...
- 图解机器学习之回归模型性能评估指标
一个房价预测的任务,老板说你看看这个模型咋样? 我们先绘制一个坐标轴: Y 轴为房价,X 轴为年份.将过去房价数据绘制为绿色,回归模型绘制为蓝色. 关键问题是,怎么知道这个模型的好坏呢? 为了评估该模 ...
最新文章
- 通过命令行在Python中测试以太坊RPC客户端
- 成功解决AttributeError : ‘GridSearchCV‘ object has no attribute ‘grid_scores_‘
- Linux内核源码树建立加载hello模块
- html5控制gif速度,gif加速软件 教你加快GIF图片的播放速度
- 高晓松谈管理:自嘲总被员工管
- python中head_Python(Head First)学习笔记:六
- Keepalived 安装配置
- python学习 第三篇 文件操作
- matlab做经济地理、地理距离、经济距离空间权重矩阵
- 【HL7】快速入门 HL7 协议
- 分镜头故事板Toon Boom Storyboard Pro 6简体中文版完美激活版
- 计算机考试当天准考证身份证丢失
- C语言中关于四舍五入的计算方法
- 入门了解学hybris和sap的需要内容(自己整理)
- P1873 砍树(二分查找模板)
- 不喜欢现在的工作,怎么办?
- ubuntu 安装 nvidia 显卡驱动
- 虚拟化精华问答 | 为什么云计算需要虚拟化?
- 赠吾弟-每一个生命奇迹的背后——整理
- 计算机逻辑模块,常用时序逻辑电路模块 《计算机结构与 及逻辑设计》课件.ppt...
热门文章
- 推荐几款基于 Markdown 在线制作简历的网站
- python3字符串详解速查,新手流泪,老手顿悟
- compiled.php,laravel compiled.php 缓存 命令行
- recyclerview简单实现立体魔方动画切换效果
- 【路径规划】基于粒子群算法机器人避障路径规划matlab代码
- linux位系统安装官方install_flash_player_npapi_linux.x86_64.tar.gz插件包的方法
- html绘制钟表的原理,html5 canvas绘制钟表
- Java基础篇--集合(map)
- There was a problem confirming the ssl certificate: HTTPSConnectionPool(host=‘pypi.org‘, port=443)
- Opencv入门(播放AVI视频)