首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ArviZ plot_trace没有正确地绘制多维变量。

ArviZ plot_trace没有正确地绘制多维变量。
EN

Stack Overflow用户
提问于 2020-03-30 21:13:27
回答 1查看 1K关注 0票数 1

我试图使用PyMC3运行一个基本的测试模型,但我发现ArviZ plot_trace函数无法正确显示我的跟踪。

代码

代码语言:javascript
复制
from scipy import stats
import arviz as az
import numpy as np
import matplotlib.pyplot as plt
import pymc3 as pm
import seaborn as sns
import pandas as pd
from theano import shared
from sklearn import preprocessing

if __name__ == "__main__":
    with basic_model:

        # Priors for unknown model parameters
        alpha = pm.Normal('alpha', mu=0, sigma=10)
        beta = pm.Normal('beta', mu=0, sigma=10, shape=2)
        sigma = pm.HalfNormal('sigma', sigma=1)

        # Expected value of outcome
        mu = alpha + beta[0]*X1 + beta[1]*X2

        # Likelihood (sampling distribution) of observations
        Y_obs = pm.Normal('Y_obs', mu=mu, sigma=sigma, observed=Y)

        # draw 500 posterior samples
        trace = pm.sample(5000)

    az.plot_trace(trace, compact = False)

beta参数是多维的,具有beta[0]beta[1],但是ArviZ跟踪只显示beta[0]

迹图

如果我以az.plot_trace(trace, compact = True)的形式运行跟踪图,那么我确实可以看到beta的两个维度都被正确地覆盖。我只在尝试用compact = False绘制不同轴的尺寸时才注意到这个问题。

版本

  • ArviZ: 0.6.1
  • Numpy: 1.18.1
  • SciPy: 1.4.1
  • X数组: 0.15.0
  • 材料库: 3.1.3
EN

回答 1

Stack Overflow用户

发布于 2020-04-15 16:21:29

看起来您正在遇到这只虫子。我建议将ArviZ更新到它的最新版本(撰写本文时为0.7.0),该版本已经包含了针对这个特定bug的修复。

如果您有某种版本约束,那么禁用numba应该修复这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60939623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档