我已经阅读了很多有关该主题的过去问题,但是我还没有找到解决该问题的方法。当对一组数据(Y)使用python scipy.stats.lognormal.fit
时,输出参数分别为shape
,loc
和scale
。假设shape
等于正态分布随机变量X的标准偏差,使得exp(X)= Y,而scale
等于exp(mu
) ,mu
是相同正态分布随机变量X的均值。我要进行拟合的数据有三组,但是特别是其中一组给我带来麻烦,而我却无法找到原因。我无法共享代码,因为样本非常具体并且大小为270,因此我直接从文件中读取它,但是问题是我得到了不同的标准偏差值= scale和mu
= ln({scale
)通过两种不同的方式进行拟合:一种是使用lognorm.fit
直接拟合数据Y,另一种是对正态分布样本X进行拟合。我用另一种软件进行了检查( Matlab和Excel),第二个选项给出了正确的结果,所以我猜测它与lognorm.fit
的收敛性或特定特征有关,但是我尝试了一些失败的事情,例如使用优化器:
#def opti_wrap(fun, x0, args, disp=0, **kwargs):
# return minimize(fun, x0, args=args, method='SLSQP',
# tol=1e-12, options={'maxiter': 1000}).x
或在进行loc
时使用lognorm.fit
值。
任何想法可能是什么问题?