13

random.gauss(ミュー、シグマ)

上記は、指定された平均と分散を持つ正規分布からランダムに数値を引き出すことを可能にする関数です。しかし、最初の 2 つのモーメントだけでなく、正規分布から値を引き出すにはどうすればよいでしょうか?

何かのようなもの:

random.gauss(ミュー、シグマ、スキュー、尖度)

4

2 に答える 2

8

scipy を使用してみませんか?scipy.stats ライブラリの継続的な分布から必要な分布を選択できます。

一般化されたガンマ関数には非ゼロのスキューと尖度がありますが、特定の平均、分散、スキュー、および尖度を取得するために分布を指定するために使用するパラメーターを把握するには、少し作業が必要です。開始するためのコードを次に示します。

import scipy.stats
import matplotlib.pyplot as plt
distribution = scipy.stats.norm(loc=100,scale=5)
sample = distribution.rvs(size=10000)
plt.hist(sample)
plt.show()
print distribution.stats('mvsk')

これは、平均 100、分散 25 の正規分布からの 10,000 要素サンプルのヒストグラムを表示し、分布の統計を出力します。

(array(100.0), array(25.0), array(0.0), array(0.0))

正規分布を一般化されたガンマ分布に置き換えると、

distribution = scipy.stats.gengamma(100, 70, loc=50, scale=10)

統計 [平均、分散、歪曲、尖度] を取得します (array(60.67925117494595), array(0.00023388203873597746), array(-0.09588807605341435), array(-0.028177799805207737))

于 2013-10-26T09:57:25.857 に答える
5

これを使用してみてください:

http://statsmodels.sourceforge.net/devel/generated/statsmodels.sandbox.distributions.extras.pdf_mvsk.html#statsmodels.sandbox.distributions.extras.pdf_mvsk

1 次モーメント、2 次モーメント、スキュー、およびフィッシャー (過剰) 尖度のリストを指定して、ガウス拡張 pdf 関数を返します。

パラメータ : mvsk : mu、mc2、skew、kurt のリスト

は、私にはよく見えますよ。そのページにソースへのリンクがあります。

ああ、ここに私を指摘した他のStackOverflowの質問があります: Apply kurtosis to a distribution in python

于 2013-10-26T08:05:50.750 に答える