PyMC3

时间:2015-09-30 03:06:46

标签: pymc3

我正在尝试使用PyMC3来实现具有分类变量及其交互的分层模型。在R中,公式将采用以下形式:

y ~ x1 + x2 + x1:x2

然而,在教程https://pymc-devs.github.io/pymc3/GLM-hierarchical/#partial-pooling-hierarchical-regression-aka-the-best-of-both-worlds上,他们明确地说glm对于分层建模还不是很好。

那么我该如何添加x1:x2术语呢?它是一个带有两个分类父母的分类变量(x1和x2)吗?

1 个答案:

答案 0 :(得分:4)

您只需手动将交互项添加到线性模型即可。你必须添加3个回归系数(beta)和一个截距。然后,您可以按如下方式估算您的y:

y = pm.Normal('regression', 
               mu=intercept + beta_x1 * data_x1 + beta_x2 * data_x2 + beta_interaction * data_x1 * data_x2, 
               sd=sigma, 
               observed=data_y)

参数本身都可以有超级驱动程序来构建分层模型。