def LogNormalDistribution(mean, std):
if std == .0:
return Distribution.ConstantDistribution(mean)
var = std * std
mean2 = mean * mean
mu = np.log(mean) - (var/2)*(1/mean2)
sigma = np.sqrt(var/mean2)
dist = UncertainVariable(ss.lognorm(sigma, scale=np.exp(mu)))
logging.debug('Distribution -- LogNormal: ({}, {})'.format(
dist.mean, np.sqrt(dist.var)))
return dist
评论列表
文章目录