将重复的实验合并到一个数据集中

机器算法验证 多层次分析
2022-03-31 03:23:26

希望大家不要介意一个基本的问题。

我们正在研究不同浓度的化合物对生物体行为的影响。该化合物在时间进程开始时给药一次。每分钟进行一次观察,持续 2 小时。每个浓度适用于 12 个人。

如果我们对不同的人重复这个实验,结合这两个实验的最佳方法是什么?我们遇到的问题是,尽管来自每个实验的数据的分布和形状非常相似,但按时间绘制的中位数图通常在 exp1 和 exp2 之间显着上移或下移。

毫无疑问,我不擅长统计是非常明显的。如果这个问题需要更多信息才能回答,请告诉我。

谢谢,珍

2个回答

只需将“实验”作为效果添加到您的模型中,这应该可以解释实验之间的变化,并让您在实验中获得增加 N 的能力,以检测浓度和时间的影响。

在 R 中,如果使用 ANOVA 并将时间视为一个因素(例如,不是数字),则执行以下操作:

library(ez)

ezANOVA(
    data = my_data
    , dv = .(my_dv)
    , wid = .(individual)
    , within = .(time)
    , between = .(concentration,experiment)
)

然而,这:

  1. 将实验视为固定效应,而将其视为随机效应可能更合理(感谢Henrik!)
  2. 将时间视为不连续的
  3. 假设跨时间水平的球形

解决所有三个问题的方法是采用混合效应模型。如果您认为时间的影响是线性的,则将时间保留为数值变量并执行以下操作:

library(lme4)

lmer(
    data = my_data
    , formula = my_dv ~ time*concentration+(1|individual)+(1|experiment)
)

如果您认为时间不是线性的,您可以将其转换为一个因子并重复上述操作,或者使用广义加法混合建模:

library(gamm4)
fit <- gamm4(
    data = my_data
    , formula = my_dv ~ time+concentration+s(time,by=concentration,bs='tp')
    , random = ~ (1|individual) + (1|experiment)
)
print(fit$gam)

假设实验只改变时间函数,但让注意力改变时间函数的形状。我很难弄清楚如何可视化单个 gamm4 拟合的结果,所以我通常在固定效应空间中获得拟合模型的预测,然后引导(在你的情况下,在每个实验中对个体进行替换)置信区间围绕这些预测。

此外,以上所有内容都假设残差是高斯的;如果您正在处理任何不同的事情(例如二项式数据),那么您需要更改 lmer 和 gamm4 的“家庭”参数(ezANOVA 除了高斯之外什么都做不了)。

我认为您可以一起分析这两个实验的一种方法是定义一个多级/分层模型个体嵌套在每个实验中。

这种方法的标准是格尔曼的书(我认为)。
2008 年,Journal of Memory and Language 有一个关于分析数据的特刊,其中涵盖了层次模型,甚至包括R.
其他人在这里可能也可以提供很好的网络资源。