私は、パッケージfitter
を使用して、Pythonでnumpy配列のデータに連続したディストリビューションを合わせています。 fitter.fitted_param
は、分布ごとに最適なパラメータでさまざまな長さのタプルの辞書を返します。これらは、これらのディストリビューションをscipy.stats
に設定するのと同じパラメーターです。私は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)
私は今同じa
、loc
及び上記param
で指定scale
とガンマ分布する乱数値を生成するための新たなガンマ分布を作成したい場合は、私が記述する必要があります。
>from scipy import stats
>rv = stats.gamma(a=param[0],loc=param[1],scale=param[2])
>rv.rvs(100)
a
,loc
およびscale
を明示的に入力せずに直接設定するにはどうすればよいですか。私は任意の分布を任意の数のパラメータですばやく適合させ、その分布に続くランダムな値を生成したいと考えています。
ありがとうございました!
おかげで - その信じられないほど簡単でした。私もリンクに感謝! –