def __genprior(self, x, distr='uniform', mu=0, sig=1):
"""Generate prior probability distribution for variable.
Arguments
---------
x : 1D numpy array (float64)
points to evaluate the density at.
distr : string
Distribution to use a prior :
'uniform' (default) discrete uniform distribution
'normal' normal distribution
'gamma' gamma distribution
'beta' beta distribution
mu : scalar float
first parameter of distr distribution (check scipy for parameterization)
sig : scalar float
second parameter of distr distribution
Returns
-------
1D numpy array of prior probabilities (unnormalized)
"""
if distr == 'uniform':
nx = len(x)
p = np.ones(nx) / nx
elif distr == 'normal':
p = norm.pdf(x, mu, sig)
elif distr == 'beta':
p = beta.pdf(x, mu, sig)
elif distr == 'gamma':
p = gamma.pdf(x, mu, scale=sig)
else:
nx = len(x)
p = np.ones(nx) / nx
return p
评论列表
文章目录