解释R中的drop1输出


14

在R中,drop1命令输出整洁的东西。
这两个命令应该为您提供一些输出:
example(step)#-> swiss
drop1(lm1, test="F")

我的看起来像这样:

> drop1(lm1, test="F")
Single term deletions

Model:
Fertility ~ Agriculture + Examination + Education + Catholic + 
    Infant.Mortality
                 Df Sum of Sq    RSS    AIC F value     Pr(F)    
<none>                        2105.0 190.69                      
Agriculture       1    307.72 2412.8 195.10  5.9934  0.018727 *  
Examination       1     53.03 2158.1 189.86  1.0328  0.315462    
Education         1   1162.56 3267.6 209.36 22.6432 2.431e-05 ***
Catholic          1    447.71 2552.8 197.75  8.7200  0.005190 ** 
Infant.Mortality  1    408.75 2513.8 197.03  7.9612  0.007336 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

这一切是什么意思?我假设“星号”有助于确定要保留哪些输入变量。查看上面的输出,我想扔掉“考试”变量,而专注于“教育”变量,这种解释正确吗?

另外,AIC值越低越好,是吗?

埃德 请注意下面的社区Wiki答案,并在认为合适时添加到它,以澄清此输出。


7
R中的帮助旨在向您解释如何使用该功能。这并不意味着是一门统计学课程。关于这一点,总的来说,我相信R帮助页面是我所知道的所有开源软件包中最完整,最方便的页面。并为此支付费用。SPSS和SAS为您提供了很多真相大而无稽之谈,可作为“解释指南”。
Joris Meys 2010年

1
这个问题已被否决。我不打算给我+1,但在我看来,投票否决不是很有建设性的:(1)OP明确表示这是作业,并使用R内置数据集进行说明,而不是他的数据,(2)step()在撰写本文时,一个相关问题的评分为+2(所以为什么?!),(3)OP承认@Joris响应的有用性。
chl 2010年

@chl:在R帮助页面:-)上,我并不是唯一一个脚趾敏感的人。但我完全同意你的看法。这个问题是有效的,以明确的方式提出,因此绝对没有理由对此进行否决。
Joris Meys

嘿,很抱歉,如果我在帮助下help之以鼻,我真的对命令行方面的问题没有耐心。我知道我很奇怪。您不会是第一个这样称呼我的人:)我喜欢这个地方,老实说。
gakera,2010年

到此为止,我编辑了问题,以免引起R倡导者和R help的反感:)并在AIC上重新表述了该问题,以避免误导仅OP读者。
gakera,2010年

Answers:


10

drop1为您提供基于AIC标准的模型比较,并在使用该选项test="F"时向其添加“ II型ANOVA”,如帮助文件中所述。只要您只有连续变量,此表就等于 summary(lm1),因为F值就是那些T值的平方。P值完全相同。

那么该怎么办呢?正是以这种方式来解释它:它以一种方式表达了没有该术语的模型是否与具有该术语的模型“显着”不同。注意“”周围的含义,因为大多数人认为这里的含义无法解释。(多重测试问题等等)

关于AIC:越低越好。AIC是适用于模型的值,而不适用于变量。因此,该输出的最佳模型将是没有变量检查的模型。

请注意,AIC和F统计量的计算与R函数AIC(lm1)分别不同。anova(lm1)。为此AIC(),该信息在的帮助页面上给出extractAIC()。对于anova()功能,很明显I型和II型SS是不同的。

我试图不客气,但是如果您不了解帮助文件中的解释,则不应该首先使用该功能。逐步回归非常棘手,以最深刻的方式危害着您的p值。如此反复,就没有立足自己的p值。您的模型应该反映您的假设,而不是相反。


1
我喜欢这种感觉,“如果我不了解自己正在做的事情,就不应该尝试学习它……”这也是R帮助中采用的方法-除非您已经知道了什么,否则它无济于事。继续。我希望这可能是另辟something径的开始。
gakera

但是,我可以使用您的答案的这一部分:“以这种方式进行解释:它表示不具有该术语的模型是否与具有该术语的模型显着不同。” 对我而言,这意味着Pr(F)值是这些术语中每一项的含义,而较小的值意味着此变量很重要。因此,一个好的模型应该包含“ ***”变量,而不要包含没有星星的变量。
gakera

4
@gakera:你误会我了。如果您不了解自己在做什么,则一定要在使用它之前先尝试学习。这就是说,阅读统计数据并按照课程学习。因此,一个好的模型应该包括假设中提出的变量。如果您基于“ ***”变量,则需要首先进行全面的建模课程。您显然不明白我的最后评论。很抱歉直接进行沟通,随同这家伙一起来。与个人无关。
Joris Meys

@gakera:我更新了答案,以澄清一些重要的观点。主要是因为您误解了您认为可以使用的部分。
Joris Meys

我边做边学,毕竟这是家庭作业,如果我做错了,没有人会死-鱼已经死了:P到目前为止,谢谢你的帮助,不要担心,这不是我第一次上互联网:)
gakera

4

作为参考,这些是表中包含的值:
Df自由度,“自由度数是统计的最终计算中可以自由变化的值的数目。”

Sum of Sq列是指平方和(或更准确地说是偏差平方和)。简而言之,这是每个值偏离这些值的总体平均值的数量的度量。
RSS残差平方和。这些是对因变量(或输出变量)的预测值与集合中每个数据点(或更通俗地说:数据表中的每个“行”)的真实值相差多少的度量。

AICAkaike信息标准,通常被认为是“太复杂了,无法解释”,但是简而言之,它是对估计的统计模型的拟合优度的度量。如果您需要更多详细信息,您将不得不转向上面有文字(例如书籍)的枯树。或维基百科和那里的资源。

所述F value用于执行所谓的一个F检验,并从它导出的Pr(F)值,其描述了如何有可能(或可能的= PR),该F值。Pr(F)值接近零(由表示***)表示输入变量在某种程度上对于包含在好的模型中很重要,也就是说,不包含该变量的模型与该模型“显着”不同做到了。

drop1命令的上下文中,所有这些值均经过计算,以将整体模型(包括所有输入变量)与通过在输出表中的每一行中删除一个特定变量而得到的模型进行比较。

现在,如果可以改进此问题,请随时添加或澄清任何问题。我的目标仅仅是澄清并提供一个更好的从R命令输出到其实际含义的“反向查找”参考。


@gakera 实际回归和使用R的Anova是理解线性模型以及与变量/模型选择有关的方法的良好起点。正如@Joris指出的那样,逐步回归很少是灵丹妙药。
chl 2010年

呵呵,感谢您添加链接@chl,同时保持了关于我为什么不能发布它们的免责声明。你必须同意我很烂:D
gakera 2010年

1
@gakera我认为您需要更多代表才能为每次编辑添加一个以上的链接-我可以理解,从问答网站开始时,这并不是一件令人愉快的事情。我以为您会自己删除最后一句话。另一方面,我觉得您不应期望为您提供自己的问题的答案太多,因为这是一种概括(虽然很有用)。
chl 2010年

我不是为了投票(这就是Reddit:P)-有用的摘要正是我要的-主要针对我自己,但也可能对其他人有用。
gakera 2010年

@gakera我确定这不是为了获得投票。在大多数情况下,当他们不添加更多或相互矛盾的信息时,我们会将自己的回复设置为社区Wiki(CW)。这是总结或汇总他人反应的中立方式。
chl 2010年
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.