スポンサーリンク

【SciPy】正規分布からランダムに値を生成するstats.norm.rvs

Python

PythonのSciPyライブラリで正規分布からランダムに値を生成するには、stats.norm.rvsを用いる。

stats.norm.rvsの使い方

stats.norm.rvsの引数locに平均、引数scaleに標準偏差を指定すると、その値に応じた正規分布からランダムに値が1つ生成される。

from scipy import stats

print(stats.norm.rvs(loc=0, scale=1))
# 0.2266770764720358
print(stats.norm.rvs(loc=10, scale=2))
# 9.194304203126878

引数sizeを指定すると、指定した数に値が生成される。

print(stats.norm.rvs(loc=1, scale=3, size=3))
# [1.34680918 5.05441921 0.10882441]

print(stats.norm.rvs(loc=-1, scale=2, size=5))
# [ 0.85238602  0.25547611 -0.19558616 -1.21010082 -1.3517654 ]

正規分布に従った値が生成されいるか確認するために、平均10、標準偏差2の正規分布からランダムに10000個値を生成する。

import seaborn as sns

v = stats.norm.rvs(loc=10, scale=2, size=10000)
sns.displot(v)

関連記事、参考資料

コメント