在 R 中解决圣彼得堡悖论

Posted

技术标签:

【中文标题】在 R 中解决圣彼得堡悖论【英文标题】:solving St Peterburg Paradox in R 【发布时间】:2010-11-30 05:24:09 【问题描述】:

圣彼得堡悖论是一种赌博游戏,您需要支付固定金额才能进入游戏。你反复掷硬币,直到出现反面。您的收益是 2^n 从 1 到 n 的总和,其中 n 是第一个反面之前的正面数量。如果这没有意义,请尝试***文章

我正在写一篇关于预期效用理论的论文,并且正在写关于圣彼得堡悖论的文章,​​并认为尝试在 R 中做一个蒙特卡罗来计算你期望的效果会很好(尽管与我的论文无关) 10000 次试验后获胜

我基本上想在 R 中做http://www.mathematik.com/Petersburg/Petersburg.html 10,000 次试验

【问题讨论】:

听起来是个很棒的项目。你为什么在这里发帖?你有问题吗? 这与 50/50 赌场游戏中的累进式竞价密切相关,在该游戏中,您从固定金额 X 开始,如果您输了,则出价 X*2,然后是 X*4,等等。如果您有无限的资金缓冲,你一定会在最后赢得这个最初的 X。 链接的网站无法正常运行,因为如果您每次都支付 20 美元,但您没有获胜。它仅在工资达到 2^3 左右时才有效。 crossvalidated.com(又名stats.stackexchange.com)的统计学家将能够为您提供进一步的帮助。 【参考方案1】:

这在 R 中很容易。游戏遵循 p=1/2 的几何分布:

N <- 1e+4
out <- replicate(N, mean(2^rgeom(1000, .5)))

因为游戏的预期收益是无穷大的,你会得到一个极度倾斜的经验分布,你甚至无法正确地描述它:

hist(out)

对数刻度可能是一个更好的主意。

hist(log(out))

【讨论】:

非常感谢 vitoshka!我知道有人会很容易做到这一点。

以上是关于在 R 中解决圣彼得堡悖论的主要内容,如果未能解决你的问题,请参考以下文章

论芝诺悖论

生日悖论是什么?我用它省了上百G的内存

算法问题——生日悖论

贝克莱悖论

生日悖论是啥?我用它省了上百G的内存

Python代码中的数学之美:从自由落体到爬虫悖论,十分钟开启数学思维