我该如何在Python中计算对数正态累积分布函数的反函数?我正在尝试将一些使用函数[LOGINV][1]
的Excel函数进行翻译。
例如:
LOGINV(0,005;2;0,5) yields 2,0382373
这里的0.005
是概率,2
是均值,0.5
是标准差。
scipy.stats
是否有类似的函数可供使用?
是的:
from scipy import stats
import numpy as np
stats.lognorm(0.5, scale=np.exp(2)).ppf(0.005)
来自http://docs.scipy.org/doc/scipy-0.17.0/reference/generated/scipy.stats.lognorm.html
请确认您的数量的含义。实际上,2和0.5是随机变量Y=exp(X)的均值和标准差,其中X是代码中定义的对数正态分布(如Excel文档中所述)。代码中定义的分布的均值和标准差分别为8.37和4.46。