如何设置参数scipy.stats公司使用lis分发

2024-06-01 10:02:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用包fitter来适应Python中数据的numy数组的连续分布。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分布来生成具有上面aloc和{}的gamma分布随机值,我需要写:

^{pr2}$

如何直接设置aloc和{},而不显式地键入它们?我希望能够用任意数量的参数快速拟合任何分布,并生成遵循该分布的随机值。在

谢谢你的帮助!在


Tags: 数据importdata参数paramstatsnprandom
1条回答
网友
1楼 · 发布于 2024-06-01 10:02:20

您可以执行<distribution>(*param),前提是参数列表param的顺序正确。在

如果不是,则必须在字典中包含参数,并使用<distribution>(**param)将其作为关键字参数调用,例如:

param = {"a": 20759, "scale": 0.001, "loc": -41}
stats.gamma(**param)

编辑:此处提供更多信息:*args and **kwargs?

相关问题 更多 >