scipy.stats.qmc.

update_discrepancy#

scipy.stats.qmc.update_discrepancy(x_new, sample, initial_disc)[source]#

使用新样本更新中心化差异。

参数:
x_newarray_like (1, d)

要添加到sample中的新样本。

samplearray_like (n, d)

初始样本。

initial_discfloat

sample 的中心化差异。

返回:
discrepancyfloat

包含 x_newsample 的样本的中心化差异。

示例

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

>>> 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)
>>> disc_init = qmc.discrepancy(space[:-1], iterative=True)
>>> disc_init
0.04769081147119336
>>> qmc.update_discrepancy(space[-1], space[:-1], disc_init)
0.008142039609053513