Sampling

低差異序列是否適用於離散空間?

  • March 30, 2012

真實空間中的低差異序列() 似乎是對樣本空間進行均勻採樣的非常出色的工具。據我所知,如果您使用適當的地圖(例如。線性地圖)。

這樣的序列可以推廣到離散空間嗎?例如。如果我的空間在每個維度中只有兩個元素(例如布爾開關),我可以映射嗎? 對於具有更多元素的維度(例如 4 狀態開關?),該怎麼辦?對於每個維度中具有不同狀態數的空間?

我的直覺說這可能行得通,特別是如果子序列很長,但它可能對某些序列比其他序列更好,這取決於狀態的數量(例如,Halton 序列可能與一個維度有奇怪的交互質數狀態或Sobol 序列可能僅適用於具有元素)。但是我沒有做任何測試。

如果這不起作用,為什麼不呢?

簡短的回答是:是的!它可以工作,並且就像乘以向量一樣簡單由一個整數,並取其每個分量的整數部分。

更長的答案是您的直覺是正確的,實際上它會根據以下選擇產生不同的結果:

  • 您選擇哪個序列(Halton、Sobol 等)
  • 基礎參數(例如,2,3,5,…)
  • 在較小程度上,價值.

但是,我最近寫了一篇詳細的博客文章“擬隨機序列的不合理有效性,關於如何輕鬆創建任意維度的開放式低差異序列,這比現有的現有低差異序列更適合離散化,例如Halton 和 Kronecker 序列。

帖子中名為“覆蓋”的部分專門處理您離散低差異序列的問題。

在下圖中,紅色較少的正方形(表示唯一整數格點)意味著分佈更均勻,因為每個紅色正方形表示單元格不包含藍色點。可以清楚地看到即使與其他當代方法相比,-sequence 分配點。

圖片:二維離散低差異序列

該解決方案是一種加法遞歸方法(模 1),它概括了其解決方案取決於黃金比例的一維問題。解決方案維問題,取決於一個特殊的常數, 在哪裡是最小的正實值的值這樣

為了,  ,這是典型的黃金比例。

為了,,通常稱為塑性常數,具有一些優美的特性。該值被推測為最有可能是相關二維問題的最佳值 [Hensley, 2002]。

Jacob Rus 發布了這個二維低差異序列的漂亮可視化,可以在這裡找到。

有了這個特殊的常數,計算-th 項現在計算起來非常簡單和快速:

當然,之所以稱之為遞歸序列,是因為上面的定義等價於

在幾乎所有情況下,選擇不改變關鍵特徵,因此出於明顯簡單的原因,是通常的選擇。然而,有一些關於對稱性的論點表明, 是更好的選擇。

Python代碼是

# Use Newton-Rhapson-Method
def gamma(d):
   x=1.0000
   for i in range(20):
       x = x-(pow(x,d+1)-x-1)/((d+1)*pow(x,d)-1)
   return x

d=5
n=1000

# m can be any number.
# In the diagram above it is chosen to be exactly sqrt of n, 
# simply to to make the visualization more intuitive 
# so that ideally each cell should have exactly one dot.
m=10

g = gamma(d)
alpha = np.zeros(d)                 
for j in range(d):
   alpha[j] = pow(1/g,j+1) %1
z = np.zeros((n, d))    
c = (np.zeros((n,d)).astype(int)  

for i in range(n):
   z = (0.5 + alpha*(i+1)) %1
   c = (np.floor(m *z)).astype(int)
print(c)

希望有幫助!

引用自:https://stats.stackexchange.com/questions/25528

comments powered by Disqus

相關問答