我想了解是否有内置的 python 函数来计算对数正态均值和方差。我只需要此信息,然后将其输入 scipy.stats.lognorm
以获得覆盖在直方图上的绘图。
简单地使用 numpy.mean
和 numpy.std
似乎不是正确的想法,因为对数正态均值和方差是特定的并且与 numpy 完全不同方法。在 Matlab 中,他们有一个名为 lognstat
的方便函数,它返回对数正态分布的均值和方差,我似乎无法在 Python 中找到类似的方法。编写解决方法很容易,但我想知道库中是否存在这种方法。谢谢。
最佳答案
不管它值多少钱,matlab 中的所有 lognstat
都是这样的:
import numpy as np
def lognstat(mu, sigma):
"""Calculate the mean of and variance of the lognormal distribution given
the mean (`mu`) and standard deviation (`sigma`), of the associated normal
distribution."""
m = np.exp(mu + sigma**2 / 2.0)
v = np.exp(2 * mu + sigma**2) * (np.exp(sigma**2) - 1)
return m, v
scipy.stats
或 scikits-statsmodels
中可能有它的函数,但我并没有立即意识到它。无论哪种方式,都只是几行代码。
关于python - 是否有计算对数正态均值和方差的 Python 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10000436/