调整的R方_如何选择回归模型

好久不见. 提交于 2020-01-26 09:21:10

 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资源

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!