python对数正态分布函数_python中的对数正态分布

你说I have a sample data, the logarithm of which follows a normal distribution.

假设data是包含样本的数组。使此数据适合

使用scipy.stats.lognorm的对数正态分布,使用:s, loc, scale = stats.lognorm.fit(data, floc=0)

假设mu和sigma是

基本正态分布。得到这些值的估计值

从该配合中,使用:estimated_mu = np.log(scale)

estimated_sigma = s

(这些是而不是的平均值和标准差的估计值

data中的样本。有关公式,请参见wikipedia page

对于对数正态分布的均值和方差,用mu和sigma表示。)

要组合直方图和PDF,可以使用,例如import matplotlib.pyplot as plt.

plt.hist(data, bins=50, normed=True, color='c', alpha=0.75)

xmin = data.min()

xmax = data.max()

x = np.linspace(xmin, xmax, 100)

pdf = stats.lognorm.pdf(x, s, scale=scale)

plt.plot(x, pdf, 'k')

如果想查看数据日志,可以执行以下操作

下面。注意,使用了正态分布的PDF

在这里。logdata = np.log(data)

plt.hist(logdata, bins=40, normed=True, color='c', alpha=0.75)

xmin = logdata.min()

xmax = logdata.max()

x = np.linspace(xmin, xmax, 100)

pdf = stats.norm.pdf(x, loc=estimated_mu, scale=estimated_sigma)

plt.plot(x, pdf, 'k')

顺便说一下,与stats.lognorm匹配的另一种方法是匹配log(data)

使用stats.norm.fit:logdata = np.log(data)

estimated_mu, estimated_sigma = stats.norm.fit(logdata)

相关问题:

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值