给定三个变量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
从上面使用卡方方法(通过模拟)有什么问题吗?或者这仅仅是一个anova()
不知道如何处理不同函数生成的线性模型的问题?
换句话说,手动生成从模型派生的卡方统计量是否合适?如果是这样,比较这些模型的适当自由度是多少?据我估计:
我们正在估计固定效应模型中的两个参数(斜率和截距)和混合效应模型中的另外两个参数(随机斜率和随机截距的方差参数)。通常,截距参数不计入自由度计算中,因此这意味着和;话虽如此,我不确定随机效应参数的方差参数是否应包含在自由度计算中;不考虑固定效应参数的方差估计,但我认为这是因为固定效应的参数估计被假定为未知常数,而它们被认为是不可知的随机变量混合效果。我希望能在这个问题上提供一些帮助。
最后,是否有人有更合适的(R
基于 - 的)解决方案来比较这些模型?