我正在尝试在 PyMC3 中使用马尔可夫链蒙特卡罗来运行贝叶斯线性回归。我正在尝试为我的问题设置先验,其中我的响应是一个连续变量,并且我有 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 个连续变量?