我不确定这是否是问这个问题的最佳地点,所以如果不是,请告诉我,
然而,我使用StatsModels
创建了一个混合效应模型,该模型评估了因子预测因子和连续因变量之间的关系,并考虑了群体效应。
model = smf.mixedlm("continuous_dv ~ factored_predictor", df, groups=df['group'])
挑战在于,底层数据有一个偏斜的正态分布,我不确定如何在Python中使用该分布来拟合混合模型?
在R中有一个包skewlmm
可以实现这一点,我想知道Python中的对应程序是什么(如果存在的话?(。
我已经看到以下链接
SciPy偏正态拟合
以及类似的例子,它们展示了如何通过使用skewnormfit()
将数据拟合到偏斜正态分布
如有任何建议或指示,我们将不胜感激!
看起来这有一些潜力-R包brms
的Python接口,它可以适应具有偏斜正态分布的贝叶斯混合效应模型(以及更多(。
https://github.com/adamhaber/pybrms
挑战在于底层数据具有偏斜的正态分布,我不确定如何在Python中使用具有该分布的混合模型?
数据的分布不是一个问题。
响应变量本身不需要在线性混合模型(LMM(中正态分布。假设正态分布是以随机效应为条件的响应分布。这意味着残差应该(近似(正态分布。因此,您可以继续拟合LMM,然后检查残差,看看它们是否正态分布。
编辑:
如果你发现你确实需要处理偏斜的残差,那么这有时可以通过转换数据或拟合GLMM来实现。如果所有这些都失败了,那么您自己的答案是,关于为Rbrms
包使用python接口,pybrms
是一个非常好的答案。