当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy qmc.MultinomialQMC用法及代码示例


本文简要介绍 python 语言中 scipy.stats.qmc.MultinomialQMC 的用法。

用法:

class  scipy.stats.qmc.MultinomialQMC(pvals, n_trials, *, engine=None, seed=None)#

来自多项分布的 QMC 抽样。

参数

pvals 数组 (k,)

大小概率向量 k ,其中 k 是类别数。元素必须为非负且总和为 1。

n_trials int

试验次数。

engine QMCEngine,可选

Quasi-Monte 卡罗引擎采样器。如果没有,则使用 Sobol

seed {无,整数, numpy.random.Generator },可选

仅在以下情况下使用引擎是无。如果种子是 int 或 None,一个新的numpy.random.Generator是使用创建的np.random.default_rng(seed).如果种子已经是一个Generator实例,然后使用提供的实例。

例子

让我们定义 3 个类别,对于给定的样本,每个类别的试验总和为 8。每个类别的试验数量由与每个类别关联的 pval 确定。然后,我们对该分布进行 64 次采样。

>>> import matplotlib.pyplot as plt
>>> from scipy.stats import qmc
>>> dist = qmc.MultinomialQMC(
...     pvals=[0.2, 0.4, 0.4], n_trials=10, engine=qmc.Halton(d=1)
... )
>>> sample = dist.random(64)

我们可以绘制样本并验证每个类别的试验次数中位数是否遵循普瓦尔斯。那将是pvals * n_trials = [2, 4, 4].

>>> fig, ax = plt.subplots()
>>> ax.yaxis.get_major_locator().set_params(integer=True)
>>> _ = ax.boxplot(sample)
>>> ax.set(xlabel="Categories", ylabel="Trials")
>>> plt.show()
scipy-stats-qmc-MultinomialQMC-1.png

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.stats.qmc.MultinomialQMC。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。