问题计算,解释子集和有关模型选择过程的一般问题


9

我想使用选择模型regsubsets()。我有一个名为olympiadaten的数据框(上传的数据:http : //www.sendspace.com/file/8e27d0)。我首先附加此数据框,然后开始分析,我的代码是:

attach(olympiadaten)

library(leaps)
a<-regsubsets(Gesamt ~ CommunistSocialist + CountrySize + GNI + Lifeexp + 
              Schoolyears + ExpMilitary + Mortality +
PopPoverty + PopTotal + ExpEdu + ExpHealth, data=olympiadaten, nbest=2)
summary(a)
plot(a,scale="adjr2")


summary(lm(Gesamt~ExpHealth))

情节的屏幕截图:
http://tinypic.com/r/2pq8agy/6

现在的问题是,我想再次“手动”拟合最佳模型并进行查看,但是调整后的R平方的值与regsubsets输出中的值不同吗?其他模型也是如此,例如,当我在图形中执行最简单的模型时:

summary(lm(Gesamt~ExpHealth))

该图表示,它的调整后R平方应约为0.14,但是当我查看输出时,得到的值为0.06435。

这是输出summary(lm(Gesamt~ExpHealth))

Call:
lm(formula = Gesamt ~ ExpHealth)

Residuals:
    Min      1Q  Median      3Q     Max 
-18.686  -9.856  -4.496   1.434  81.980 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)  -3.0681     6.1683  -0.497   0.6203  
ExpHealth     1.9903     0.7805   2.550   0.0127 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Residual standard error: 18.71 on 79 degrees of freedom
  (4 observations deleted due to missingness)
Multiple R-squared: 0.07605,    Adjusted R-squared: 0.06435 
F-statistic: 6.502 on 1 and 79 DF,  p-value: 0.01271 

我不知道自己做错了什么,我们将不胜感激。

最后但并非最不重要的是,还有其他一些问题:

  • 通过AIC和通过adj选择模型之间有什么区别?R平方?
  • 两者都测量拟合度并识别变量数,因此AIC选择的最佳模型和调整次数最高的模型都不是。r平方?
  • 当我有12个变量时,这意味着 21个2 模型的可能性,对不对?
  • 那么该regsubsets()命令是否计算每个模型并显示nbest=2每个尺寸的两个最佳值()?
  • 如果是这样,我真的得到了“最佳”模型吗?
  • 而且,当我使用向后选择(从包含所有变量的模型开始)进行AIC时,是否还会得到regsubsets()说最好的模型呢?

1
调整后的差异 [R2是因为某些变量缺少值。我相信你会得到同样的调整[R2如果您仅使用并非所有变量(在regsubsets的公式中)均不缺失的数据子集“手动”拟合模型。注意:使用regsubsets选择模型被认为是一种较差的方法。
mark999 2012年

1
@ mark999您的评论很好,看来它给出了正确的答案。您应该将其转换为答案。
Michael R. Chernick 2012年

谢谢@MichaelChernick,但我只想发表评论。
mark999 2012年

@ user1690846我建议您查看Peter Flom对stats.stackexchange.com/questions/8303/…
mark999 2012年

@ mark999首先感谢您的回答,但是为什么这是一种糟糕的方法呢?并且选择AIC更好吗?所以我应该使用na.omit(olympiadaten)来拟合模型吗?如果有人对其他问题有任何答案,我们将不胜感激,谢谢
user1690846 2012年

Answers:


7

为了进一步推广使用所有子集或最佳子集工具查找“最佳”拟合模型的想法,达雷尔·霍夫(Darrell Huff)撰写的《如何与统计数据撒谎》一书讲述了一个有关《读者文摘》出版香烟烟雾中化学物质比较的故事。他们文章的目的是要表明不同品牌之间没有真正的差异,但是在某些化学品中,一个品牌的价格最低(但差异很小,以致差异无意义),并且该品牌根据根据《读者文摘》是“最低”或“最佳”的。

所有子集或最佳子集的回归都相似,您显示的图中的真实信息不是“这里是最佳”,而是实际上没有最佳模型。从统计角度来看(使用调整后的R平方),您的模型大部分都几乎相同(底部的几个次于上面的,但其余的都差不多)。您想从那张桌子上找到“最佳”型号,就像香烟公司说,当目的是证明它们都相似时,他们的产品是最好的。

您可以尝试以下方法:从数据集中随机删除一个点,然后重新运行分析,是否获得相同的“最佳”模型?还是会改变?重复几次,每次删除一个不同的点,以查看“最佳”模型的变化。当数据的微小变化给出不同的“最佳”时,您是否真的认为模型是“最佳”?还要看看不同模型之间的系数有多少不同,您如何解释这些变化?

最好了解数据背后的问题和科学知识,并使用该信息来帮助确定“最佳”模型。考虑两个非常相似的模型,唯一的区别是一个模型包括X1个 另一个包括 X2代替。具有的模型X1个 拟合度稍好一些(分别为0.49和0.48的r平方) X1个 需要手术并等待2周的实验室结果,同时进行测量 X2需要5分钟和一个血压计。在调节器r平方中获得额外的0.01,真的值得额外的时间,费用和风险,还是更好的模型会更快,更便宜,更安全?从科学的角度来看,什么才有意义?在上面的示例中,您是否真的认为增加军费开支将改善奥运表现?还是这是该变量代替其他支出变量产生更直接影响的情况?

要考虑的其他事情包括采用几个好的模型并将它们组合起来(模型平均),或者不是让每个变量全部或全部添加某种形式的惩罚(Ridge回归,LASSO,elasticnet等)。


好答案!突出显示“最好理解数据背后的问题和科学,并使用该信息来帮助确定“最佳”模型”以及随后的所有段落。
安德烈·席尔瓦

2

已经回答了一些问题,所以我只解决与模型选择有关的问题。AIC,BIC,Mallow Cp和调整后的R2是比较和选择模型的所有方法,这些模型通过调整量度或标准中的惩罚函数来考虑过拟合模型的问题。但是在惩罚函数不同的情况下,两个相似的准则很可能导致最终模型的不同选择。不同标准的最小值可以出现在不同的模型上。在查看AIC和BIC选择的模型时,经常会观察到这种情况。

我真的不知道您所说的最佳模式是什么意思。每个标准本质上都给出了最佳的不同定义。就信息,熵,随机复杂性,解释(调整)的百分比方差等而言,您可以最好地称呼模型。如果您要处理的是特定标准,则意味着在所有可能的模型上最好地捕获说出AIC的真实最小值,那么这只能通过查看所有模型(即变量的所有子集选择)来保证。逐步升级,逐步降低和逐步执行的过程并不总是在特定标准的意义上找到最佳模型。使用逐步回归,您甚至可以通过启动不同的模型来获得不同的答案。我敢肯定,弗兰克·哈雷尔(Frank Harrell)对此有很多话要说。

要了解更多信息,有几本关于模型/子集选择的好书,我在其他文章中也引用了一些。Lacey Gunter的SpringerBrief系列中与Springer的专着即将出版。我是她的合著者。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.