当定义一个平均值为15.1466、标准差为0.3738的对数正态函数时,您应该得到以下结果:

但是,当我使用python运行下面的代码时,我得到的结果是不一样的。
mu, sigma = 15.1466, 0.3738
s = np.random.lognormal(mu, sigma, 10000)
count, bins, ignored = plt.hist(s, 30,
density=True,
color='blue')
x = np.linspace(min(bins),
max(bins), 10000)
pdf = (np.exp(-(np.log(x) - mu)**2 / (2 * sigma**2))
/ (x * sigma * np.sqrt(2 * np.pi)))
plt.plot(x, pdf, color='black')
plt.grid()
plt.show()

发布于 2021-07-30 04:05:35
对于对数正态分布,均值和标准差与分布参数mu和σ不一致。
检查维基
基本上,给定均值和std.dev,计算均值和方差,然后解出两个方程的系统,找出mu和sigma。
只有这样,你才会把mu和西格玛输入到例程中,用于采样、PDF等。
https://stackoverflow.com/questions/68575639
复制相似问题