【自编脚本】R语言告诉你:你是否倒霉?
本帖最后由 星之子 于 2024-11-15 17:00 编辑动机
这个帖子的动机是凌晨我和@娱乐法师火布偶 老师的一段友好讨论。
该讨论起源于我发了45帖却只生了2魂,自觉过于倒霉的小小吐槽;而火布偶老师则指出了低概率勋章容易出现触发少于预期的情况:
附:火布偶老师提到的帖子
勋章概率触发分布的说明(帖子来自@AncL 老师,大家可以去围观一下这个帖子,论述相当精彩)
代码
本着求真求知的探索精神,我用R编写了下面这段代码来计算我是否真的很倒霉:
# 设置参数
posts <- 45 # 发帖数
n <- 9 # 设置生魂数量<=n
p1 <- 0.02 # 2%魂勋章的概率
p2 <- 0.01 # 1%魂勋章的概率
n1 <- 8 # 2%魂勋章的数量
n2 <- 4 # 1%魂勋章的数量
dist1 <- function(k) dbinom(k, size = n1, prob = p1)
dist2 <- function(k) dbinom(k, size = n2, prob = p2)
total_dist <- function(m) {
sum(sapply(0:n1, function(k1) dist1(k1) * dist2(m - k1) * (m - k1 >= 0)))
}
# 生魂小于等于n的累积概率
calc_cumulative_prob <- function(n) {
# PGF of 单次发帖生魂数
pgf <- sapply(0:(n1 + n2), total_dist)
# 卷积
conv_pgf <- Reduce(function(x, y) convolve(x, rev(y), type = "o"), rep(list(pgf), posts))
# 累加从0到n的概率
cumulative_prob <- sum(conv_pgf)
return(cumulative_prob)
}
cumulative_prob_n <- calc_cumulative_prob(n)
cat("发了", posts, "帖 总生魂数≤", n, "的累积概率为:", cumulative_prob_n)
R语言虽然比较冷门,但解决概率论问题的时候还是蛮舒服的。而且本身相对轻量,用什么包就装什么包。
我个人是用部署在本地的R和R Studio,但在线工具也很好找,我这里的截图用的是点击直达。
使用方法:
按照代码注释修改发帖数、这些帖子的生魂数量、你所持有的2%和1%发帖+1灵魂勋章的数量,即可执行。然后可以看看这个情况出现的实际概率如何,如果概率很低则说明,你很倒霉。
代码执行的结果如下:
发了 45 帖 总生魂数≤ 9 的累积概率为: 0.5874126
发了 45 帖 总生魂数≤ 2 的累积概率为: 0.005921053
我又尝试复现AncL老师帖子里论述的结果,大致吻合:
①按照100次实验、总期望10%计算
令 p1 = 0.1, p2 = 0.05,分别测试 n1 = 1, n2 = 0 和 n1 = 0, n2 = 2 的情况,两次得出的结果如下:
发了 100 帖 总生魂数≤ 10 的累积概率为: 0.5831555
发了 100 帖 总生魂数≤ 10 的累积概率为: 0.5830672
②按照100次实验、总期望80%计算
令 p1 = 0.8, p2 = 0.4,分别测试 n1 = 1, n2 = 0 和 n1 = 0, n2 = 2 的情况,两次得出的结果如下:
发了 100 帖 总生魂数≤ 80 的累积概率为: 0.5398386
发了 100 帖 总生魂数≤ 80 的累积概率为: 0.5306622
综上所述:我持有8个2%和4个1%发帖+1灵魂勋章,在这种情况下发了45帖却只生了2魂的概率为0.5921053%,可以说是相当倒霉了,所以因此产生了吐槽。
星象占卜 很有意思的脚本惹,很想知道自己是不是倒霉的{:6_169:} 能计算出自己的触发概率,可以说是相当有意思的joy 分析的很好,但是我翻阅妹妹的过往记录,曾经有着3贴4魂的好成绩
能否算算是否是这个东西的概率,是不是对冲抵消了 发了 45 帖 总生魂数≤ 9 的累积概率为: 0.9995558
发了 45 帖 总生魂数≤ 2 的累积概率为: 0.4924746
发了 45 帖 总生魂数≤ 1 的累积概率为: 0.2465921
毕竟我就0.06的总期望,我已经做好了心理预期
0-0 数据小白悄咪咪路过 坚信自己可以转运jpg 有时候带着一堆勋章然后回了条帖,只弹出了一个金币+2,我当场就陷入了沉思 每次发帖都不加,最近发帖前都已经不再做截图的准备了{:6_175:} 不过以大佬的灵魂勋章数量,45贴两魂怎么看都不是运气上佳呢。
不过大数定理还是会告诉我们,只要往后猛猛发,后面都会掉落大量魂呢 本帖最后由 相见忧 于 2024-11-15 18:24 编辑
什么,你怎么知道我7贴生了3魂:$
发了 7 帖 总生魂数≤ 3 的累积概率为: 0.9554636
我也想要8个2%和4个1%发帖+1灵魂勋章:Q 统计情况低于期望的情况还是比较普遍的,不过发生低概率的极差运气的事情确实是罕见 本帖最后由 cinder 于 2024-11-15 17:51 编辑
10/22跳了1魂,那之後發了35帖獲得0魂,
9%发了 35 帖 总生魂数≤ 0 的累积概率为: 0.04172856
恩...這真的不是BUG嗎?比星之子大佬倒黴12倍呢...
https://img.gamemale.com/album/202408/03/102121ubl2b4leibsmzs7s.gif
想了一下,紫水晶是補貨時買的,
8%发了 35 帖 总生魂数≤ 0 的累积概率为: 0.05932006
好像高了不少呢.......
要累積到多少%才能上報Bug呢...
我看到的是什么?数学题?概率题?
只能说不要被期望骗了
超级羡慕星佬的0.2
运气是随机多变 吼(´×ω×`)看了看自己43帖还是0魂的……阿门 俺不发帖就没用这种烦恼了ƪ(˘⌣˘)ʃ 期望终究只是期望,特别这种纯概率没有保底确实会很容易出现这种情况 灵魂全靠风雪之家的我,触发一次感觉可以直接烧高香了 本可只有0.01的期望,灵魂离我还很遥远呢 所以灵魂和其他几个属性比有什么特殊之处?(萌新探头)