Як зробити вибірку з розподілу Кантора?


19

Що було б найкращим способом вибірки з розподілу Кантора ? Він має лише cdf, і ми не можемо його інвертувати.


4
Насправді, хтось запитав це з математики: math.stackexchange.com/questions/1115907/…
RUser4512

Ось кілька цікавих подальших питань: що таке стандартне відхилення? Яка функція генерування моментів? Як вони порівнюються зі своїми аналогами по Уніфікованому розподілу? :-)(0,1)
whuber

5
Мені подобається нескінченний цикл, який ви створили, посилаючись на пост math.stackexchange, який посилається тут: p
Tasos Papastylianou

Відповіді:


23

Легко: зразок з рівномірного (0,1) розподілу та перекодування від двійкового до потрійного, інтерпретуючи кожне "1" як "2". (Це зворотний підхід до перетворення ймовірності: він дійсно інвертує CDF!)

Малюнок

Ось Rреалізація, написана таким чином, що повинна легко підходити до практично будь-якого обчислювального середовища.

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=".")

3
Раніше в цьому році я почав трохи більш повну реалізацію в github.com/Henrygb/CantorDist.R з функціями rCantor(), qCantor(), pCantor()і менш значущіdCantor()
Генрі

1
@Henry Що б dcantorреалізувати? Як зазначає Тім, цей розподіл не має щільності. Він також не має дискретних атомів. Це архетипний приклад безперервного, але не абсолютно безперервного розподілу. (Мені подобається реалізація qcantor, BTW - це, ймовірно, швидко завдяки використанню матричного множення.)
whuber

1
Ми повинні мати на увазі, що ми маємо справу лише з кінцевим наближенням до фактичного розподілу. Скажімо, у нас було 10 потрійних цифр точності (на практиці вони будуть довші), і ми створили 0,0222020002, щоб "представляти" змінну, цифри якої поширюються далі. Хоча той самий коментар стосується будь-яких реально оцінених rv з безперервним rv, усі "представлені" значення, для яких може стояти наближення кінцевої довжини, також є "в наборі". У фактичному розподілі Кантора майже всі «продовження» цієї десятизначної послідовності відсутні у безлічі. ...
ctd

1
@whuber Я чітко визнав, що кожен спосіб генерування випадкових чисел є кінцевою точністю у моєму другому реченні. Те, що ти вирішив повторити це, і наголос, який ти йому надавав, говорить про те, що ти пропустив мою реальну думку там; коли я представляю безперервну змінну до кінцевої точності, реальні значення, які може представляти таке кінцеве наближення, знаходяться "в наборі", з якого ми хочемо генерувати. Коли я представляю таку змінну, як ця, з обмеженою точністю, реальні значення, які може представляти таке кінцеве наближення, майже всі не в наборі. Це скоріше інший випадок. ...
ctd

1
ctd ... жодна критика вашої публікації не передбачала; читачі могли не помітити і, можливо, захочуть розглянути, особливо якщо вони намагаються зробити висновок про властивості набору Cantor, імітуючи з нього.
Glen_b -Встановити Моніку
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.