Apakah urutan perbedaan rendah bekerja di ruang diskrit?


9

Urutan perbedaan rendah dalam ruang nyata ([0,1]n) tampak seperti alat yang sangat baik untuk pengambilan sampel ruang sampel secara merata. Sejauh yang saya tahu, mereka menggeneralisasi dengan baik ke ruang nyata apa pun, jika Anda menggunakan peta yang sesuai (mis.[0,1][a,b] peta linear).

Apakah urutan seperti itu digeneralisasikan ke ruang diskrit? misalnya. jika saya memiliki ruang yang hanya memiliki dua elemen di setiap dimensi (mis. switch boolean), bisakah saya memetakannya saja[0,0.5]0; (0.5,1]1? Bagaimana dengan dimensi dengan lebih banyak elemen (mis. Sakelar 4-negara?). Dan untuk ruang dengan jumlah negara yang berbeda di setiap dimensi?

Intuisi saya mengatakan bahwa ini mungkin berhasil, terutama jika sub urutannya agak panjang, tetapi mungkin lebih baik untuk beberapa urutan daripada yang lain, tergantung pada jumlah negara (mis. Urutan Halton mungkin memiliki interaksi aneh dengan dimensi dengan sejumlah negara bagian utama, atau urutan Sobol mungkin hanya berfungsi untuk dimensi2nelemen). Tapi saya belum melakukan pengujian.

Jika ini tidak berhasil, mengapa tidak?

Jawaban:


2

Jawaban singkatnya adalah: Ya! Ini bisa bekerja, dan sesederhana mengalikan vektortn(0,1)d oleh bilangan bulat m, dan mengambil bagian integer dari masing-masing komponennya.

Jawaban yang lebih panjang adalah bahwa intuisi Anda benar, bahwa dalam praktiknya hasilnya beragam tergantung pada pilihan:

  • urutan mana yang Anda pilih (Halton, Sobol, dll.)
  • parameter dasar (misalnya, 2,3,5, ...)
  • dan pada tingkat yang lebih rendah, nilai m.

Namun, saya baru-baru ini menulis posting blog terperinci "Keefektifan urutan quasirandom yang tidak masuk akal , tentang cara mudah membuat urutan perbedaan rendah terbuka dalam dimensi arbitrer, yang jauh lebih dapat menerima diskritisasi daripada urutan perbedaan rendah yang ada saat ini, seperti urutan Halton dan Kronecker.

Bagian di pos yang disebut "Meliputi" secara khusus membahas pertanyaan Anda mengenai diskritisasi urutan perbedaan rendah.

Dalam kotak gambar berikut (yang menunjukkan titik latttice integer unik) dengan lebih sedikit merah menyiratkan distribusi yang lebih merata, karena setiap kotak merah menunjukkan bahwa sel tidak mengandung titik biru. Orang dapat dengan jelas melihat bagaimana bahkanR-setelah mendistribusikan poin dibandingkan dengan metode kontemporer lainnya.

Gambar: Discrete diskrepansi rendah. Urutan dalam dua dimensi

Solusinya adalah metode perulangan aditif (modulo 1) yang menggeneralisasi masalah 1-Dimensi yang solusinya bergantung pada Rasio Emas. Solusi untukdMasalah -dimensi, tergantung pada konstanta khusus ϕddimana ϕd adalah nilai terkecil, nilai riil positif x seperti yang

xd+1=x+1

Untuk d=1ϕ1=1.618033989..., yang merupakan rasio emas kanonik.

Untuk d=2, ϕ2=1.3247179572..., yang sering disebut konstanta plastik, dan memiliki beberapa sifat yang indah. Nilai ini diduga kemungkinan besar merupakan nilai optimal untuk masalah dua dimensi terkait [Hensley, 2002].

Jacob Rus telah memposting visualisasi yang indah dari urutan perbedaan rendah 2 dimensi ini, yang dapat ditemukan di sini .

Dengan konstanta spesial ini, perhitungan n- Istilah sekarang sangat sederhana dan cepat untuk dihitung:

R:tn=αα0+nαα(mod1),n=1,2,3,...
dimanaαα=(1ϕd,1ϕd2,1ϕd3,...1ϕdd),

Tentu saja, alasan ini disebut urutan perulangan adalah karena definisi di atas setara dengan

R:tn+1=tn+αα(mod1)

Dalam hampir semua contoh, pilihan αα0 tidak mengubah karakteristik utama, dan karena alasan kesederhanaan yang jelas, αα0=00adalah pilihan yang biasa. Namun, ada beberapa argumen, yang berkaitan dengan simetri, yang menyarankan ituαα0=1/21/2 adalah pilihan yang lebih baik.

Kode Python adalah

# 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)

Semoga itu bisa membantu!


2

Jika Anda memiliki jumlah ruang terbatas, Anda akan lebih baik dengan penghitungan eksplisit ruang yang mungkin dengan desain blok seimbang tidak lengkap yang dibangun di atasnya. Pada akhirnya, sifat-sifat urutan perbedaan rendah adalah asimptotik, dengan sifat yang diinginkan dicapai dengan panjang urutanN6s dimana sadalah dimensi ruang Anda. Jika jumlah kombinasi yang mungkin kurang dari itu, Anda bisa mengambil semua kombinasi yang mungkin dan mencapai desain yang seimbang dengan itu.

Pembaruan: ada buku yang membahas penggunaan QMC untuk proses Poisson dan uji coba Bernoulli. Mungkin Anda akan menemukan sesuatu yang berguna di sana, meskipun menurut saya itu sangat jauh dari nilai yang baik untuk uang. Untuk $ 15, mungkin. Saya menemukan itu agak ceroboh di tempat, mendorong ide-ide penulis (kadang-kadang aneh) daripada menggunakan apa yang dipahami sebagai metode terbaik dalam literatur.


Jawaban umum yang bagus, Stask, tetapi hanya benar-benar membahas asumsi di balik pertanyaan saya, dan bukan pertanyaan saya secara langsung. Terima kasih telah menunjukkan BIDB, tapi saya masih ingin tahu apakah urutan perbedaan rendah akan bekerja seperti yang saya jelaskan (ini mungkin hanya masalah klarifikasi tentang apa yang Anda maksud dengan "properti ... asimptotik).
naught101

Pertanyaan terpisah: bagaimana perbedaan BIDB dengan hypercubes latin orthogonal? Sepertinya pada dasarnya hal yang sama (walaupun mungkin berasal dari sudut yang berbeda). Juga, apa itu QMC?
naught101
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.