要找到概率a数大于x的概率,可以使用scipy.stats.norm编写一个像1-scipy.stats.norm(55.98,12.29).cdf(64)这样的函数,返回0.257,这意味着,如果平均值为55.98,标准差为12.29,随机观测值大于64的概率为25.7%?如果我想找到对数正态分布,我能对scipy.stats.lognorm函数做同样的处理吗?1-scipy.stats.lognorm(55.98,12.29).cdf(64)?
发布于 2021-01-15 19:53:21
你对正态分布有正确的解释。
对于lognorm来说,枕叶参数化有点奇怪。
假设X是一个正态分布的随机变量,其均值mu和stdσ。如果定义为X= ln(Y),则Y具有对数正态分布。
要在“参与”中代表Y,您可以这样做:
from scipy.stats import lognorm
from math import exp
#using smaller numbers for this example
mu=1
sigma=2
X=norm(mu,sigma)
X.mean() #1.0
X.var() # 4.0
Y = lognorm(s=sigma,scale=exp(mu))
Y.mean() # 20.085536923187668
Y.var() #21623.037001313976这将产生与wikipedia的lognorm公式相同的结果:
平均= exp(mu + sigma^2/2)
)
在所有情况下,.cdf( x )方法给出了随机变量小于或等于x的概率。
https://stackoverflow.com/questions/65742533
复制相似问题