【发布时间】:2017-03-30 00:45:57
【问题描述】:
我正在使用包 fitter 将连续分布拟合到 Python 中的 numpy 数据数组。 fitter.fitted_param 返回一个由不同长度的元组组成的字典,其中包含每个分布的最佳拟合参数。这些是用于在scipy.stats 中设置这些分布的相同参数。我想使用这些元组直接用scipy.stats设置参数,但我不知道该怎么做。有什么想法吗?
例子:
>from fitter import Fitter
>import numpy as np
>data = np.random.random((1000,1))
>f = Fitter(data,distributions = ['norm','gamma'])
>f.fit()
>param = f.fitted_param['gamma']
>param
out:(20759.430545279687, -41.012521759919224, 0.0019996776498165851)
如果我现在想创建一个新的 gamma 分布以生成具有相同 a、loc 和 scale 在上面 param 中指定的 gamma 分布的随机值,我需要编写:
>from scipy import stats
>rv = stats.gamma(a=param[0],loc=param[1],scale=param[2])
>rv.rvs(100)
如何在不明确输入的情况下直接设置a、loc和scale?我希望能够使用任意数量的参数快速拟合任何分布,并生成遵循该分布的随机值。
感谢您的帮助!
【问题讨论】:
标签: python scipy statistics