如何在此混合线性回归分析中保持 'Time' 和 'Group'

How to keep 'Time' and 'Group' in this mixed linear regression analysis

我有以下学习成果: 取两组小鼠:group A(接受药物 A)和 group B(接受药物 B)。 Weightbaselineafter 1 month 进行了测试。 因此,数据排列如下:

ID      Group       Time        Weight
1       A           basal       25          
1       A           1month      28
2       B           basal       29
2       B           1month      28
...
...

我想确定 A 组和 B 组的体重变化是否不同。

我从本页的类似示例中获取了代码:https://scientificallysound.org/2017/08/24/the-likelihood-ratio-test-relevance-and-application/

如何为我的研究进行混合线性回归。我有两个选择:

md = smf.mixedlm("Weight ~ Group", data, groups=data["Time"])
mdf = md.fit(reml=False)
print(mdf.summary())

或:

md = smf.mixedlm("Weight ~ Time", data, groups=data["Group"])
mdf = md.fit(reml=False)
print(mdf.summary())

或者我只是做线性回归? 这里还有2个选项:

`"Weight ~ Time + Group"` 

`"Weight ~ Time + Group + Time*Group"` ?

注意:以上代码需要import statsmodels.formula.api as smf

您可以使用 difference-in-difference 技巧来达到您想要的结果。

为组变量创建一个虚拟变量(即 -> 1 如果组 == B,0 如果组 == A)。 然后为采样时间创建另一个虚拟变量(基线为 0,治疗后为 1)。

那么你的第三个选项将正常工作以获得时间*组交互变量的系数。

我猜你比我更懂怎么写代码,但是从统计上来说,第三种解法肯定是你要找的,为了监督你的学习效果

编辑-明确地说,第三个选项是(重量~组+时间+组*时间)

在处理包含固定效应的面板数据集时,我可能会使用混合模型。使用混合回归,您可以克服从所谓的随机或不同分布(例如,某个数据集可以在不同国家和不时以不同方式分布)中抽样的数据所产生的问题。根据我的经验,这种情况在处理面板数据集时最为常见。 根据您的需要,我肯定会使用 diff-in-diff 模型,因为时间和组之间的差异是您想要衡量的。 (并且不要试图抵消它的影响)。