调整的R方_如何选择回归模型
python风控建模实战lendingClub(博主录制,catboost,lightgbm建模,2K超清分辨率)
https://study.163.com/course/courseMain.htm?courseId=1005988013&share=2&shareId=400000000398149

1.选择最简单模型
如果不能满足:
增加参数,增加R**2
判断是否overfittiing
调整R方,BIC,AIC(选择较小BIC或AIC值)
R方不能比较参数不同模型,但调整后R方可以比较不同参数模型
如果添加一个新的变量,但调整R方变小,这个变量就是多余的
如果添加一个新的变量,但调整R方变大,这个变量就是有用的
R^2很小得谨慎,说明你选的解释变量解释能力不足,有可能有其他重要变量被纳入到误差项。可尝试寻找其他相关变量进行多元回归
这个问题在伍德里奇的书里有说明,可绝系数只是判断模型优劣的指标之一,而不是全部,特别是当使用微观数据,样本量比较大的时候,可绝系数可以很小,但这并不能表示模型就差。
显著但是R值小,要考虑不同的专业背景。
有的专业确实比较小,楼主的例子,我觉得这个大小就能接受了。
态度与行为之间的影响因素非常多,态度能解释行为11-15%已经不小了。
F检验是对整个模型而已的,看是不是自变量系数不全为0,而t检验则是分别针对某个自变量的,看每个自变量是否有显著预测效力。
调整R方VS样本量VS变量数量
样本量越大,调整的R方惩罚机制越小,调整的R方越大
样本量越小,调整的R方惩罚机制越大,调整的R方越小
变量越多,惩罚机制越严重,调整R方越小
变量越少,惩罚机制越严小,调整R方越大
n=13 样本
p=2 变量数量
adjR2=rSquared-(1-rSquared)*((p-1)/(n-p))=0.63-(1-0.63)
rSquared=0.63109603807606962
rSquared_adj=0.59755931426480324
n=13 样本
n越大,(n-p)大,(p-1)/(n-p)越小,(1-rSquared)*((p-1)/(n-p))越小,rSquared-(1-rSquared)*((p-1)/(n-p))越大,即样本量越大,调整R方越大,变量解释力度越大。
p=2 变量数量
参数多,p大,(P-1)越大,(n-p)越小
,(p-1)/(n-p)越大,
rSquared-(1-rSquared)*((p-1)/(n-p)) 越小,即adjR2越小。所以变量越多,惩罚机制越严重,调整R方越小
测试Python脚本
导入excel数据

import pandas as pd
df=pd.read_excel("土壤沉淀物吸收能力采样数据-不存在共线性.xlsx")
array_values=df.values
x1=[i[0] for i in array_values]
x2=[i[1] for i in array_values] df = pd.DataFrame({'x':x1, 'y':x2})
# Fit the model
model = ols("y~x", df).fit()
rSquared_adj=model.rsquared_adj
rSquared=model.rsquared n=13 #样本
p=2 #变量数量
adjR2=rSquared-(1-rSquared)*((p-1)/(n-p)) #最终adjR2和rSquared_adj是相等的

n为样本个数,p为变量数





python信用评分卡建模(附代码,博主录制)

微信扫二维码,免费学习更多python资源

