我使用Scipy.stats.multivariate_normal从多元正态分布中抽取样本。如下所示:
from scipy.stats import multivariate_normal
# Assume we have means and covs
mn = multivariate_normal(mean = means, cov = covs)
# Generate some samples
samples = mn.rvs()
每次运行的样本都不一样。我如何总是得到相同的样本?我期待的是类似这样的结果:
mn = multivariate_normal(mean = means, cov = covs, seed = aNumber)
或
samples = mn.rsv(seed = aNumber)
1条答案
按热度按时间osh3o9ms1#
有两种方法:
rvs()
方法接受一个random_state
参数,它的值可以是一个整数种子,也可以是numpy.random.Generator
或numpy.random.RandomState
的一个示例,在这个例子中,我使用了一个整数种子:此版本使用
numpy.random.Generator
的示例:1.你可以为numpy的全局随机数生成器设置seed,这是
multivariate_normal.rvs()
在没有给定random_state
的情况下使用的生成器: