2024-10-06 13:59:40 发布
网友
我有一个数据集,我知道有一个帕累托分布。有人能告诉我如何在Scipy中匹配这个数据集吗?我运行了下面的代码,但是我不知道返回给我的是什么(a,b,c)。另外,在得到a,b,c之后,如何使用它们计算方差?
import scipy.stats as ss import scipy as sp a,b,c=ss.pareto.fit(data)
这是一个快速编写的版本,从Rupert提供的参考页面中得到一些提示。 这是目前正在进行的工作,在scipy和statsmodels,并要求与一些固定或冻结参数MLE,这是只有在主干版本。 参数估计或其他结果统计上的标准错误尚不可用。
'''estimating pareto with 3 parameters (shape, loc, scale) with nested minimization, MLE inside minimizing Kolmogorov-Smirnov statistic running some examples looks good Author: josef-pktd ''' import numpy as np from scipy import stats, optimize #the following adds my frozen fit method to the distributions #scipy trunk also has a fit method with some parameters fixed. import scikits.statsmodels.sandbox.stats.distributions_patch true = (0.5, 10, 1.) # try different values shape, loc, scale = true rvs = stats.pareto.rvs(shape, loc=loc, scale=scale, size=1000) rvsmin = rvs.min() #for starting value to fmin def pareto_ks(loc, rvs): est = stats.pareto.fit_fr(rvs, 1., frozen=[np.nan, loc, np.nan]) args = (est[0], loc, est[1]) return stats.kstest(rvs,'pareto',args)[0] locest = optimize.fmin(pareto_ks, rvsmin*0.7, (rvs,)) est = stats.pareto.fit_fr(rvs, 1., frozen=[np.nan, locest, np.nan]) args = (est[0], locest[0], est[1]) print 'estimate' print args print 'kstest' print stats.kstest(rvs,'pareto',args) print 'estimation error', args - np.array(true)
要非常小心地拟合幂律!!许多已报告的幂律实际上与幂律不符。有关所有详细信息,请参见Clauset et al.(如果您没有访问日志的权限,请参见arxiv)。他们有一个companion website到现在链接到Python实现的文章。不知道它是否使用了Scipy,因为我上次使用它时使用了它们的R实现。
这是一个快速编写的版本,从Rupert提供的参考页面中得到一些提示。 这是目前正在进行的工作,在scipy和statsmodels,并要求与一些固定或冻结参数MLE,这是只有在主干版本。 参数估计或其他结果统计上的标准错误尚不可用。
要非常小心地拟合幂律!!许多已报告的幂律实际上与幂律不符。有关所有详细信息,请参见Clauset et al.(如果您没有访问日志的权限,请参见arxiv)。他们有一个companion website到现在链接到Python实现的文章。不知道它是否使用了Scipy,因为我上次使用它时使用了它们的R实现。
相关问题 更多 >
编程相关推荐