【发布时间】:2018-08-28 20:53:48
【问题描述】:
我使用 PYMC3 对贝叶斯逻辑回归模型进行推理。我想在给定高斯先验 $\mathcal{N} \sim (0,I)$ 的情况下找到权重 $\beta \in \mathbb{R}^K$ 的后验。
这是使用由设计矩阵 $X \in \mathbb{R}^{N \times K}$ 和二元结果向量 $y\in \mathbb{R}^N$ 表示的真实而非模拟数据。
我的Python代码如下:
with pm.Model() as logistic_model:
# 14 dimensional Gaussian prior
beta = pm.Normal('beta', mu = 0, sd = 10, shape = X.shape[1])
# Expected value of outcome with sigmoid link
logit_p = t.dot(X, beta)
pm.Bernoulli('likelihood', logit_p=logit_p, observed=y)
with logistic_model:
# Inference
trace = pm.sample(2000)
然后我继续使用
pm.traceplot(trace)
获得后验的可视化。这将输出以下内容:
我很好奇;我将如何在单独的子图上绘制后验的每个维度?将它们全部放在一个上看起来相当混乱!
为美元符号道歉 - 我是新手,不确定如何正确显示数学。
谢谢
【问题讨论】:
标签: python logistic-regression bayesian pymc3 mcmc