(博客主亲自录制视频教程)
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 pddf=pd.read_excel("土壤沉淀物吸收能力采样数据-不存在共线性.xlsx") array_values=df.valuesx1=[i[0] for i in array_values]x2=[i[1] for i in array_values]df = pd.DataFrame({'x':x1, 'y':x2})# Fit the modelmodel = ols("y~x", df).fit()rSquared_adj=model.rsquared_adjrSquared=model.rsquaredn=13 #样本p=2 #变量数量adjR2=rSquared-(1-rSquared)*((p-1)/(n-p))#最终adjR2和rSquared_adj是相等的
n为样本个数,p为变量数