使用马尔可夫链蒙特卡洛法定义连续和二进制预测变量的混合变量以进行贝叶斯线性回归

时间:2019-03-24 15:46:17

标签: bayesian montecarlo pymc3 markov-chains probabilistic-programming

我正在尝试使用PyMC3中的Markov Chain Monte Carlo运行贝叶斯线性回归。我试图为我的问题设置先验条件,其中我的响应是一个连续变量,并且我有12个预测变量(8个二进制和4个连续变量)。我该如何定义此问题的先决条件?

我尝试将先验分布设置为8个二项式分布和4个连续变量,但是我无法以正确的方式构造方程式。

我从pymc3中检查了以下代码

# Context for the model
with pm.Model() as normal_model:

   # The prior for the model parameters will be a normal distribution
   family = pm.glm.families.Normal()

   # Creating the model requires a formula and data (and optionally a family)
   pm.GLM.from_formula(formula, data = X_train, family = family)

   # Perform Markov Chain Monte Carlo sampling
   normal_trace = pm.sample(draws=2000, chains = 2, tune = 500, njobs=-1)

在上面的代码中,是否为所有参数将'family = pm.glm.families.Normal()'设置为均值为零且sd = 1的正态分布?我们如何更改此代码以声明8个二项式和4个连续变量的先验?

0 个答案:

没有答案