Pymc3中的随机索引

时间:2017-08-16 18:02:00

标签: python numpy pymc3

我对pymc3很新,我试图了解如何以不同的方式将随机变量应用到模型中。我想适合以下(人为的)模型,但我在文档中找不到任何支持。

equation

我尝试了以下内容,但是numpy不允许这样的索引:

seq = numpy.arange(10,y_train.size)
basic_model = pymc3.Model()
with basic_model:
  alpha = pymc3.Normal('alpha',mu=0,sd=1)
  beta = pymc3.Normal('beta',mu=0,sd=1)
  gamma = pymc3.DiscreteUniform('gamma',lower=1,upper=10)
  mu = pymc3.Deterministic('mu',alpha+beta*y_train[seq-gamma])
  y = pymc3.Normal('y',mu=mu,sd=sigma,observed=y_train[11:])
  map_estimate = pymc3.find_MAP(model=basic_model)
  step = pymc3.Metropolis()
  trace = pymc3.sample(10000,step,start=map_estimate,progressbar=True)

1 个答案:

答案 0 :(得分:1)

首先需要将numpy数组转换为theano const:

tt.as_tensor_variable(y_train)[seq-gamma]