有关完整示例,请参阅iPython 笔记本
下面的随机节点y_pred
使我能够生成后验预测分布:
with pm.Model() as model:
alpha = pm.Gamma('alpha', alpha=.1, beta=.1)
mu = pm.Gamma('mu', alpha=.1, beta=.1)
y_pred = pm.NegativeBinomial('y_pred', mu=mu, alpha=alpha)
y_est = pm.NegativeBinomial('y_est', mu=mu, alpha=alpha, observed=messages['time_delay_seconds'].values)
start = pm.find_MAP()
step = pm.Metropolis(start=start)
trace = pm.sample(20000, step, start=start, progressbar=True)
和后验预测分布图:
解决方案#1:@inversion 指出必须提供 shape 参数。
问题 #2:后验预测的样本不正确。他们被困在 0 或 1。任何想法如何解决这个问题?我只能用分层模型重现这个问题。