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


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


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

用法:

scipy.stats.qmc.discrepancy(sample, *, iterative=False, method='CD', workers=1)#

给定样本的差异。

参数

sample 数组 (n, d)

计算差异的样本。

iterative 布尔型,可选

如果不使用它来更新差异,则必须为 False。默认为假。有关详细信息,请参阅注释。

method str,可选

差异类型,可以是 CDWDMDL2-star 。有关详细信息,请参阅注释。默认为 CD

workers 整数,可选

用于并行处理的工作人员数量。如果给定 -1,则使用所有 CPU 线程。默认值为 1。

返回

discrepancy 浮点数

差异。

注意

差异是用于评估超立方体中多个样本的空间填充的均匀性标准。差异量化了超立方体上的连续均匀分布与 不同样本点上的离散均匀分布之间的距离。

该值越低,参数空间的覆盖率越好。

对于超立方体的一组子集,差异是其中一个子集中的样本点分数与该子集的体积之间的差异。对应于不同的子集集合,存在不同的差异定义。某些版本对子集采用均方根差异而不是最大值。

如果满足以下标准 [1],则均匀性度量是合理的:

  1. 它在置换因子和/或运行下是不变的。

  2. 它在坐标旋转下是不变的。

  3. 它不仅可以测量样本在超立方体上的均匀性,还可以测量样本在低维超立方体的非空子集上的投影均匀性。

  4. 有一些合理的几何意义。

  5. 它很容易计算。

  6. 它满足Koksma-Hlawka-like 不等式。

  7. 它与实验设计中的其他标准一致。

有四种方法可用:

  • CD:居中差异 - 子空间涉及超立方体的一个角

  • WD : Wrap-around 差异 - 子空间可以环绕边界

  • MD:混合差异 - 覆盖更多标准的 CD/WD 之间的混合

  • L2-star:L2 星差异 - 类似于 CD 但旋转变体

有关每种方法的精确定义,请参见 [2]。

最后,使用 iterative=True ,可以像我们有 样本一样计算差异。如果我们想在采样中添加一个点并检查差异最小的候选者,这很有用。然后,您可以使用 update_discrepancy 更新与每个候选人的差异。这种方法比计算大量候选的差异要快。

参考

[1]

方等人。 “计算机实验的设计和建模”。计算机科学与数据分析系列,2006 年。

[2]

周Y.-D.等。 “quasi-random 点集的混合差异。”复杂性杂志,29 (3-4),第 283-301 页,2013 年。

[3]

T. T. 沃诺克。 “低差异点集的计算研究。”数论在数值分析中的应用,学术出版社,第 319-343 页,1972 年。

例子

使用差异计算样本的质量:

>>> import numpy as np
>>> from scipy.stats import qmc
>>> space = np.array([[1, 3], [2, 6], [3, 2], [4, 5], [5, 1], [6, 4]])
>>> l_bounds = [0.5, 0.5]
>>> u_bounds = [6.5, 6.5]
>>> space = qmc.scale(space, l_bounds, u_bounds, reverse=True)
>>> space
array([[0.08333333, 0.41666667],
       [0.25      , 0.91666667],
       [0.41666667, 0.25      ],
       [0.58333333, 0.75      ],
       [0.75      , 0.08333333],
       [0.91666667, 0.58333333]])
>>> qmc.discrepancy(space)
0.008142039609053464

我们还可以使用 iterative=True 迭代计算 CD 差异。

>>> disc_init = qmc.discrepancy(space[:-1], iterative=True)
>>> disc_init
0.04769081147119336
>>> qmc.update_discrepancy(space[-1], space[:-1], disc_init)
0.008142039609053513

相关用法


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