Bagaimana cara sampel dari distribusi Cantor?

19

Apa cara terbaik untuk mengambil sampel dari distribusi Cantor ? Ini hanya memiliki cdf dan kami tidak dapat membaliknya.

Tim
sumber
4
Sebenarnya, seseorang menanyakannya di Matematika: math.stackexchange.com/questions/1115907/...
RUser4512
Berikut adalah beberapa pertanyaan lanjutan yang menarik: apa standar deviasi? Apa fungsi yang menghasilkan momen? Bagaimana mereka membandingkan dengan rekan mereka untuk distribusi Uniform ? :-)(0,1)
whuber
5
Saya suka infinite loop yang kalian buat dengan mereferensikan posting math.stackexchange, yang menghubungkan kembali di sini: p
Tasos Papastylianou

Jawaban:

23

Mudah: sampel dari distribusi Uniform dan recode dari binary ke ternary, menafsirkan masing-masing "1" sebagai "2". (Ini adalah pendekatan transformasi probabilitas terbalik: ia memang membalik CDF!)(0,1)

Angka

Berikut ini adalah Rimplementasi, ditulis dengan cara yang seharusnya siap untuk port ke hampir semua lingkungan komputasi.

binary.to.ternary <- function(x) {
  y <- 0
  x <- round(2^52 * x)
  for (i in 1:52) {
    y <- y + 2*(x %% 2)
    y <- y/3
    x <- floor(x/2)
  }
  y
}

n <- 1000
x <- runif(n)
y <- binary.to.ternary(x)
plot(ecdf(y), pch=".")
whuber
sumber
3
Awal tahun ini saya mulai implementasi sedikit lebih lengkap di github.com/Henrygb/CantorDist.R dengan fungsi rCantor(), qCantor(),pCantor() dan kurang bermaknadCantor()
Henry
1
@Henry Apa yang akan dcantorditerapkan? Sebagaimana dicatat oleh Tim, distribusi ini tidak memiliki kepadatan. Ia juga tidak memiliki atom diskrit. Ini adalah contoh dasar dari distribusi kontinu tetapi tidak sepenuhnya kontinu. (Saya suka implementasi qcantor, BTW - kemungkinan cepat berdasarkan eksploitasi multiplikasi matriks.)
whuber
1
Kita harus ingat bahwa kita hanya berurusan dengan perkiraan terbatas untuk distribusi aktual. Katakanlah kita memiliki 10 angka presisi digit ternary (dalam praktiknya akan lebih panjang), dan kami menghasilkan 0,0222020002 untuk "mewakili" variabel yang digitnya meluas lebih jauh. Sementara komentar yang sama berlaku untuk setiap rv bernilai riil dengan rv kontinu, semua nilai "terwakili" yang dapat diaproksimasi dengan panjang terbatas juga "dalam set". Dalam distribusi Cantor yang sebenarnya, hampir semua "kelanjutan" dari urutan sepuluh digit itu tidak ada dalam set. ... ctd
ctd Glen_b -Reinstate Monica
1
@whuber Saya dengan jelas mengakui bahwa setiap metode menghasilkan angka acak adalah ketepatan yang terbatas dalam kalimat kedua saya. Bahwa Anda memilih untuk mengulanginya dan penekanan yang Anda berikan menunjukkan bahwa Anda melewatkan poin saya yang sebenarnya di sana; ketika saya merepresentasikan variasi kontinu hingga presisi berhingga, nilai-nilai nyata yang dapat diwakili oleh pendekatan terbatas seperti itu adalah "dalam set" yang ingin kita hasilkan. Ketika saya merepresentasikan variabel seperti ini hingga ketelitian terbatas, nilai-nilai nyata yang dapat didekati oleh pendekatan terbatas hampir semuanya tidak ada dalam set. Ini kasus yang berbeda. ...
ctd
1
ctd ... tidak ada kritik terhadap posting Anda yang tersirat; itu adalah poin yang mungkin dilewatkan oleh pembaca, dan mungkin ingin dipertimbangkan, terutama jika mereka mencoba menyimpulkan properti dari Cantor yang ditetapkan dengan mensimulasikannya.
Glen_b -Reinstate Monica