如何从Cantor发行中抽样?


19

Cantor分布中抽样的最佳方法是什么?它只有cdf,我们不能将其反转。


4
事实上,有人问它在数学:math.stackexchange.com/questions/1115907/...
RUser4512

以下是一些有趣的后续问题:标准偏差是多少?什么是产生力矩的功能?他们如何比较自己的同行统一分布的?:-)01个
豪伯

5
我喜欢你们通过引用math.stackexchange帖子创建的无限循环,该链接链接回到这里:p
Tasos Papastylianou

Answers:


23

易:从均匀样品从二进制到三进制分布和重新编码,解释每个“1”作为“2”。(这是逆概率变换方法:确实确实使CDF反相!)01个

数字

这是一个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执行什么?正如Tim所指出的,这种分布没有密度。它也没有任何离散原子。这是连续但不是绝对连续分布的典型示例。(我喜欢qcantorBTW 的实现,因为它利用矩阵乘法可能很快。)
whuber

1
我们必须记住,我们只处理实际分布的有限近似值。假设我们有10个三进制数字精度数字(实际上,它们的长度会更长),并且我们生成了0.0222020002来“表示”一个数字进一步扩展的变量。尽管相同的注释适用于具有连续rv的任何实值rv,但有限长度近似所代表的所有“表示”值也都“在集合中”。在实际的Cantor分布中,该十位数字序列的几乎所有“连续”都不在集合中。... ctd
Glen_b-恢复莫妮卡

1
@whuber我清楚地承认第二种句子中生成随机数的每种方法都是有限精度的。您选择重复它,并且您对它的强调表明您错过了我的实际观点;当我表示一个有限精度的连续变量时,这种有限近似值可以表示的实际值在“我们要生成的集合中”。当我将这样的变量表示为有限精度时,这种有限近似值可以表示的实际值几乎不在集合中。情况完全不同。... ctd
Glen_b-莫妮卡(Monica)还原

1
ctd ...不暗含对您的帖子的批评;读者可能会忽略这一点,并可能要考虑这一点,尤其是当他们试图通过模拟来推断Cantor集的属性时。
Glen_b-恢复莫妮卡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.