如何解决对数正态分布
当定义一个均值为 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()
解决方法
均值和标准差与对数正态分布参数 mu 和 sigma 不同
检查wiki
基本上,给定 mean 和 std.dev,您计算均值和方差,然后求解两个方程组以找到 mu 和 sigma
只有这样你才能将 mu 和 sigma 输入到采样、PDF 等的例程中
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。