【发布时间】:2017-11-21 04:29:22
【问题描述】:
我想查看对数正态分布与正态分布指数的等价性。我在下面使用 SciPy 包,并从相应的文档中使用以下参数化:
s = sigma
scale = exp(mu)
这里是the link。我认为当使用这个参数化时,我没有发现绘制对数正态分布的 pdf 和正态分布的 exp 以及额外绘制正态分布和对数正态分布的对数的偏差。我试图关注:
from scipy.stats import lognorm
from scipy.stats import norm
import matplotlib.pyplot as plt
import numpy as np
mu = 0.5
sigma = 0.2
x1 = np.linspace(norm.ppf(0.01, loc = mu, scale = sigma),
norm.ppf(0.99, loc = mu, scale = sigma), 100)
y1 = norm.pdf(x1, loc = mu, scale = sigma)
x2 = np.linspace(lognorm.ppf(0.01, s = sigma, scale = np.exp(mu)),
lognorm.ppf(0.99, s = sigma, scale = np.exp(mu)), 100)
y2 = lognorm.pdf(x2, s = sigma, scale = np.exp(mu))
fig, ax = plt.subplots(2, 1)
ax[0].plot(x1,y1, label = "normal")
ax[0].plot(np.log(x2), y2, label = "lognormal")
ax[0].grid()
ax[0].legend()
ax[1].plot(np.exp(x1),y1, label = "normal")
ax[1].plot(x2, y2, label = "lognormal")
ax[1].grid()
ax[1].legend()
fig.show()
如您所见,曲线并不相同。 SciPy 文档是否错误,我是否必须使用不同的参数化,或者我认为没有差异的想法是否错误?
【问题讨论】:
标签: python numpy scipy normal-distribution