【问题标题】:nlminb problem, convergence error code = 1 message = iteration limit reached without convergence (10)nlminb 问题,收敛错误代码 = 1 条消息 = 没有收敛就达到迭代限制 (10)
【发布时间】:2021-09-08 07:46:45
【问题描述】:

我正在尝试使用 R 中的 library(nlme)lme 函数找到最适合我的数据的模型。这是斜率固定时的模型:

FixedRopeLength <- lme(EnergyCost~ RopeLength, 
  data = data, 
  random=~1|Subject, method = "ML")
summary(FixedRopeLength)

为了查看随机斜率是否比固定斜率提供更好的模型,我让斜率在整个主题中变化如下:

RandomRopeLength <- lme(EnergyCost~RopeLength,
 data = data, 
 random=~RopeLength|Subject, method = "ML")
summary(RandomRopeLength)

但是,我收到了这个错误:

lme.formula 中的错误(EnergyCost ~ RopeLength,数据 = 数据,随机 = ~绳长 | : nlminb 问题,收敛错误码 = 1
message = 没有收敛就达到迭代限制 (10)

有什么办法吗??

【问题讨论】:

    标签: r mixed-models nlme


    【解决方案1】:

    ?lme 表明有一个control 参数,它将您重定向到?lmerControl,从而为您提供

    msMaxIter:优化步骤的最大迭代次数 在“lme”优化中。默认为“50”。

    msMaxEval:目标函数的最大评估次数 允许用于 nlminb。默认为“200”。

    这些对应于来自?nlminbeval.maxiter.max。由于我不确定其中哪一个是问题所在,我会重新运行模型

    control = lmeControl(msMaxIter = 1000, msMaxEval = 1000)
    

    但是,我会警告您,一旦您遇到默认参数设置的数值问题,调整参数设置可能只会导致其他问题更进一步...

    【讨论】:

      【解决方案2】:

      非常感谢您的帮助。您的代码有效。我只需要根据 lme 函数证明您的代码的合理性。以下是可用于上述错误的代码:

      RandomRopeLength

      谢谢!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-07
        • 2023-03-13
        • 1970-01-01
        • 2022-04-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多