nlme 和 nlmer 中的不同随机效应

机器算法验证 多层次分析 非线性回归 随机效应模型 lme4-nlme
2022-03-25 08:04:40

我估计了一个非线性指数f(t)=α(αβ)exp(γt)中的随机效应模型R我使用相同的数据集估计了相同的模型形式,但nlme()来自nlme库和nlmer()lme4

nlme与以下相比,固定效应估计值非常相似nlmer

名词:

Fixed effects: alpha + beta + gamma ~ 1 
          Value Std.Error   DF  t-value p-value
alpha 29.508227 0.4166492 3498 70.82272       0
beta   5.082116 0.1584696 3498 32.06998       0
gamma  0.313008 0.0070209 3498 44.58244       0

纳尔默:

Fixed effects:
      Estimate Std. Error t value
alpha  30.0432     0.5432   55.31
beta    4.9541     0.2110   23.47
gamma   0.2551     0.0135   18.90

但是,随机效应估计及其相关矩阵是不同的。这是一个一致的发现。它也适用于其他非线性函数和其他数据。参见例如 alpha 和 gamma 之间的相关性。差异之大也令人惊讶nlmer——它们实际上似乎太大了

名词:

> VarCorr(model)
Subject = pdLogChol(list(alpha ~ 1,beta ~ 1,gamma ~ 1)) 
         Variance    StdDev   Corr         
alpha    42.19955753 6.496119 alpha  beta  
beta      4.84969745 2.202203  0.494       
gamma     0.01055961 0.102760 -0.643  0.202
Residual  1.94836594 1.395839 

纳尔默:

Random effects:
 Groups   Name  Variance  Std.Dev. Corr          
 Subject  alpha 72.551249 8.51770                
          beta   9.840010 3.13688   0.458        
          gamma  0.043274 0.20802  -0.195  0.142 
 Residual        1.716048 1.30998                
Number of obs: 3750, groups: Subject, 250

这里有什么问题?为什么方差nlmer几乎是解决方案中给出的方差的两倍nlme

1个回答

简短: nlmer 缺乏精确度

为了获得与 nlme 相同的结果,我需要离开设置为 nAGQ=1 的拉普拉斯近似值。根据 nlmer 联机帮助页,nAGQ 设置每个轴的点数,以评估自适应高斯-厄米特近似。基本上,增加每个轴的点数会提高精度。

当 nAGQ=2 时,随机效应和固定效应实际上是相同的——正如 John 所指出的,固定效应的 SD 也是如此。在目前的情况下,将 nAGQ 增加到 2 或 3 可以解决问题,但是,较大的数字会减慢计算速度,并且可能会在没有收敛的情况下达到迭代限制。

我认为使用标准设置运行模型然后返回并提高精度以查看参数估计值是否变化以及有多强是一种很好的做法。

对于目前的模型,它需要

  • 10 秒,nAGQ=1
  • 22 秒,nAGQ=2
  • 24,nAGQ=3

nAGQ=4 在给定的迭代中不收敛。就我而言,从 nAGQ=2 和 nAGQ=3 获得的结果是相同的。

作为对比,

  • 在 nlme 中需要 3.8 秒

获得结果,我觉得这很令人惊讶,因为过去我的印象是 nlmer 比 nlme 快。

底线:使用 nlme 可能更安全,只要 lme4 和它一起 nlmer 正在开发中。