回归与方差分析的差异(R中的aov与lm)


21

我一直给人的印象是,回归只是方差分析的一种更一般的形式,其结果是相同的。但是,最近,我对同一数据进行了回归和方差分析,结果差异很大。也就是说,在回归模型中,主效应和相互作用都非常显着,而在方差分析中,一个主效应并不显着。我希望这与交互有关,但是我不清楚这两种对相同问题进行建模的方式有何不同。如果重要的话,一个预测器是分类的,另一个是连续的,如下面的模拟所示。

这是一个示例,说明我的数据看起来如何以及正在执行的分析,但是结果中没有相同的p值或影响显着(上面概述了我的实际结果):

group<-c(1,1,1,0,0,0)
moderator<-c(1,2,3,4,5,6)
score<-c(6,3,8,5,7,4)

summary(lm(score~group*moderator))
summary(aov(score~group*moderator))

summary(lm())为您指定的对比度提供系数,这是此处没有指定说明的处理对比度。当summary(aov())给您anova表时。如果您想要lm模型的方差分析,则需要anova(lm())
Matt Albrecht

group是数值向量,这是故意的吗?通常,分组因子应该具有class factor,这样可以通过诸如之类的函数自动处理对对比度的转换lm()。一旦有两个以上的组,或者对group变量使用0/1以外的编码,这将变得显而易见。
caracal

Answers:


17

summary函数根据对象的类调用不同的方法。区别不在于aovvs lm,而是在于有关模型的信息。例如,如果使用anova(mod1)anova(mod2)替代,你应该得到相同的结果。

正如@Glen所说,关键是报告的测试是基于1型还是3型平方和。当您的解释变量之间的相关性不完全为0时,这些变量将有所不同。当它们相关时,某些SS对一个预测变量是唯一的,而另一些对另一个预测变量却是唯一的,但是某些SS可以归因于其中一个或两个。(您可以想象万事达卡符号(在中心有一个小的重叠区域。)在这种情况下,没有唯一的答案,不幸的是,这是非实验数据的规范。一种方法是让分析师使用他们的判断,并将重叠的SS分配给变量之一。该变量首先进入模型。另一个变量第二次进入模型,并获得SS,它看起来像是被咬了一口的cookie。有时可以通过R 2来测试其效果R2更改或F更改。此方法使用类型1 SS。或者,您可以这样做两次,每次都先进入,然后报告两个预测变量的F变化测试。这样,两个变量都不会由于重叠而获得SS。这种方法使用类型3 SS。(我还应该告诉你,后一种方法是不被重视的。)

遵循下面评论中@BrettMagill的建议,我可以尝试使它更清晰一些。(请注意,在我的示例中,我仅使用了2个预测变量,并且没有交互作用,但是可以将此想法扩大为包括您喜欢的任何对象。)

类型1:SS(A)和SS(B | A)

类型3:SS(A | B)和SS(B | A)


1
这是一个很好的问题描述。您可能会用以下方式澄清一下文本:类型I:SS_A = SS(A)SS_B = SS(B | A)和SS_AB = SS(AB | B,A)类型III:SS_A = SS(A | B,AB )和SS_B = SS(B | A,AB)和SS_AB = SS(AB | A,B)
Brett

1
非常感谢你的帮助。我现在了解这些模型的不同之处,但是我仍然不清楚何时应该使用方差分析或回归模型。我的顾问正在为方差分析提供建议,但是我一直被教导要使用回归,并且我不确定在结果不一致时哪种方法更合适。您是否有任何示例或资源可以建议何时合适?再次感谢您的帮助。
丽贝卡

1
对不起,我不太了解。我的观点是,这些模型实际上并没有什么不同。方差分析是所有定性预测变量的回归。如果您有一个包含连续和定性预测变量的回归模型,并且首先输入连续预测变量,那么定性预测变量(但没有交互作用项)就是ANCOVA。两种方法都很好,因为“幕后”是相同的。我通常将其编码为回归,但这是样式问题。OTOH,如果您的顾问希望它采用ANOVA风格,请选择那条路线,因为没有区别。
gung-恢复莫妮卡

2
一些事情:(3向上)交互并不意味着您的独立变量是相关的,这些只是不同的事情;(2向上)如果模型3显着优于模型2,则是的,这表明交互作用是显着的(因为交互是它们之间唯一的区别);(1起)您要避免仅仅钓鱼就可以产生明显的效果,除非您认为您的研究是一个飞行员,将用于计划随后的验证性研究(在这种情况下,我认为您还可以);我猜想你在所有三个跑了这项研究,以外观,从而与模型3.去
呱-恢复莫妮卡

2
此外,交互作用意味着您不应该解释主要效果,因此仅提出模型1可能会造成危险的误导。如果您想了解有关SS类型的更多信息,我在这里写了一个相当全面的答案:stats.stackexchange.com/questions/20452/… 此外,您应该在某些时候通过单击旁边的复选标记来接受答案之一。其中之一。
gung-恢复莫妮卡

10

aov输出的结果为您提供基于类型1平方和的概率。这就是为什么交互结果相同而主要效果不同的原因。

如果您使用基于类型3平方和的概率,那么它们将与线性回归结果匹配。

library(car)
Anova(aov(score~group*moderator),type=3)

5
当模型检验相同的假设并且因子的参数化等效时,线性模型和ANOVA将等效。所谓的“ I类”和“ III类”之和即为平方,它们是对不同基础假设(平方和的相加与边际和的影响)的简单检验。方差分析倾向于将某些决策隐藏在许多软件包中,这使我相信,通过要素参数化和GLM中的模型比较来实际设置和测试感兴趣的假设是一种更好的方法。
布雷特

+1,不过我认为您有错字。lm使用1型SS,aov使用3型SS。
gung-恢复莫妮卡

2
lm中默认使用III型(边际)平方和。默认情况下,AOV将使用类型I(顺序)。LM结果始终不变,而所有结果均取决于因素的次序。
Brett

我认为lm和aov都默认使用I类型,因此对II和III类型使用大写A Anova()。
马特·阿尔布雷希特

6
一般情况下,Anova(..., type=3)给你正确类型III SS,除非你也从治疗对比(R中默认值)切换到(效果编码无序因子options(contrasts=c("contr.sum", "contr.poly")))或某一其它总和到零对比度代码(例如,赫尔默特)。一旦您拥有不平衡的像元大小和两个以上的组,这将变得显而易见,并且在的帮助页面中也提到了这一点Anova()
caracal

-2

线性回归与ANOVA之间的主要区别在于,在ANOVA中,预测变量是离散的(即它们具有不同的水平)。而在线性回归中,预测变量是连续的。


3
通常情况并非如此。
Michael R. Chernick

我在互联网上的某个地方看过它。您能解释一下主要区别吗?我是新手。
vivek
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.