lmer()可以将样条曲线用作随机效果吗?


19

假设我们正在研究随时间推移一些计数数据的随机效应模型,并且我们希望控制某些趋势。通常,您会执行以下操作:

lmer(counts ~ dependent_variable + (1+t+I(t^2)|ID), family="poisson")

为包括二次形状t。是否可以使用一些更复杂的平滑技术(如LOESS平滑器或样条线)来建立这种关系的模型?

Answers:


25

如果显示的结果适用于lmer随机效应项的公式,则您应该能够使用R附带的样条程序包中的函数来设置相关的基础函数。

require("lme4")
require("splines")
lmer(counts ~ dependent_variable + (bs(t) | ID), family="poisson")

根据您要执行的操作,您还应该查看gamm4软件包和mgcv软件包。前者实质上是将上述调用中的bs()位形式化lmer(),并允许将平滑度选择作为分析的一部分来执行。后者具有功能,gam()可以在拟合这样的模型时提供一定程度的灵活性(如果我了解您要执行的操作)。看来您想要内在的独立趋势ID?一种更固定的效果方法将类似于:

gam(counts ~ dependent_variable + ID + s(t, by = ID) , family="poisson")

可以gam()使用示例中的s(foo, bs = "re")类型术语foo将随机效应包括在模型ID中。将by术语“想法”与“随机效应” 相结合是否有意义,是要考虑的问题,而不是我有资格评论的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.