问题描述
我想问一些关于在 Python 中运行 lmer
(线性混合效应回归)模型的问题。
这是我在 lme4
包(在 R 中)中运行的两行(或公式)。有什么办法可以在 Python 中拟合如下模型吗?
TEST1 <- score ~ p1 + p2 + p3 + (1|v1) + (1|v2),data = df,control = lmerControl(boundary.tol = 1e-4,calc.derivs = FALSE))
TEST2 <- score ~ (1|v1) + (1|v2),calc.derivs = FALSE))
解决方法
如果您不需要在 Python 中实际运行模型,则可以直接从 Python 环境中调用和运行 R 中的 LMER 模型。
您可以通过 Rpy2 & rmagic 或通过 Pymer4 执行此操作。这两个选项都允许您在 R 中使用 lme4 包,并可选择从 Python 环境(如 jupyter notebooks)调用它们。
我编写了一个教程,介绍如何使用此处提供的示例执行此操作:https://towardsdatascience.com/how-to-run-linear-mixed-effects-models-in-python-jupyter-notebooks-4f8079c4b589
正如 EJJ 所指出的,在 Python 中有 LMER 的实现,例如 statsmodels 和 Tensorflow,但它们的使用似乎不如上述方法直观。