SCIPY Python 中的 RVS

Vla*_*yeu 3 python scipy

在 scipy.stats 中,大部分分布都有 rvs 方法,它提供随机样本。但我没有找到解释随机样本什么?可能性?不,因为它大于 1。

Bil*_*ell 6

默认情况下,调用rvs方法一次会生成伪随机变量的单个值,而不是伪随机样本。例如,在这里我们看到了一系列调用 rvs 方法的结果,用于形状参数为 1 和 3 的 beta 分布。

>>> from scipy.stats import beta
>>> beta.rvs(1,3)
0.11573182734943342
>>> beta.rvs(1,3)
0.711001211281741
>>> beta.rvs(1,3)
0.13358246108665714
Run Code Online (Sandbox Code Playgroud)

如果有必要为该分布重复一系列伪随机值,则可以使用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
Run Code Online (Sandbox Code Playgroud)

澄清(我希望):

的完整签名beta.rvs是:

rvs(a, b, loc=0, scale=1, size=1, random_state=None)

当我第一次写到这个方法产生一个伪随机变量的单个值时,我应该指出这将是默认的,因为size=1. 也就是说,该方法默认生成大小为 1 的样本。通过将其size参数设置为大于 1 的值,该方法显然能够产生更大的(伪)随机样本。