I have a sample data,说thelogarithmofwhichfollowsanormaldistribution。
假设data是包含样本的数组。 把这个数据拟合起来
使用scipy.stats.lognorm的对数正态分布,并使用s,loc,scale=stats.lognorm.fit(data,floc=0)
mu和sigma
基本正态分布。 得到这些值的推测值
根据该配方,使用estimated_mu=NP.log(scale )
estimated_sigma=s
这些不是的平均值和标准偏差的估计
数据的样本。 有关公式,请参阅维基百科页面
对数正态分布的平均和方差用mu和sigma表示。 )
要组合直方图和PDF,请使用import matplotlib.pyplot as plt等。
PLT.hist(data,bins=50,normed=True,color='c ',alpha=0.75 ) )
xmin=data.min (
xmax=data.max (
x=NP.Linspace(xmin,xmax,100 ) )。
pdf=stats.lognorm.pdf(x,s,scale=scale ) )。
PLT.plot(x,pdf,' k ' ) )。
要查看数据记录,请执行下列操作
下面。 请注意,使用的是正态分布的PDF
就在这里。 logdata=NP.log(data )
PLT.hist(logdata,bins=40,normed=True,color='c ',alpha=0.75 ) ) ) )。
xmin=logdata.min (
xmax=logdata.max (
x=NP.Linspace(xmin,xmax,100 ) )。
pdf=stats.norm.pdf(x,loc=estimated_mu,scale=estimated_sigma ) )。
PLT.plot(x,pdf,' k ' ) )。
顺便说一下,与stats.lognorm匹配的另一种方法是与log(data )匹配
使用stats.norm.fit:log data=NP.log (data )
estimated_mu,estimated _ sigma=stats.norm.fit (log data )
相关问题: