我已经使用PYMC3对贝叶斯逻辑回归模型进行了推断。我想在给定高斯先验$\mathcal{N} \sim (0,I)$的情况下,找到权重$\beta \in \mathbb{R}^K$的后验。
这是使用由设计矩阵$X \in \mathbb{R}^{N \乘以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) 以获得后部的视觉效果。这将输出以下内容:

我很好奇;我将如何在不同的子图上绘制后方的每个维度?把它们都放在一个上面看起来很乱!
为美元符号道歉-我是新手,不确定如何正确显示数学。
谢谢
发布于 2018-08-29 22:18:10
您可以使用arviz,它可以与一起安装
pip install arviz然后你就可以使用
import arviz as az
az.traceplot(trace)就像你所描述的那样。

注arviz仍然有些不稳定,但应该会在接下来的几个月内取代pymc3的绘图函数。
https://stackoverflow.com/questions/52066058
复制相似问题