33

Pythonでガンマ分布をフィッティングするのを手伝ってくれる人はいますか?さて、私はいくつかのデータを持っています:X座標とY座標、そしてこの分布に適合するガンマパラメータを見つけたいです... Scipyのドキュメントでは、実際に適合方法が存在することがわかりましたが、方法がわかりません使用するには:s ..まず、引数「data」はどの形式である必要がありますか。また、2番目の引数(パラメーター)を指定するにはどうすればよいですか。

4

5 に答える 5

71

いくつかのガンマ データを生成します。

import scipy.stats as stats    
alpha = 5
loc = 100.5
beta = 22
data = stats.gamma.rvs(alpha, loc=loc, scale=beta, size=10000)    
print(data)
# [ 202.36035683  297.23906376  249.53831795 ...,  271.85204096  180.75026301
#   364.60240242]

ここで、データをガンマ分布に当てはめます。

fit_alpha, fit_loc, fit_beta=stats.gamma.fit(data)
print(fit_alpha, fit_loc, fit_beta)
# (5.0833692504230008, 100.08697963283467, 21.739518937816108)

print(alpha, loc, beta)
# (5, 100.5, 22)
于 2010-05-24T10:38:29.413 に答える
2

ディストリビューションのサポートの推定または修正に関する議論を含む長い例が必要な場合は、https://github.com/scipy/scipy/issues/1359およびリンクされたメーリング リスト メッセージで見つけることができます。

フィット中に場所などのパラメーターを修正するための予備的なサポートが、トランク バージョンの scipy に追加されました。

于 2010-11-09T00:39:36.020 に答える