I am having a simple indexing issue.
For my model, prior of Z is coming from Discrete Uniform.
It looks like we can not use this Z as an index of a global array.
Z in my case is an Integer Random Variable.
Here is an example of what I am trying to do:
prob = np.linspace(0,0.5,6) def my_likelihood(z): def logp_(data): n= len(data.value) return -n*prob[z] # < ==== Problem is here!! return logp_ obs =[1,2,3,5] with pm.Model() as model: z = pm.DiscreteUniform('z',lower =0,upper=4) like = pm.DensityDist('like', my_likelihood(z), observed=obs) pm.sample()
But I am getting this error:
IndexError: only integers, slices (:
), ellipsis (…
), numpy.newaxis (None
) and integer or boolean arrays are valid indices
Thanks in advance! Appreciate the help in advance.