与えられた数値分布に基づいた乱数の生成
乱数の生成はプログラミングにおける一般的なタスクであり、多くの場合、値を生成する必要があります。特定の分布に従って。これは、特に分布が標準的でない場合、または既知の数学関数に従っていない場合に、困難になる可能性があります。
さまざまな値に対応する確率を含むファイルを所有するシナリオを考えてみましょう:
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 サイトの他の関連記事を参照してください。