将随机项添加到glmer混合效应模型中;错误消息:无法收敛

时间:2019-07-22 21:06:04

标签: r lme4 random-effects

我正在分析来自实验的数据,这些数据会及时复制,在其中我测量了土壤表面的植物出苗率。我进行了3次实验,用术语trialnum表示,并希望将trialnum包括在内,作为随机效果。

以下是涉及的变量的摘要:

data.frame: 768 obs. of  9 variables:
 $ trialnum : Factor w/ 2 levels "2","3": 1 1 1 1 1 1 1 1 1 1 ...
 $ Flood    : Factor w/ 4 levels "0","5","10","15": 2 2 2 2 2 2 1 1 1 1 ...
 $ Burial   : Factor w/ 4 levels "1.3","2.5","5",..: 3 3 3 3 3 3 4 4 4 4 ...
 $ biotype  : Factor w/ 6 levels "0","1","2","3",..: 1 2 3 4 5 6 1 2 3 4 ...
 $ soil     : int  0 0 0 0 0 0 0 0 0 0 ...
 $ n        : num  15 15 15 15 15 15 15 15 15 15 ...

其中trialnum是实验运行,FloodBurialbiotype是输入/独立变量,而soil是响应/独立变量

我以前使用所有输入变量创建了此模型:

glmfitALL <-glm(cbind(soil,n)~trialnum*Flood*Burial*biotype,family = binomial(logit),total)`

通过此模型,我发现通过运行

anova(glmfitALL, test = "Chisq")

trialnum很重要。有3个实验运行,我只分析了其中2个。建议我将trialnum作为随机效果使用,这样我就不必单独报告实验运行了。

为此,我创建了以下模型:

glmerfitALL <-glmer(cbind(soil,n)~Flood*Burial*biotype + (1|trialnum), 
data = total, 
family = binomial(logit), 
control = glmerControl(optimizer = "bobyqa"))

由此,我收到以下错误消息:

maxfun < 10 * length(par)^2 is not recommended. Unable to evaluate scaled gradientModel failed to converge: degenerate Hessian with 9 negative eigenvalues

我尝试过多种方式运行此模型,包括:

glmerfitALL <-glmer(cbind(soil,n)~Flood*Burial*biotype*(1|trialnum), 
data = total, 
family = binomial(logit), 
control = glmerControl(optimizer = "bobyqa"))

以及合并REML=FALSE并使用optimx代替bobyqa,但是所有重复都导致了类似的错误消息。

  1. 因为这是一个“特征值”错误,是否表示我的源文件/原始数据有问题?

  2. 我还找到了与lmer4错误消息有关的先前线程(很抱歉,我没有保存链接),并且看到一些注释由于缺乏随机效应的重复性而引起了问题。因为我只有两个副本trialnum2trialnum3,所以我什至可以随机运行trialnum吗?

1 个答案:

答案 0 :(得分:0)

关于特征值,对此的主要建议是centring and/or scaling predictors

关于RE组,five are an approximate minimum附近。