在 scipy.stats 中,大多数分布都有 rvs 方法,它提供随机样本。 但我没有找到解释随机样本是什么? 可能性?不,因为它超过 1。
最佳答案
默认情况下,调用 rvs 方法一次会生成伪随机变量的单个值,而不是伪随机样本。例如,在这里我们看到了对形状参数为 1 和 3 的 beta 分布调用 rvs 方法的一系列结果。
>>> from scipy.stats import beta
>>> beta.rvs(1,3)
0.11573182734943342
>>> beta.rvs(1,3)
0.711001211281741
>>> beta.rvs(1,3)
0.13358246108665714
如果需要为此分布重复一系列伪随机值,则可以使用 random_state 参数,如此处所示。
>>> beta.rvs(1,3,random_state=1)
0.2570633444085756
>>> beta.rvs(1,3)
0.006105422238509487
>>> beta.rvs(1,3)
0.03773135132269083
>>> beta.rvs(1,3,random_state=1)
0.2570633444085756
>>> beta.rvs(1,3)
0.006105422238509487
>>> beta.rvs(1,3)
0.03773135132269083
澄清(我希望):
beta.rvs 的完整签名是:
rvs(a、b、loc=0、scale=1、size=1、random_state=None)
当我第一次写到此方法生成伪随机变量的单个值时,我应该指出这将是默认,因为size=1
。也就是说,该方法默认生成大小为 1 的样本。通过将其 size
参数设置为大于 1 的值,该方法显然能够生成更大的(伪)随机样本。
关于python - SCIPY Python 中的 RVS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40333203/