问题描述
我有一个旧的博客文章,我正在其中训练PyMC3模型。您可以找到博客文章here,但该模型的要点如下所示。
static void modify(ref ball){
Ball[0].name="New name";
Ball[0].num=54;
Ball[0].city="Barcelona";
}
在此数据集中,我估计with pm.Model() as model:
mu_intercept = pm.Normal('mu_intercept',mu=40,sd=5)
mu_slope = pm.HalfNormal('mu_slope',10,shape=(n_diets,))
mu = mu_intercept + mu_slope[df.diet-1] * df.time
sigma_intercept = pm.HalfNormal('sigma_intercept',sd=2)
sigma_slope = pm.HalfNormal('sigma_slope',sd=2,shape=n_diets)
sigma = sigma_intercept + sigma_slope[df.diet-1] * df.time
weight = pm.Normal('weight',mu=mu,sd=sigma,observed=df.weight)
approx = pm.fit(20000,random_seed=42,method="fullrank_advi")
对鸡的体重的影响。这就是traceplot的样子。
看看它有多漂亮!每种饮食都有自己的路线!好漂亮!
Arviz更改
此跟踪图是使用较旧的PyMC3 API制作的。如今,此功能已移至arviz。因此,尝试重做这项工作,但是...情节看起来非常不同。
我在这里使用的代码稍有不同。我现在正在使用Diet
,但我怀疑是否应该造成这种差异。
pm.Data
我该怎么做才能使每个DIET重新获得不同的颜色?
解决方法
新的plot_trace
函数中有一个参数。这可以解决问题;
az.plot_trace(trace,compact=True)