Python でカスタム数値分布に準拠した乱数を生成するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-09 13:23:02
オリジナル
910 人が閲覧しました

How to Generate Random Numbers Conforming to a Custom Numerical Distribution in Python?

与えられた数値分布に基づいた乱数の生成

乱数の生成はプログラミングにおける一般的なタスクであり、多くの場合、値を生成する必要があります。特定の分布に従って。これは、特に分布が標準的でない場合、または既知の数学関数に従っていない場合に、困難になる可能性があります。

さまざまな値に対応する確率を含むファイルを所有するシナリオを考えてみましょう:

1 0.1
2 0.05
3 0.05
4 0.2
5 0.4
6 0.2
ログイン後にコピー

目的は、この分布に一致する乱数を生成することです。独自のカスタム ソリューションを考案することも可能ですが、既存のライブラリまたはモジュールを活用すると、タスクを大幅に簡素化できます。

SciPy の多用途オプション

SciPy の scipy.stats.rv_discrete ディストリビューションは、この問題に対するエレガントな解決策です。値パラメーターを使用して確率を指定することにより、特定の要件に合わせたカスタム分布を作成できます。分布オブジェクトの rvs() メソッドを使用すると、その分布に準拠した乱数を生成できます。

Numpy の利便性

Numpy の numpy.random.choice() 関数も使用できます。は、分布からランダムな値を生成するための便利なオプションを提供します。 p キーワード パラメーターを使用すると、確率のリストを渡すことができ、カスタム分布を指定できるようになります。例:

numpy.random.choice(numpy.arange(1, 7), p=[0.1, 0.05, 0.05, 0.2, 0.4, 0.2])
ログイン後にコピー

Python 3.6 以降

Python 3.6 では、random.choices() 関数が導入されました。この関数は、以下に基づいてランダムな値を生成する簡単な方法を提供します。配布物。一連の可能な値と対応する確率を引数として受け取ります。

これらの強力なライブラリと関数を利用することで、指定された数値分布に従う乱数を簡単に生成でき、正確なシミュレーションとデータ分析への道が開かれます。現実世界のシナリオと一致しています。

以上がPython でカスタム数値分布に準拠した乱数を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート