lme 和 lmer 比较

机器算法验证 r 混合模式 lme4-nlme
2022-02-07 22:11:19

我想知道是否有人可以启发我了解这两个功能之间的当前差异。我发现了以下问题:如何为混合效果模型选择 nlme 或 lme4 R 库?,但那是几年前的事了。这是软件界的一生。

我的具体问题是:

  • 是否(仍然)有任何相关结构lme无法lmer处理?
  • 是否可以/推荐lmer用于面板数据?

抱歉,如果这些有点基本。

更详细一点:面板数据是我们在不同时间点对同一个人进行多次测量的地方。我通常在商业环境中工作,在那里您可能拥有多年重复/长期客户的数据。我们希望允许随时间变化,但显然为每个月或每年拟合一个虚拟变量是低效的。但是,我不清楚是否lmer适合此类数据的工具,或者我是否需要具有的自相关结构lme

2个回答

2016 年 6 月更新:

请参阅 Ben 的博客条目,描述他目前对完成此任务的想法lme4Braindump 2016 年 6 月 1 日

如果您更喜欢贝叶斯方法,该brms软件包brm支持一些相关结构:CRAN brms page(特别注意:“从 brms 版本 0.6.0 开始,AR 结构是指残差的自回归效应,以匹配 nlme 等其他包中的命名和实现。以前,brms 中的 AR 术语指的是响应的自回归效应。后者现在被命名为 ARR 效果,可以使用 cor_arma 和 cor_arr 函数中的参数 r 进行建模。")


2013 年 7 月的原始答案:

(从评论转换。)

我会说lmer年份的随机效应和客户的随机效应会很好(假设您每年每个客户只有一次测量);

lmer(y~1 + (1|year) + (1|customer), ...)

适合(仅拦截)模型

YijNormal(a+ϵyear,i+ϵcustomer,j,σ02)
其中是具有自己特定方差的零均值正态变量。ϵyearϵcustomer

这是一个非常无聊的模型,您可能想要添加一个整体(固定效应)时间趋势,并考虑一个随机的客户交互时间(即随机斜率)。我认为

lmer(y~year + (1|year) + (year|customer), ...)

应该适合模型

YijNormal((a+ϵcustomer,j)+(b+ϵyear×customer,j)year+ϵyear,i,σ02)

year以这种方式使用是在同一模型中不包括输入变量作为拟合效应和随机效应的常规规则的一个例外;如果它是一个数字变量,则在固定效应和(随机)year中被视为连续year:customer交互作用和随机效应中的分类...)

当然,您可能想要添加年份级别、客户级别和观察级别的协变量,这些协变量会吸收一些相关的方差(例如,添加平均消费者价格指数来解释为什么年份不好或好......)

理想情况下,您还希望在每个客户的时间序列中允许时间自相关,这目前是不可能的lmer,但您可以检查时间自相关函数,看看这是否重要......

警告:我对处理面板数据的标准方法知之甚少;这仅基于我对混合模型的了解。如果这似乎违反了计量经济学中的标准/最佳实践,评论者(或编辑)应该随时提出意见。

直接回答您的问题,请注意,这是原帖发布后的几年!

  • 是的,仍然有 nlme 处理的相关结构,而 lme4 不会处理。但是,只要 nlme 允许用户定义一般的 corstrs 而 lme4 不允许,情况就会如此。这几乎没有实际影响。“三巨头”相关结构:独立、可交换和 AR-1 相关结构很容易被这两个包处理。

  • 这当然是可能的也可以使用该功能拟合面板数据lm我关于使用哪个的建议取决于问题。lme4是一个小得多的工具包,公式表示是描述一些非常常见的混合效果模型的简洁明了的方式。nlme是一个非常大的工具箱,包括一个 TIG 焊机,可以制作您需要的任何工具。

你说你想允许“随时间变化”。本质上,可交换的相关结构实现了这一点,允许在每个集群中进行随机截距,因此集群内方差是集群级别变化以及(您所说的)随时间变化的总和。这绝不会阻止您使用固定效应来获得更精确的预测。