當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。