Python 在pymc 3中提供测试值
我正在探索有界分布在pymc中的使用。我试图在两个值之间绑定伽马先验分布。由于缺少测试值,模型规范似乎失败。如何传递testval参数,以便能够指定这些类型的模型 为了完整起见,我已经包括了错误,以及下面的一个最小示例。谢谢大家!Python 在pymc 3中提供测试值,python,pymc,theano,Python,Pymc,Theano,我正在探索有界分布在pymc中的使用。我试图在两个值之间绑定伽马先验分布。由于缺少测试值,模型规范似乎失败。如何传递testval参数,以便能够指定这些类型的模型 为了完整起见,我已经包括了错误,以及下面的一个最小示例。谢谢大家! AttributeError:没有可使用的默认值,已检查:[“中值”、“平均值”、“模式”]是否传递testval参数或提供其中一个参数。 编辑:出于参考目的,以下是一个利用有界伽马先验分布的简单工作模型: import pymc as pm import nump
AttributeError:没有可使用的默认值,已检查:[“中值”、“平均值”、“模式”]是否传递testval参数或提供其中一个参数。
编辑:出于参考目的,以下是一个利用有界伽马先验分布的简单工作模型:
import pymc as pm
import numpy as np
ndims = 2
nobs = 20
zdata = np.random.normal(loc=0, scale=0.75, size=(ndims, nobs))
BoundedGamma = pm.Bound(pm.Gamma, 0.5, 2)
with pm.Model() as model:
xbound = BoundedGamma('xbound', alpha=1, beta=2, testval=2)
z = pm.Normal('z', mu=0, tau=xbound, shape=(ndims, 1), observed=zdata)
with model:
start = pm.find_MAP()
with model:
step = pm.NUTS()
with model:
trace = pm.sample(3000, step, start)
pm.traceplot(trace);
用那句话:
xbound = BoundedGamma('xbound', alpha=1, beta=2, testval=1)
太简单了,谢谢。工作完美。我将把完整的工作代码添加到我的原始注释中。
xbound = BoundedGamma('xbound', alpha=1, beta=2, testval=1)