2016-08-18 59 views
2

Pythonで長いテール分布を使って値を返すランダム化関数を作る必要があります。残念ながら、私の数学のスキルはプログラミングスキルのどこにもないので、私は立ち往生しています。Pythonの乱数のロングテール分布

これは、私が探しているディストリビューションの種類です: http://www.danvk.org/wp/wp-content/uploads/2007/02/scores.pngです。

返される値は0と1の間である必要があり、数なり、ピーク値(Y軸上のグラフピーク)を、割り当てることが可能でなければならない

使用例0と1との間:

def random_long_tail(peak): 
    #magic 

value = random_long_tail(0.2) 
print(value) #outputs i.e. 0.345811242 

私はこの問題を解決するのに非常に感謝します。ありがとうございました!

+1

戻り値は何ですか?通常、乱数生成では、返される値は変数の値です。それが0と1の間にあれば、どのように長い尾を持つことができますか? – ayhan

+0

あなたが求めているのは基本的に意味がありません。あなたの画像のx軸は一般的に返される数値を表し、y軸は与えられた数値を得る確率を表します。他のすべては、scipyで実装されているポアソン分布の線に沿って何かを示すようです。 –

+0

@PerlKristian [boltzmann distribution](https://en.wikipedia.org/wiki/Maxwell%E2%80%93Boltzmann_distribution)か[blackbody curve](https:// en)を探しているようです.wikipedia.org/wiki/Planck%27s_law)の形をしています。あれは正しいですか? – Aaron

答えて

2

1つのピーク値といくつかのテールを持つかなりの数のディストリビューションがあります(log-normal,GammaChi2)。

通常、numpyランダムモジュールを選択し、使用可能なものとその問題への適合を確認できます。リンク:http://docs.scipy.org/doc/numpy-1.10.1/reference/routines.random.html

+0

これは本当は答えではありません。それは明確化のためのより多くのコメント/要求です。そのように投稿してください。 –

+2

@MadPhysicist '本当に答えはありません。 'もちろん、それは答えです。似たような答えを持っている10,000フィートのビューの質問があります。例えば、連想データ構造とは何ですか?まあ、これまたはそれらのプロパティでそれらの非常に少ないです –

1

あなたはNumpyのrandom samplingオプションを調べることができます。どの項目がcommon heavy-tailed distributionsのリストに含まれているかを確認してください。

log-normalは素晴らしい例です。 Numpyでは、平均と標準偏差を指定することができます。あなたは、 "ピーク値を割り当てる"ために少しの代数を行う必要があります。このピークを「モード」といいます。

+0

これはコメント/提案です。 OPがATMを望んでいるかどうかは本当に明確ではありません。 –

関連する問題