我正在尝试使用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个连续变量的先验?