If I wanted a Dirichlet prior, but I wanted to censor out any samples with values under say 1e-14 or so (to help with numerical stability, as p(x)>infinity messes up find_MAP), how would I do that? This sort of code doesn’t really seem to work (find_MAP gives values outside of the simplex, or just crashes).
bounder = pm.Bound(pm.Dirichlet,lower=np.ones(shape=(arrsize))*1e-5,upper = 1-np.ones(shape=(arrsize))*1e-15)
prior = bounder('a',a = a_vec,shape=(arrsize),testval = testval_arr)
Or is using logratios or something a better approach here?
Thanks,
Abhishek.