gpt4 book ai didi

python - stan 向量参数的漂亮 pystan 跟踪图

转载 作者:行者123 更新时间:2023-12-01 01:31:33 24 4
gpt4 key购买 nike

我正在 Stan 中进行多元回归。

我想要回归器/设计矩阵的 beta 向量参数的迹线图。

当我执行以下操作时:

fit = model.sampling(data=data, iter=2000, chains=4)
fig = fit.plot('beta')

我得到了一个非常可怕的图像:

horrid trace plot for vector parameter

我想要一些更用户友好的东西。我已经成功破解了以下内容,这更接近我所追求的。

Nicer tracer plot for vector parameter

我的 hack 插入 pystan 的背面,如下所示。

r = fit.extract() # r for results
from pystan.external.pymc import plots
param = 'beta'
beta = r[param]
name = df.columns.values.tolist()
(rows, cols) = beta.shape
assert(len(df.columns) == cols)
values = {param+'['+str(k+1)+'] '+name[k]:
beta[:,k] for k in range(cols)}
fig = plots.traceplot(values, values.keys())
for a in fig.axes:
# shorten the y-labels
l = a.get_ylabel()
if l == 'frequency':
a.set_ylabel('freq')
if l=='sample value':
a.set_ylabel('val')
fig.set_size_inches(8, 12)
fig.tight_layout(pad=1)
fig.savefig(g_dir+param+'-trace.png', dpi=125)
plt.close()

我的问题 - 我肯定错过了一些东西 - 但是有没有一种更简单的方法可以从 pystan 获得我想要的矢量参数输出类型?

最佳答案

发现 ArviZ 模块在这方面做得很好。

ArviZ 可以在这里找到:https://arviz-devs.github.io/arviz/

关于python - stan 向量参数的漂亮 pystan 跟踪图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52814214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com