カスタム分布を使用した乱数の生成
プログラミングの分野では、乱数の生成は基本的なタスクです。誕生日をシミュレートする場合など、標準のランダム モジュールの分布が不十分なシナリオでは、ユーザー定義の分布に準拠した数値を生成する必要があります。
カスタム分布用の既存のモジュール
幸いなことに、Python の豊富なライブラリ エコシステムがこの問題の解決策を提供します。そのようなモジュールの 1 つが scipy.stats.rv_discrete で、これを使用すると、さまざまな値の確率を指定し、それに応じて乱数を生成できます。 rv_discrete の value パラメーターは、可能な値に対応する確率のリストを受け取ります。
scipy.stats.rv_discrete の使用例
rv_discrete の使用法を説明するには、次のことを考えてください。次の例:
import scipy.stats as stats # Define the probabilities probabilities = [0.1, 0.05, 0.05, 0.2, 0.4, 0.2] # Create the discrete distribution dist = stats.rv_discrete(values=(range(1, 7), probabilities)) # Generate random numbers random_numbers = dist.rvs(size=10)
追加オプション
scipy.stats.rv_discrete を超えて、Python の numpy.random.choice() は代替アプローチを提供します。 p キーワード パラメーターを使用して確率を指定すると、ユーザーはカスタム分布に基づいて乱数を生成できます。
Python 3.6 以降:random.choices()
Python 3.6 以降を使用している場合、random モジュールには、乱数を生成するプロセスを簡略化するrandom.choices() 関数が含まれています。カスタム分布。
結論
scipy.stats.rv_discrete、numpy.random.choice()、random.choices() のいずれを選択しても、Python はユーザー定義の分布に従う乱数を生成するための包括的なツール セット。これにより、統計上の課題に効果的に取り組むことができます。
以上がPython でカスタム分布を使用して乱数を生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。