我正在通过书学习贝叶斯推理Bayesian Analysis with Python
。但是,在使用时plot_ppc
,我得到AttributeError
了警告
/usr/local/Caskroom/miniconda/base/envs/kaggle/lib/python3.9/site-packages/pymc3/sampling.py:1689:用户警告:样本参数小于nchains乘以ndraws,一些平局和/或链可能不会在返回的后验预测样本中表示 warnings.warn(
模型是
shift = pd.read_csv('../data/chemical_shifts.csv')
with pm.Model() as model_g:
μ = pm.Uniform('μ', lower=40, upper=70)
σ = pm.HalfNormal('σ', sd=10)
y = pm.Normal('y', mu=μ, sd=σ, observed=shift)
trace_g = pm.sample(1000, return_inferencedata=True)
如果我使用以下代码
with model_g:
y_pred_g = pm.sample_posterior_predictive(trace_g, 100, random_seed=123)
data_ppc = az.from_pymc3(trace_g.posterior, posterior_predictive=y_pred_g) # 'Dataset' object has no attribute 'report'
我得到“数据集”对象没有属性“报告”。
如果我使用以下代码
with model_g:
y_pred_g = pm.sample_posterior_predictive(trace_g, 100, random_seed=123)
data_ppc = az.from_pymc3(trace_g, posterior_predictive=y_pred_g) # AttributeError: 'InferenceData' object has no attribute 'report'
我得到了 AttributeError: 'InferenceData' 对象没有属性 'report'。
ArviZ 版本:0.11.2 PyMC3 版本:3.11.2 Aesara/Theano 版本:1.1.2 Python 版本:3.9.6 操作系统:MacOS Big Sur 你是如何安装 PyMC3 的:conda