有一个奇怪的问题,给定2个数据集具有相同的精确格式,2个模型以完全相同的方式指定不产生相同的随机效果结构。数据的设计使得每个有48个独特的主题,每个主题在4个条件下具有单个观察。结果变量是'dv'列,预测变量是'cond'列,分组变量是'sub'列。
第一个模型按预期运行,主题级随机截距,使用coef(模型)检查,而另一个假设所有主体的固定截距。尽管事实上两个模型的指定相同。没有收敛,或方差问题警告和主题实际上有不同的手段(所有4个条件的平均响应),因此拦截应该有所不同。
取出数据集的前33行(条件0中的前33个主题)使lme4正确计算随机截距。我似乎无法将其与一个奇怪的数据点隔离开来,并且所有类型和代码在模型之间都是相同的。完全坚持为什么一个奇怪的数据点(如果这真的是问题)应该混淆lme4如何计算随机效应。
请参阅下面的代码以重现以下数据文件的问题: data files (zip)
library('lme4')
data_dir = '/Path/to/data/dir/'
#Load in data and set types
goodDat = read.csv(paste(data_dir,'ROI_2_noX.csv',sep=""))
goodDat$dv <-as.numeric(goodDat$dv)
goodDat$cond <- as.factor(goodDat$cond)
#4 levels make the first the reference
goodDat$cond <- relevel(goodDat$cond,ref="0");
goodDat$sub <- as.factor(goodDat$sub)
#Same for bad example
badDat = read.csv(paste(data_dir,'ROI_3_noX.csv',sep=""))
#badDat = badDat[34:192,] #This works! uncomment it to see the proper random effects in the second model
badDat$dv <-as.numeric(badDat$dv)
badDat$cond <- as.factor(badDat$cond)
#4 levels make the first the reference
badDat$cond <- relevel(badDat$cond,ref="0");
badDat$sub <- as.factor(badDat$sub)
#Good model with expected random intercepts for subjects
model = lmer('dv~cond + (1|sub)',data=goodDat)
summary(model)
coef(model)
#Bad model with no subject random intercepts
model = lmer('dv~cond + (1|sub)',data=badDat)
summary(model)
coef(model)
答案 0 :(得分:0)
在某些情况下,lmer
参数的数值估计可能会有问题。使用lmerControl
或更改优化算法更改优化算法的参数可能是解决问题的好方法。
下面我尝试使用badDat
优化器在包lme
中使用nlme
函数估算optim
上的混合效果模型的参数:
library(nlme)
model2 = lme(fixed = dv ~ cond, random = ~ 1 | sub, data=badDat,
control=lmeControl(opt="optim"))
summary(model2b)
#####################
Linear mixed-effects model fit by REML
Data: badDat
AIC BIC logLik
522.909 542.3277 -255.4545
Random effects:
Formula: ~1 | sub
(Intercept) Residual
StdDev: 0.008620485 0.9036019
Fixed effects: dv ~ cond
Value Std.Error DF t-value p-value
(Intercept) 0.19443385 0.1304296 141 1.4907183 0.1383
cond1 -0.00074922 0.1844470 141 -0.0040620 0.9968
cond2 0.15675844 0.1844470 141 0.8498835 0.3968
cond3 0.19542024 0.1844470 141 1.0594928 0.2912
Correlation:
(Intr) cond1 cond2
cond1 -0.707
cond2 -0.707 0.500
cond3 -0.707 0.500 0.500
Standardized Within-Group Residuals:
Min Q1 Med Q3 Max
-3.9838652 -0.6574260 -0.0112212 0.6733073 3.8501157
Number of Observations: 192
Number of Groups: 48
估计的随机截距非常相似,但不像以前那样全部相同:
coef(model2b)
################
(Intercept) cond1 cond2 cond3
4 0.1943937 -0.0007492168 0.1567584 0.1954202
5 0.1942458 -0.0007492168 0.1567584 0.1954202
6 0.1944388 -0.0007492168 0.1567584 0.1954202
7 0.1943862 -0.0007492168 0.1567584 0.1954202
10 0.1945275 -0.0007492168 0.1567584 0.1954202
11 0.1943091 -0.0007492168 0.1567584 0.1954202
12 0.1943333 -0.0007492168 0.1567584 0.1954202
13 0.1941818 -0.0007492168 0.1567584 0.1954202
14 0.1942539 -0.0007492168 0.1567584 0.1954202
15 0.1947154 -0.0007492168 0.1567584 0.1954202
我希望这可以帮到你。