gpt4 book ai didi

python - scipy,对数正态分布 - 参数

转载 作者:IT老高 更新时间:2023-10-28 20:21:26 28 4
gpt4 key购买 nike

我想使用 python scipy.stats.lognormal.fit 为我的数据拟合对数正态分布。根据manual , fit 返回shape, loc, scale 参数。但是,对数正态分布通常只需要 two parameters : 均值和标准差。

如何解释 scipy fit 函数的结果?如何获得 mean 和 std.dev.?

最佳答案

scipy 中的分布以通用方式编码,包括两个参数 location 和 scale,因此 location 是参数 (loc),它将分布向左或向右移动,而 scale 是压缩或拉伸(stretch)分布的参数。

对于二参数对数正态分布,“mean”和“std dev”分别对应log(scale)和shape(可以让loc= 0)。

以下说明了如何拟合对数正态分布以找到感兴趣的两个参数:

In [56]: import numpy as np

In [57]: from scipy import stats

In [58]: logsample = stats.norm.rvs(loc=10, scale=3, size=1000) # logsample ~ N(mu=10, sigma=3)

In [59]: sample = np.exp(logsample) # sample ~ lognormal(10, 3)

In [60]: shape, loc, scale = stats.lognorm.fit(sample, floc=0) # hold location to 0 while fitting

In [61]: shape, loc, scale
Out[61]: (2.9212650122639419, 0, 21318.029350592606)

In [62]: np.log(scale), shape # mu, sigma
Out[62]: (9.9673084420467362, 2.9212650122639419)

关于python - scipy,对数正态分布 - 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8747761/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com