在线性混合模型中使用既固定又随机的因子
Using a factor as both fixed and random in linear mixed models
我想知道同时使用固定和随机因素是否可以接受。我的理解是这不是一般做法。
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3881361/
http://avesbiodiv.mncn.csic.es/estadistica/curso2011/regm26.pdf
在下面的模型中,我使用 Sp
作为固定因子和随机因子,我的模型没有收敛。
Model1 <- lmer (C1 ~ Place*Voicing*Length*Sp +
(1+Place+Voicing+Length|Sp),data =
C1,control=lmerControl(optCtrl=list(maxfun=50000)))
anova (Model1)
str(LME_Model1)
$ Sp : Factor w/ 5 levels
$ Place : Factor w/ 3 levels
$ Voicing : Factor w/ 2 levels
$ Length : Factor w/ 2 levels
Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
unable to evaluate scaled gradient
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge: degenerate Hessian with 4 negative eigenvalues
如果我从固定因素中排除 Sp
,那么模型会收敛。
有人可以解释一下是否可以使用 Sp
作为固定因子吗?
你要拟合的模型理论上可以,但实际操作起来比较难。
更准确地说,当您说 "include a factor as both fixed and random" 时,您的意思是 "include a factor as both fixed and *as a term within a particular grouping variable"。我通常会将 "include g
as a a random effect" 解释为 "include g
as a random effect grouping variable",即 (1|g)
.
当您在模型中包含 (1+Place+Voicing+Length|Sp)
时,您假设的是 Place
、Voicing
和 Length
的效果允许在不同级别上有所不同分组变量 (Sp
)。鉴于您正在使用 randomized block design(Sp
的每个或至少大多数水平对 Place
、Voicing
的所有或大多数水平都有观察, Length
),这种可变性理论上是可估计的。
但是......如果您想估计所有这些可变性,您通常需要进行大型实验。假设Place
、Voicing
、Length
分别有m1
、m2
、m3
级。 lme4
假设特定分组变量包含的所有项都可以共变;这意味着您将估计具有 1+m1+m2+m3-3 = m1+m2+m3-2
行和列的方差-协方差矩阵(不同的效应共享一个截距项),或者总共 (m1+m2+m3-2)*(m1+m2+m3-1)/2
个方差-协方差参数 - 最少 10 ,如果它们都是两级因子。
当混合模型理论上可识别但实际上您没有足够的数据来拟合最大模型时,关于正确程序的争论很多。给出了一些讨论 here。您可以拟合最大模型并以某种合理的顺序丢弃项,直到它不再被过度指定为止;使用贝叶斯方法,指定先验来规范模型;尝试在更简单的模型上决定先验 ...
我想知道同时使用固定和随机因素是否可以接受。我的理解是这不是一般做法。
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3881361/
http://avesbiodiv.mncn.csic.es/estadistica/curso2011/regm26.pdf
在下面的模型中,我使用 Sp
作为固定因子和随机因子,我的模型没有收敛。
Model1 <- lmer (C1 ~ Place*Voicing*Length*Sp +
(1+Place+Voicing+Length|Sp),data =
C1,control=lmerControl(optCtrl=list(maxfun=50000)))
anova (Model1)
str(LME_Model1)
$ Sp : Factor w/ 5 levels
$ Place : Factor w/ 3 levels
$ Voicing : Factor w/ 2 levels
$ Length : Factor w/ 2 levels
Warning messages:
1: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
unable to evaluate scaled gradient
2: In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
Model failed to converge: degenerate Hessian with 4 negative eigenvalues
如果我从固定因素中排除 Sp
,那么模型会收敛。
有人可以解释一下是否可以使用 Sp
作为固定因子吗?
你要拟合的模型理论上可以,但实际操作起来比较难。
更准确地说,当您说 "include a factor as both fixed and random" 时,您的意思是 "include a factor as both fixed and *as a term within a particular grouping variable"。我通常会将 "include g
as a a random effect" 解释为 "include g
as a random effect grouping variable",即 (1|g)
.
当您在模型中包含 (1+Place+Voicing+Length|Sp)
时,您假设的是 Place
、Voicing
和 Length
的效果允许在不同级别上有所不同分组变量 (Sp
)。鉴于您正在使用 randomized block design(Sp
的每个或至少大多数水平对 Place
、Voicing
的所有或大多数水平都有观察, Length
),这种可变性理论上是可估计的。
但是......如果您想估计所有这些可变性,您通常需要进行大型实验。假设Place
、Voicing
、Length
分别有m1
、m2
、m3
级。 lme4
假设特定分组变量包含的所有项都可以共变;这意味着您将估计具有 1+m1+m2+m3-3 = m1+m2+m3-2
行和列的方差-协方差矩阵(不同的效应共享一个截距项),或者总共 (m1+m2+m3-2)*(m1+m2+m3-1)/2
个方差-协方差参数 - 最少 10 ,如果它们都是两级因子。
当混合模型理论上可识别但实际上您没有足够的数据来拟合最大模型时,关于正确程序的争论很多。给出了一些讨论 here。您可以拟合最大模型并以某种合理的顺序丢弃项,直到它不再被过度指定为止;使用贝叶斯方法,指定先验来规范模型;尝试在更简单的模型上决定先验 ...