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

  • Post author:
  • Post category:其他





sklearn实战-乳腺癌细胞数据挖掘


(博客主亲自录制视频教程)





https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share




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风控评分卡建模和风控常识(博客主亲自录制视频教程)