我在R中运行一个混合模型,但是我在理解我应该为我拥有的数据运行的模型类型时遇到了一些困难。
让我们将因变量称为计算机化实验中早期按下按钮的次数。一个实验是由多个实验组成的。在每个试验中,参与者必须按下一个按钮来对屏幕上出现的目标做出反应。然而,他们可能过早地按下按钮,这是作为结果变量来衡量的。因此,例如,参与者A可能在整个试验中总共有3次提前按钮按下,而参与者B可能有15次。
在使用R中的lm命令的简单线性回归模型中,我认为这个结果是一个连续的数值变量。还有..。这是参与者在实验中打分的数字。然而,我不是试图运行线性回归,我是试图运行具有随机效果的混合模型。我对R中混合模型的理解是,模型采用的数据格式应该结构化,以显示每个试验的每个参与者。当数据在试验级别像这样构造时,我的结果列中突然有了很多1和0。当然,在试用级别,参与者可能会意外地过早按下按钮,得分为1,或者没有按下按钮,得分为0。
这听起来像是需要被认为是绝对的东西吗?如果是这样,那么是否会通过glmer函数将其设置为二项式?
谢谢
发布于 2020-06-25 03:54:34
正如Martin开始的那样,这个问题似乎更像是一个交叉验证问题。但我会在这里加入我的2分钱。
这个问题通常会变成你对实验感兴趣的东西,以及你是否有理由相信你的模型中存在随机效应。在您的示例中,您有两种可能的随机影响:个人和试验。在经典的随机效果模型中,随机效果的选择通常基于一系列经验法则,例如
如果参数可以被认为是随机的,则为
还有其他一些经验法则,但这至少给了我们一个开始的地方。下一个问题变成了我们真正感兴趣的效果。在您的情况下,它不是很清楚,但听起来您对以下内容之一感兴趣。
在任何给定的试用中,我们可以预期提前按下按钮的次数
是指在任何给定的试用过程中,提前按下按钮的概率
对于前2个,你可以从个人或试验的平均中受益,并使用线性混合效应模型,并将对方部分作为随机效应。虽然我认为泊松广义线性模型可能是更好的拟合,因为您正在建模的计数只能是正的。例如:在相当普遍的意义上使用:
#df is assumed contain raw data
#1)
df_agg <- aggregate(. ~ individual, data = df)
lmer(early_clicks ~ . - individual + (1 | individual)) #or better: glmer(early_clicks ~ . - individual + (1 | individual), family = poisson, data = df_agg)
#2)
df_agg <- aggregate(. ~ trial, data = df)
lmer(early_clicks ~ . - trial+ (1 | trial)) #or better: glmer(early_clicks ~ . - trial+ (1 | trial), family = poisson, data = df_agg)
#3)
glmer(early_clicks ~ . + (1 | trial) + (1 | individual), family = binomial, data = df)请注意,我们可以使用3)来获得1)和2)的答案,方法是使用3)预测概率,并使用这些概率来找到预期的early_clicks。然而,人们可以从理论上证明线性混合模型中使用的估计方法是精确的,而这对于广义线性模型是不可能的。因此,所有模型之间的结果可能略有不同(或相当大)。特别是在3)随机效应的数量与观察值的数量相比可能是相当可观的,在实践中可能是不可能估计的。
免责声明
我只是非常简短地复习了一些原则,虽然它们可能是非常简短的介绍,但它们绝不是详尽的。在过去的15 - 20年里,混合效应模型的理论和实践方面都有了很大的发展。如果你想了解更多关于混合效果模型的信息,我建议从ben bolker (和其他人)的glmm faq side开始,并在那里列出参考资料。对于评估和实现,我建议阅读lme4、glmmTMB和可能的merTools包的小插曲。glmmTMB是一个更新、更有趣的项目。
https://stackoverflow.com/questions/62469170
复制相似问题