scipy.stats.qmc.
MultivariateNormalQMC#
- 类 scipy.stats.qmc.MultivariateNormalQMC(mean, cov=无, *, cov_root=无, inv_transform=真, engine=无, seed=无)[来源]#
从多变量正态 \(N(\mu, \Sigma)\) 中进行 QMC 采样。
- 参数:
- 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,可选
准蒙特卡罗引擎采样器。如果为 None,则使用
Sobol
。- seed{None,int,
numpy.random.Generator
,可选} 仅当 engine 为 None 时使用。如果 seed 为 int 或 None,则使用
np.random.default_rng(seed)
创建新的numpy.random.Generator
。如果 seed 已经是Generator
实例,则使用所提供的实例。
示例
>>> import matplotlib.pyplot as plt >>> from scipy.stats import qmc >>> dist = qmc.MultivariateNormalQMC(mean=[0, 5], cov=[[1, 0], [0, 1]]) >>> sample = dist.random(512) >>> _ = plt.scatter(sample[:, 0], sample[:, 1]) >>> plt.show()
方法
random
([n])从多元正态分布中绘制 n 个 QMC 样本。