我尝试使用最佳子集选择来执行回归。
这里的例子相当于我根据数据集包中的ChickWeight数据所做的事情。
leaps_test <- regsubsets(weight~Time+Diet,data=ChickWeight,nbest=1)
然而,我希望能够控制&#34;最好的子集&#34;通过使用残差平方和(RSS)进行评估。如果这是regsubsets默认工作的方式,我仍然想知道如何更改此标准,以防我想根据信息标准进行评估。
答案 0 :(得分:1)
?regsubsets.default
由于此函数返回最大为nvmax的所有大小的单独最佳模型,并且因为不同的模型选择标准(如AIC,BIC,CIC,DIC,......)仅在不同大小的模型的比较方式上有所不同,结果不依赖于成本 - 复杂度权衡的选择。
但是,如果要直观地检查不同的关联条件,可以在plot命令中指定不同的比例。
?plot.regsubsets
plot(x,labels = obj $ xnames,main = NULL,scale = c(“bic”,“Cp”,“adjr2”,“r2”),col = gray(seq(0,0.9,length = = 10)),...)
答案 1 :(得分:0)
来自?regsubsets.default
:
由于此函数返回所有大小的单独最佳模型,最高可达nvmax,并且由于不同的模型选择标准(如AIC,BIC,CIC,DIC,......)仅在不同大小的模型的比较方式上有所不同,因此结果不同取决于成本复杂性权衡的选择。
答案 2 :(得分:0)
问题和答案是两岁。但我认为回答搜索此信息的人仍然有用。我想作为评论回答,但没有足够的声誉。
这回答了bibzzz的问题(作为对Davide Passaretti答案的评论),如果有两种方法使用R2以外的标准进行绘图:在函数scale = c("Cp", "adjr2", "r2", "bic")
中使用参数plot(regsubsets.obj, scale = ...)
可以选择您想要的标准。
这四个是最受欢迎的标准。也许你想要AIC。但你不需要它,因为Cp和AIC给你相同的结果,这意味着具有最小Cp的模型也具有最小的AIC。