给定三个变量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值太大),因为较简单模型的参数在参数空间的边界上。实际上,是否包括随机效应的选择应基于理论(例如抽样计划),而不是基于统计检验。