我使用 lme4
R包使用 lmer()
函数创建线性混合模型 . 在这个模型中,我有四个随机效果和一个固定效果(拦截) . 我的问题是关于随机效应的估计方差 . 是否可以以与 SAS
中 PARMS
参数相同的方式指定协方差参数的初始值 .
在以下示例中,估计的差异为:
c(0.00000, 0.03716, 0.00000, 0.02306)
我想修复这些(例如)
c(0.09902947, 0.02460464, 0.05848691, 0.06093686)
所以没有估计 .
> summary(mod1)
Linear mixed model fit by maximum likelihood ['lmerMod']
Formula: log_cumcover_mod ~ (1 | kildestationsnavn) + (1 | year) + (1 |
kildestationsnavn:year) + (1 | proevetager)
Data: res
AIC BIC logLik deviance df.resid
109.9 122.9 -48.9 97.9 59
Scaled residuals:
Min 1Q Median 3Q Max
-2.1056 -0.6831 0.2094 0.8204 1.7574
Random effects:
Groups Name Variance Std.Dev.
kildestationsnavn:year (Intercept) 0.00000 0.0000
kildestationsnavn (Intercept) 0.03716 0.1928
proevetager (Intercept) 0.00000 0.0000
year (Intercept) 0.02306 0.1518
Residual 0.23975 0.4896
Number of obs: 65, groups:
kildestationsnavn:year, 6; kildestationsnavn, 3; proevetager, 2; year, 2
Fixed effects:
Estimate Std. Error t value
(Intercept) 4.9379 0.1672 29.54
1 回答
这有可能,如果有点hacky . 这是一个可重复的例子:
适合原始型号:
恢复偏差(在本例中为REML标准)功能:
我要将标准偏差设置为零,以便我可以比较一些东西,即常规线性模型的系数 . (
dd
的参数向量是一个向量,包含模型中缩放随机效应项的逐列,低三角,连续的Cholesky因子 . 幸运的是,如果你只有标量/截距的随机效应(例如(1|x)
) ,然后这些对应于随机效应标准偏差,由模型标准偏差缩放) .火柴:
如果你想构造一个新的
merMod
对象,你可以按如下方式进行...现在假设我们想要将方差设置为特定的非零值(比如说(700,30)) . 由于剩余标准偏差的缩放,这将有点棘手......
所以这并没有让我们到达我们想要的位置(因为剩余方差会发生变化......)
顺便说一下,当分组变量的数量非常小(例如<5或6)时,通常不建议使用随机效应:参见here ...