给定三个变量y
和x
,它们是正连续的,而和z
是分类的,我有两个候选模型,分别为:
fit.me <- lmer( y ~ 1 + x + ( 1 + x | factor(z) ) )
和
fit.fe <- lm( y ~ 1 + x )
我希望比较这些模型,以确定哪种模型更合适。在我看来,从某种意义上讲,它fit.fe
是嵌套的fit.me
。通常,当这种一般情况成立时,可以执行卡方检验。在中R
,我们可以使用以下命令执行此测试,
anova(fit.fe,fit.me)
当两个模型包含随机效应(通过生成lmer
从所述lme4
包),则anova()
命令工作正常。由于边界参数的存在,通常建议通过仿真测试所得的卡方统计量,尽管如此,我们仍可以在仿真过程中使用该统计量。
当两个模型都只包含固定效果时,此方法(以及相关的anova()
命令)可以正常工作。
但是,当一个模型包含随机效应而精简模型仅包含固定效应时,如上述情况一样,该anova()
命令将不起作用。
更具体地说,出现以下错误:
> anova(fit.fe, fit.me)
Error: $ operator not defined for this S4 class
从上方使用Chi-Square方法(模拟)有什么问题吗?还是这仅仅是anova()
不知道如何处理由不同函数生成的线性模型的问题?
换句话说,手动生成从模型得出的卡方统计量是否合适?如果是这样,比较这些模型的适当自由度是多少?据我估计:
未知常量,但对于混合效果,它们被视为未知的随机变量。在此问题上,我将提供一些帮助。
最后,是否有人有比较合适的(R
基于-的)解决方案来比较这些模型?
lm()
与gls()
从nlme
包装,并lmer()
有lme()
(再次从nlme
包中),一切都将正常工作。但是请注意,您会得到一个保守的测试(p值太大),因为较简单模型的参数在参数空间的边界上。实际上,是否包括随机效应的选择应基于理论(例如抽样计划),而不是基于统计检验。