Anda mungkin menyukai keluarga lokasi berdasarkan jarak Hamming , karena kekayaan, fleksibilitas, dan kemampuan penelusuran komputasinya.
Notasi dan definisi
Ingatlah bahwa dalam modul berdimensi-bebas bebas dengan basis , jarak Hamming antara dua vektor dan adalah jumlah tempat di mana .( e 1 , e 2 , … , e J ) δ H v = v 1 e 1 + ⋯ + v J e J w = w 1 e 1 + ⋯ + w J e J i v i ≠ w iV(e1,e2,…,eJ) δHv=v1e1+⋯+vJeJw=w1e1+⋯+wJeJivi≠wi
Diberikan asal , partisi jarak Hamming ke dalam bola , , di mana . Ketika cincin dasar memiliki elemen, memiliki elemen dan memiliki elemen. (Ini mengikuti segera dari mengamati bahwa unsur-unsur berbeda dari persis di tempat - yang adaV S i ( v 0 )i=0,1,…,J S i ( v 0 )={ w ∈V | δ H ( w , v 0 )=i}nV n J S i ( v ) ( Jv0∈VVSi(v0)i=0,1,…,JSi(v0)={w∈V | δH(w,v0)=i}nVnJSi(v)Si(v)vi ( J(Ji)(n−1)iSi(v)vi n-1(Ji)kemungkinan - dan bahwa ada, secara mandiri, pilihan nilai untuk setiap tempat.)n−1
Terjemahan affine dalam berlaku secara alami pada distribusinya untuk memberi keluarga lokasi. Khususnya, ketika adalah distribusi apa pun pada (yang berarti sedikit lebih dari , untuk semua , dan ) dan adalah elemen , maka juga merupakan distribusi dimanaf V f : V → [ 0 , 1 ] f ( v ) ≥ 0 v ∈ V ∑ v ∈ V f ( v ) = 1 w V f ( w )VfVf:V→[0,1]f(v)≥0v∈V∑v∈Vf(v)=1wVf(w)
f(w)(v)=f(v−w)
untuk semua . Sebuah keluarga lokasi distribusi adalah invarian dalam tindakan ini: menyiratkan untuk semua .Ω f ∈ Ω f ( v ) ∈ Ω v ∈ Vv∈V Ωf∈Ωf(v)∈Ωv∈V
Konstruksi
Ini memungkinkan kami untuk menentukan keluarga distribusi yang berpotensi menarik dan bermanfaat dengan menentukan bentuk mereka pada satu vektor tetap , yang untuk kenyamanan saya akan menjadi , dan menerjemahkan "menghasilkan distribusi" ini di bawah tindakan untuk mendapatkan keluarga lengkap . Untuk mencapai properti yang diinginkan yang harus memiliki nilai yang sebanding di titik terdekat, cukup minta properti dari semua distribusi yang dihasilkan.0 = ( 0 , 0 , ... , 0 ) V Ω fv0=(0,0,…,0)VΩf
Untuk melihat bagaimana ini bekerja, mari kita membangun keluarga lokasi semua distribusi yang menurun dengan meningkatnya jarak. Karena hanya jarak Hamming yang mungkin, pertimbangkan setiap urutan penurunan bilangan real non-negatif = . Seta 0 ≠ a 0 ≥ a 1 ≥ ⋯ ≥ a J ≥ 0J+1a0≠a0≥a1≥⋯≥aJ≥0
A=∑i=0J(n−1)i(Ji)ai
dan tentukan fungsi olehfa:V→[0,1]
fa(v)=aδH(0,v)A.
Kemudian, seperti mudah untuk memeriksa, adalah distribusi pada . Selanjutnya, jika dan hanya jika adalah kelipatan positif dari (sebagai vektor dalam ). Jadi, jika kita suka, kita dapat membuat standar menjadi . V f suatu = f sebuah ' a ' a R J + 1 a a 0 = 1faVfa=fa′a′aRJ+1aa0=1
Dengan demikian, konstruksi ini memberikan parameterisasi eksplisit dari semua distribusi invarian lokasi yang berkurang dengan jarak Hamming: distribusi tersebut dalam bentuk untuk beberapa urutan dan beberapa vektor . a = 1 ≥ a 1 ≥ a 2 ≥ ⋯ ≥ a J ≥ 0 v ∈ Vf(v)aa=1≥a1≥a2≥⋯≥aJ≥0v∈V
Parameterisasi ini memungkinkan spesifikasi priors yang sesuai: faktorkan menjadi prior di lokasi dan prior pada shape . (Tentu saja orang dapat mempertimbangkan kumpulan prior yang lebih besar di mana lokasi dan bentuk dan tidak independen, tetapi ini akan menjadi usaha yang lebih rumit.)ava
Menghasilkan nilai acak
Salah satu cara untuk mengambil sampel dari adalah secara bertahap dengan memfaktorkannya ke dalam distribusi di atas radio bola dan distribusi lain yang tergantung pada setiap bola:f(v)a
Gambarkan indeks dari distribusi diskrit pada diberikan oleh probabilitas , di mana didefinisikan seperti sebelumnya .{ 0 , 1 , … , J } ( Ji{0,1,…,J}A(Ji)(n−1)iai/AA
Indeks sesuai dengan himpunan vektor yang berbeda dari tepat di tempat . Oleh karena itu, memilih orang-orang menempatkan keluar dari mungkin himpunan bagian, memberikan masing-masing probabilitas yang sama. (Ini hanya contoh dari subscript dari tanpa pengganti.) Biarkan bagian ini tempat ditulis .v i i ( Jivii iJiI(Ji)iJ iI
Gambarkan elemen dengan secara independen memilih nilai secara seragam dari himpunan skalar yang tidak sama dengan untuk semua dan sebaliknya atur . Secara ekuivalen, buat vektor dengan memilih secara seragam secara acak dari skalar bukan nol ketika dan jika tidak, atur . Set .w j v j j ∈ I w j = v j u u j j ∈ I u j = 0 w = v + uwwjvjj∈Iwj=vjuujj∈Iuj=0w=v+u
Langkah 3 tidak perlu dalam kasus biner.
Contoh
Berikut ini adalah R
implementasi untuk menggambarkan.
rHamming <- function(N=1, a=c(1,1,1), n=2, origin) {
# Draw N random values from the distribution f_a^v where the ground ring
# is {0,1,...,n-1} mod n and the vector space has dimension j = length(a)-1.
j <- length(a) - 1
if(missing(origin)) origin <- rep(0, j)
# Draw radii `i` from the marginal distribution of the spherical radii.
f <- sapply(0:j, function(i) (n-1)^i * choose(j,i) * a[i+1])
i <- sample(0:j, N, replace=TRUE, prob=f)
# Helper function: select nonzero elements of 1:(n-1) in exactly i places.
h <- function(i) {
x <- c(sample(1:(n-1), i, replace=TRUE), rep(0, j-i))
sample(x, j, replace=FALSE)
}
# Draw elements from the conditional distribution over the spheres
# and translate them by the origin.
(sapply(i, h) + origin) %% n
}
Sebagai contoh penggunaannya:
test <- rHamming(10^4, 2^(11:1), origin=rep(1,10))
hist(apply(test, 2, function(x) sum(x != 0)))
Ini membutuhkan detik untuk menggambar elemen awal dari distribusi mana , (case biner), , dan menurun secara eksponensial.10 4 f ( v ) a J = 10 n = 2 v = ( 1 , 1 , … , 1 ) a = ( 2 11 , 2 10 , … , 2 1 )0.2104f(v)aJ=10n=2v=(1,1,…,1)a=(211,210,…,21)
(Algoritma ini tidak mengharuskan berkurang; dengan demikian, ia akan menghasilkan variasi acak dari sembarang keluarga lokasi, bukan hanya yang unimodal.)a