python - 是否有计算对数正态均值和方差的 Python 方法?

标签 python matlab statistics

我想了解是否有内置的 python 函数来计算对数正态均值和方差。我只需要此信息,然后将其输入 scipy.stats.lognorm 以获得覆盖在直方图上的绘图。

简单地使用 numpy.meannumpy.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.statsscikits-statsmodels 中可能有它的函数,但我并没有立即意识到它。无论哪种方式,都只是几行代码。

关于python - 是否有计算对数正态均值和方差的 Python 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10000436/

相关文章:

java - 创建实现 Matlab 接口(interface)的 Java 对象

matlab double 混淆

java - 有哪些好的用户数据统计可视化框架/库?

python - 有没有一种简单的方法可以对 pandas 数据框中的分布进行所有成对统计比较?

python - 无法安装 python 包并在 GitHub Action 中使用它

matlab - Matlab 中的静态方法

python - 有没有办法将周期​​数存储到变量中

git - 哪些 Git 提交统计信息很容易提取

python - python忽略引起错误的任何一行,并在该行之后继续运行代码

python - 自定义 sklearn 管道变压器提供 "pickle.PicklingError"