Python でカスタム分布を使用して乱数を生成する方法

Mary-Kate Olsen
リリース: 2024-11-17 18:38:01
オリジナル
597 人が閲覧しました

How to Generate Random Numbers with Custom Distributions in Python?

カスタム分布を使用した乱数の生成

プログラミングの分野では、乱数の生成は基本的なタスクです。誕生日をシミュレートする場合など、標準のランダム モジュールの分布が不十分なシナリオでは、ユーザー定義の分布に準拠した数値を生成する必要があります。

カスタム分布用の既存のモジュール

幸いなことに、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 サイトの他の関連記事を参照してください。

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