我最近阅读了一篇论文,其中一位学者比较了两种相互竞争的投票理论模型。他所做的一项高级诊断测试是尝试看看其中任何一个模型是否可以“正式包含彼此”。他能够解释结果的方式是比较将 M1 添加到 M2 与将 M2 添加到 M1 时残余偏差或 AIC 的减少。
我一直在快乐地尝试在 R 中做到这一点。有人对包含测试有任何经验吗?实际上,我试图做的只是比较两个非嵌套模型。除了控制变量之外,模型完全不同,因此 anova(m1, M2) 不起作用。
任何人都可以建议或建议如何进行吗?
我最近阅读了一篇论文,其中一位学者比较了两种相互竞争的投票理论模型。他所做的一项高级诊断测试是尝试看看其中任何一个模型是否可以“正式包含彼此”。他能够解释结果的方式是比较将 M1 添加到 M2 与将 M2 添加到 M1 时残余偏差或 AIC 的减少。
我一直在快乐地尝试在 R 中做到这一点。有人对包含测试有任何经验吗?实际上,我试图做的只是比较两个非嵌套模型。除了控制变量之外,模型完全不同,因此 anova(m1, M2) 不起作用。
任何人都可以建议或建议如何进行吗?
如果您有两个具有不同回归量的相互竞争的线性模型,请说:
m1 <- lm(y ~ x1 + x2, data = ...)
m2 <- lm(y ~ z1 + z2, data = ...)
那么包含模型是
m12 <- lm(y ~ x1 + x2 + z1 + z2, data = ...)
并且包含测试比较
anova(m1, m12)
anova(m2, m12)
“希望”是其中一个模型 ( m1
, m2
) 明显比包含模型差,m12
而另一个则不然。那么,没有明显更糟的那个会更好。但是,可能会发生两种模型都比m12
单独的模型都不能完全令人信服的情况要差得多的情况。
如果你想要一个方便的函数在 R 中执行这个测试,你可以使用包中的encomptest()
函数lmtest
:
encomptest(m1, m2)
该软件包还为非嵌套模型比较提供了其他测试,例如jtest()
和coxtest()
。
有不同的包含测试。我将为您举一个包含测试的预测示例,来自 Michael P. Clements、David F. Hendry 编辑的“经济预测的伴侣”,请参见第 302 页的方程 (14.2)。
假设您有竞争预测和, 和实际观察. 运行回归:
在下面:模型 1 包含模型 2,你有和. 这是一个简单的线性限制测试,可以在 R 或任何其他 stat 包中轻松完成。请注意,您不需要了解有关模型、它们的自变量等的任何信息。您所需要的只是它们的预测和实际观察。