我用R来运行一个带有随机拦截的逻辑多级模型。我在用频率法(glmer)。由于研究中心的政策,我无法使用贝叶斯方法。
当我运行我的代码时,它说我的模型是单数的。我不知道为什么或如何解决这个问题。如有任何建议,将不胜感激!
关于我使用的多级模型的更多信息:
我正在使用一种用于交叉性研究的多级建模方法,称为个体异质性和判别精度的多级分析(MAIHDA)。该方法使用单个级别数据作为级别2(交集组),并在其交叉口内嵌套个体。
我的结果是二进制的,我有三个分类变量作为固定的影响(性别,军事地位,和残疾)。随机效应(2级)被称为intersect1,它包括每个分类变量的唯一组合(性别x婚姻x残疾)。
这是代码: MAIHDA_full <- glmer(IPV_pos ~ factor(sexgender) + factor(marital) + factor(disability) + (1|intersect1), data=Data, family=binomial, control=glmerControl(optimizer=”bobyqa”,optCtrl=list(maxfun=2e5)))
发布于 2022-01-12 11:26:48
用混合效应模型进行奇异拟合的通常原因是,随机结构被过度拟合--通常是因为包含随机斜率,或者在这种情况下,我们只有随机拦截,那么拦截的变化非常小,以至于模型无法检测到。
看一下你的模型公式,我怀疑问题是:
随机效应(等级2)被称为intersect1,它包含所有范畴变量(性别、x、婚姻x、残疾)的唯一组合。
如果我正确地理解了这一点,这个模型就相当于:
IPV_pos ~ sexgender + marital + disability + (1 | sexgender:marital:disability)sexgender:marital:disability的任何变化都有可能被固定的效应所捕获,从而导致随机拦截中接近零的变化。
我怀疑如果你不使用任何随机效应,你会得到几乎相同的结果。
https://stackoverflow.com/questions/70675257
复制相似问题