scipy.stats.qmc.MultivariateNormalQMC¶
- class scipy.stats.qmc.MultivariateNormalQMC(mean, cov=None, *, cov_root=None, inv_transform=True, engine=None, seed=None)[源代码]¶
多元正态分布的QMC抽样 \(N(\mu, \Sigma)\) 。
- 参数
- meanarray_like(d,)
平均向量。哪里
d
是维度。- covarray_like(d,d),可选
协方差矩阵。如果省略,请使用 cov_root 取而代之的是。如果两者都有 cov 和 cov_root 都被省略,则使用单位矩阵。
- cov_rootarray_like(d,d‘),可选
协方差矩阵的根分解,其中
d'
可能小于d
如果协方差不是满秩。如果省略,请使用 cov 。- inv_transform布尔值,可选
如果为True,则使用逆变换而不是Box-Muller。默认值为True。
- engineQMCEngine,可选
准蒙特卡罗发动机采样器。如果没有,
Sobol
是使用的。- seed :{无,整型,
numpy.random.Generator
},可选{无,整型, 如果 seed 是不是没有
numpy.random.Generator
使用的是Singleton。如果 seed 是一个整型、一个新的Generator
实例,其种子设定为 seed 。如果 seed 已经是一个Generator
实例,则使用该实例。
示例
>>> import matplotlib.pyplot as plt >>> from scipy.stats import qmc >>> engine = qmc.MultivariateNormalQMC(mean=[0, 5], cov=[[1, 0], [0, 1]]) >>> sample = engine.random(512) >>> _ = plt.scatter(sample[:, 0], sample[:, 1]) >>> plt.show()
方法:
fast_forward
\(n)通过以下方式快进序列 n 位置。
random
\([n] )画 n QMC样本来自多元正态分布。
reset
\()将引擎重置为基本状态。