Saya mencoba untuk menulis sebuah fungsi yang menghasilkan suara yang terdistribusi secara seragam yang berasal dari bola p-norma dimensi:
Saya menemukan solusi yang mungkin untuk lingkaran ( ) ( http://mathworld.wolfram.com/DiskPointPicking.html ), namun saya mengalami kesulitan untuk memperluas ini untuk nilai berbeda .p
Saya telah mencoba melakukannya dengan hanya menggambar sampel acak dari distribusi yang seragam, dan menggambar ulang ketika tidak memenuhi batasan yang diberikan. Namun selain itu menjadi solusi yang jelek itu juga menjadi tidak layak secara komputasi untuk dimensi tinggi.
simulation
noise
Taeke de Haan
sumber
sumber
Jawaban:
Saya menemukan solusi lengkap dalam sebuah makalah seperti yang disarankan oleh kjetil b halvorsen ( https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=758215 ). Sejujurnya saya kesulitan memahami matematika di baliknya, tetapi algoritma akhirnya cukup sederhana. jika kita memiliki dimensi, jari-jari dan norma dari:r pn r hal
1) menghasilkan skalar nyata acak independen , di mana adalah distribusi Gaussian Umum (dengan kekuatan berbeda di eksponen bukan hanya )ε i = ˉ G ( 1 / p , p ) ˉ G ( μ , σ 2 ) e - | x | p p = 2n εsaya= G¯( 1 / p , p ) G¯( μ , σ2) e- | x |hal p = 2
2) membangun vektor komponen , di mana adalah tanda acak independens i * ε i s ix ssaya∗ εsaya ssaya
3) Hasilkan , di mana adalah variabel acak yang terdistribusi secara merata dalam interval [0, 1]. wz= w1 / n w
4) mengembalikany= r zx| | x | |hal
sumber
Menggunakan variabel multivariat terdistribusi secara homogen
Taeke menyediakan tautan ke artikel yang teksnya di bawah ini menjadi lebih intuitif dengan menjelaskan secara khusus kasus 2-norma dan 1-norma.
2 norma∥x∥2≤r
arah sampel
Anda dapat menggunakan hasil ini http://mathworld.wolfram.com/HyperspherePointPicking.html
Variabel Gaussian terdistribusi multivariat (dengan matriks kovarian identitas) hanya bergantung pada jarak, atau jumlah kuadrat.X
Dengan demikian terdistribusi secara merata pada permukaan n-dimensional-hypersphere.X∥X∥2
jarak sampel
Untuk menyelesaikan Anda hanya perlu mengambil sampel jarak, untuk mengubah distribusi homogen pada bola menjadi distribusi homogen dalam bola. (yang kurang lebih mirip dengan contoh tertaut Anda untuk memilih titik disk)
Jika Anda hanya akan sampel sebagai distribusi seragam maka Anda akan memiliki kepadatan relatif lebih tinggi dekat pusat (timbangan Volume sebagai sehingga sebagian kecil poin akan berakhir di volume , yang lebih padat dekat pusat dan tidak berarti distribusi seragam)r rn r rn
Jika sebaliknya Anda menggunakan akar ke- dari variabel yang diambil sampel dari distribusi yang seragam, maka Anda mendapatkan distribusi yang merata.n
1 norma∥x∥1≤r
arah
Dalam hal ini Anda mengambil sampel dari distribusi Laplace alih-alih distribusi Gaussian dan dibagi dengan 1-norma. The terdistribusi secara seragam pada bola 1-norma n-dimensi.X X|X|1
Saya tidak punya bukti formal, hanya intuisi
(Karena pdf independen dari posisi, Anda akan mengharapkan untuk setiap area / volume yang sangat kecil dengan 1-norma yang sama memiliki probabilitas yang sama untuk dan ketika Anda menciutkannya ke permukaan unit, )f ( x ) d Af(x)dV f(x)dA
tetapi pengujian dengan simulasi terlihat bagus.
jarak
Jaraknya sama dengan kasus 2-norma (volume masih berskala ).rn
p-norm∥x∥p≤r
Dalam hal ini, jika Anda ingin mengikuti prinsip yang sama, Anda perlu mengambil sampel dari distribusi dengan (saya berhipotesis). Ini adalah distribusi normal umum dan mungkin berhubungan dengan distribusi disebutkan oleh Taeke. G ( )f(x)∝e|x|p G()
sumber