调整的R方_如何选择回归模型的更多相关文章
- 如何在R语言中使用Logistic回归模型
在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价.身高.GDP.学生成绩等,发现这些被预测的变量都属于连续型变量.然而有些情况下,被预测变量可能是二元变量,即成功或失败.流失或 ...
- R in action读书笔记(11)-第八章:回归-- 选择“最佳”的回归模型
8.6 选择“最佳”的回归模型 8.6.1 模型比较 用基础安装中的anova()函数可以比较两个嵌套模型的拟合优度.所谓嵌套模型,即它的一 些项完全包含在另一个模型中 用anova()函数比较 &g ...
- 【机器学习与R语言】6-线性回归
目录 1.理解回归 1)简单线性回归 2)普通最小二乘估计 3)相关系数 4)多元线性回归 2.线性回归应用示例 1)收集数据 2)探索和准备数据 3)训练数据 4)评估模型 5)提高模型性能 1.理 ...
- 数据挖掘-diabetes数据集分析-糖尿病病情预测_线性回归_最小平方回归
# coding: utf-8 # 利用 diabetes数据集来学习线性回归 # diabetes 是一个关于糖尿病的数据集, 该数据集包括442个病人的生理数据及一年以后的病情发展情况. # 数据 ...
- R 读取回归模型的信息
参考博客: http://blog.sina.com.cn/s/blog_8f5b2a2e0101fmiq.html https://blog.csdn.net/huangyouyu523/artic ...
- R语言 我要如何开始R语言_数据分析师
R语言 我要如何开始R语言_数据分析师 我要如何开始R语言? 很多时候,我们的老板跟我们说,这个东西你用R语言去算吧,Oh,My god!什么是R语言?我要怎么开始呢? 其实回答这个问题很简单,首先, ...
- 吴裕雄 python 机器学习——模型选择回归问题性能度量
from sklearn.metrics import mean_absolute_error,mean_squared_error #模型选择回归问题性能度量mean_absolute_error模 ...
- SPSS分析技术:无序多元Logistic回归模型;美国总统大选的预测历史及预测模型
SPSS分析技术:无序多元Logistic回归模型:美国总统大选的预测历史及预测模型 在介绍有序多元Logistic回归分析的理论基础时,介绍过该模型公式有一个非常重要的假设,就是自变量对因变量多个类 ...
- SPSS数据分析—配对Logistic回归模型
Lofistic回归模型也可以用于配对资料,但是其分析方法和操作方法均与之前介绍的不同,具体表现 在以下几个方面1.每个配对组共有同一个回归参数,也就是说协变量在不同配对组中的作用相同2.常数项随着配 ...
随机推荐
- 吴恩达 Deep learning 第一周 深度学习概论
知识点 1. Relu(Rectified Liner Uints 整流线性单元)激活函数:max(0,z) 神经网络中常用ReLU激活函数,与机器学习课程里面提到的sigmoid激活函数相比有以下优 ...
- Python 代码调试技巧
使用 pdb 进行调试 pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变 ...
- Java连接池
- NSURLErrorDomain错误代码
kCFURLErrorUnknown = -998, kCFURLErrorCancelled = -999, kCFURLErrorBadURL = -1000, kCFURLErrorTimedO ...
- C++进阶之_类型转换
C++进阶之_类型转换 1.类型转换名称和语法 C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a C++风格的类型转换提供了4种类型转换操 ...
- iOS- 关于AVAudioSession的使用——后台播放音乐
1.前言 •AVAudioSession是一个单例,无需实例化即可直接使用.AVAudioSession在各种音频环境中起着非常重要的作用 •针对不同的音频应用场景,需要设置不同的音频会话分类 1 ...
- 转 从红帽、GitHub和Docker看开源商业模式的进阶
从红帽.GitHub和Docker看开源商业模式的进阶 发表于2014-12-16 10:26| 7594次阅读| 来源http://stratechery.com/| 0 条评论| 作者Ben Th ...
- vsftpd:非常安全的ftp服务端程序
主程序:/usr/sbin/vsftpd 主配置文件:/etc/vsftpd/vsftpd.conf CentOS 6 /etc/rc.d/init.d/vsftpd chkconfig vsftp ...
- JavaScript设计模式学习之路——面向对象的思想
今天,我拿到了张容铭写的这本<JavaScript设计模式>这本书,开始了关于JavaScript更深一点的学习. 看到这本书开始的时候,虽然之前通过看书.一些比较好的视频的讲解,对Jav ...
- Laravel中如何添加新字段,如何指定在某个字段后而不是添加在最后
解答: