基于千万级抽卡数据的补充统计
一棵平衡树
2022年01月14日 20:44
收录于文集
共10篇

这篇专栏是对于网页链接​的补充,所用样本稍有扩充,并附上了一点我的思考。

样本采样偏差说明

我收集到的数据并不是在全体玩家中进行均匀采样得到的,获取的样本必然是有偏的。但是好在有方法对这些偏误进行规避。观察到的偏差有如下几种类型:

  1. 小样本极端情况偏多或出于玩家的炫耀心理或倒苦水的需求,在总抽数小于200抽的样本中极端情况显著的多。而在总抽数稍多的样本中此类现象微弱。

  2. 样本接近末尾位置概率偏高偶然“欧了”会使得玩家更倾向于提交自己的数据。而在不靠近末尾的位置概率正常。

  3. 统计不到“退坑”玩家:此前在NGA收集数据时发现常驻五星角色中迪卢克最多,七七最少。我的解释是玩家在使用NGA后,抽到七七的玩家更倾向于退坑,而抽到迪卢克的玩家倾向于留下。这对整体的概率也有一定影响。但经过后续数据收集和积累,选取总抽数大的玩家后这类影响变得非常轻微。

  4. 玩家针对性提交数据:此前在NGA称角色活动祈愿中五星绝大多数于84抽前抽到后,新收集到的数据中87抽处多出了异常峰值。此类偏误需要依靠经验判断并消除。

如果针对这些偏误进行数据筛除,能得到完美得多的拟合结果。此前的视频中并没有足够时间说明筛除的原则,为了不引发误解并没有进行筛除,但同样可以得出和筛除后一致的结论。

补充统计

对于“欧非程度”关于角色活动祈愿总五星数量的关系

对于角色活动祈愿,去除每个玩家的第一个五星,统计到恰好抽到最后一个五星的位置,计算其五星平均抽数并将其标记在横轴为五星数,纵轴为五星平均抽数的图上。图中两根线所围区域为依据我的模型推算出来的包含95%玩家的区域。

为了保证绘图效果,每个五星数下仅随机抽取部分数据绘图。需要注意的是,因小样本采样偏误,仅抽取少量五星的样本偏极端,聚集在偏向90和偏向0的位置,不能作为判断依据。

对于“欧非程度”关于角色活动祈愿总UP五星数量的关系

对于角色活动祈愿,去除每个玩家的第一个UP五星,统计到恰好抽到最后一个UP五星的位置,计算其UP五星平均抽数并将其标记在横轴为UP五星数,纵轴为UP五星平均抽数的图上。图中两根线所围区域为依据我的模型推算出来的包含95%玩家的区域。

为了保证绘图效果,每个UP五星数下仅随机抽取部分数据绘图。需要注意的是,因小样本采样偏误,仅抽取少量UP五星的样本偏极端,聚集在偏向160、偏向80的位置,不能作为判断依据。

对于角色活动祈愿“小保底歪率统计

样本数据中处于前一个五星为UP五星状态下抽到的五星有72824个,其中抽到的36975个五星为UP五星,占比50.77%。应该是次次都“歪了”的玩家更容易退坑而使得比例略高于50%。

这项统计很简单,不需要进行太多数据处理就可以做。更推荐感兴趣的朋友去在线统计站查看。

对于集齐常驻五星角色的难度统计

取角色活动祈愿,跳过1.3版本的刻晴祈愿,统计当抽到了个常驻五星角色时,集齐种常驻五星的玩家占比。需要注意的是随着增加,样本越来越少,绘制的图像波动会变高。

计算抽了个常驻五星时,集齐种常驻五星角色的玩家比例的理论值非常方便,仅需用如下转移矩阵乘上初始分布即可。

X_%7Bn%7D%3D%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%201%20%26%200%20%26%200%20%26%200%20%26%200%20%26%200%0A%5Cend%7Bbmatrix%7D%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%200%20%26%201%20%26%200%20%26%200%20%26%200%20%26%200%5C%5C%0A%20%20%20%200%20%26%20%5Cfrac%7B1%7D%7B5%7D%20%26%20%5Cfrac%7B4%7D%7B5%7D%20%26%200%20%26%200%20%26%200%5C%5C%0A%20%20%20%200%20%26%200%20%26%20%5Cfrac%7B2%7D%7B5%7D%20%26%20%5Cfrac%7B3%7D%7B5%7D%20%26%200%20%26%200%5C%5C%0A%20%20%20%200%20%26%200%20%26%200%20%26%20%5Cfrac%7B3%7D%7B5%7D%20%26%20%5Cfrac%7B2%7D%7B5%7D%20%26%200%5C%5C%0A%20%20%20%200%20%26%200%20%26%200%20%26%200%20%26%20%5Cfrac%7B4%7D%7B5%7D%20%26%20%5Cfrac%7B1%7D%7B5%7D%5C%5C%0A%20%20%20%200%20%26%200%20%26%200%20%26%200%20%26%200%20%26%201%5C%5C%0A%5Cend%7Bbmatrix%7D%5En

可以发现,实际情况和理论情况并无显著差别。

对于长时间不玩游戏再抽卡概率的统计

当我听到有传言说长时间不玩游戏,游戏公司为吸引玩家回归会调高概率的时候我是震惊的:什么游戏公司这么傻,直接多发一点回归奖励不是效果更好吗?不管怎么说,由于此类理论流传较广,我也做一个简单的统计(只代表原神的情况)。

当此次抽卡时间相距上次抽卡时间超过n周时,统计此时开始接下来一周的抽卡情况,计入图中第n周。统计时仅取处于1-73抽范围概率未上升段的数据。由于样本接近末尾位置概率偏高,导致无论无间隔还是间隔多周的概率都几乎同比例上升。于是去除了每个玩家末尾270抽,所得统计图如下。

虽然这样的统计无法区分攒抽的玩家和一段时间没有玩的玩家,但数据里一定存在一段时间没有玩的玩家,而这部分玩家并没有引起显著差异,应该将长时间不玩游戏会使概率提高的理论排除。

研究抽卡机制并不难

很多朋友都对抽卡机制感兴趣,但往往只流于言语而没有去实践。实际上研究抽卡机制并不难,也不需要多高深的数学知识和大量数据才可以研究,我在这里演示一下几个简单且容易实践的例子。

轻松发现常驻祈愿“平稳机制”

将常驻祈愿中出现的角色记为1,出现的武器记为0,可以将数据中的四星和五星分别转化为01串。如果没有任何机制,这个01串应符合随机01串的性质。

我找我的一位常驻祈愿抽的比较多的朋友要了他的抽卡记录,一共357抽,抽到46个四星物品,01序列如下:

代码块
Shell
自动换行
复制代码
0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0
复制成功

同时我随便找了一个主播抽卡视频,记录其抽到常驻祈愿五星类别,得到了81个五星的数据,01序列如下:

代码块
Shell
自动换行
复制代码
1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1
复制成功

将这个序列看成一个长度为的宽平稳序列,其延迟的自协方差如下:

对于完全随机的01序列,这个值的期望为0,标准差为%5Csqrt%7B%5Cfrac%7B1%7D%7B16(n-k)%7D%7D

对于上列四星序列,为-0.105,而标准差为0.037,偏离很多。对于上列五星序列,为-0.1,而标准差为0.028,也偏离很多。这说明对于常驻祈愿有规律暗藏其中,同星级上一次抽到了角色,这次更倾向于抽到武器,反之亦然。

但事实上连这些简易统计工具你都不需要,把四星角色和四星武器提取出来,在表格里标记为不同的颜色,一眼就可以看出规律来。

按顺序排列四星角色和武器,角色为1武器为0

 同样,常驻祈愿五星的“平稳机制”也很容易看出,每当0或者1开始延伸的时候,总会被另一种打断。

按顺序排列五星角色和武器,角色为1武器为0

作为对比,这是一个每次的值和上次不相关的随机01串的图像。

我一直很迷惑的一点是,为什么很多做“抽卡攻略”的人连这么明显的现象都没有发现,难道他们连自己的抽卡记录都不看的吗?

轻松确定详细的UP判定规则

如果你去在线抽卡记录统计站看过,你会发现在没有「神铸定轨」的武器活动祈愿中,如果同时UP了位于常驻祈愿中的五星武器和限定五星武器,则限定五星武器的数量总会比另一个UP五星武器更少一点。而对于UP了两个位于常驻祈愿的物品的祈愿,两个物品的数量都差不多。

于是可以提出一个假设,当75%的UP几率下没有抽到UP武器时,在常驻祈愿出现的五星武器中进行选取,若此时UP武器也在常驻祈愿中,仍有可能被选取到,同时这个情况也算抽到了UP五星武器。针对三种类型的武器活动祈愿组合画出状态转移图如下:

三种情况下的状态转移图

有了假说后应该看看实际情况是否符合假说。在这里并不需要自己去收集数据,paimon.moegenshin-wishes非小酋等网站有现成的数据,花十分钟抄一下数据即可。和提出的假说对照如下。

可以看到这样粗放的做法也可以基本验证提出的假说,不需要花多少时间。

在这里,还可以将其推广到角色活动祈愿中的一个特殊祈愿,1.3版本的刻晴祈愿。刻晴既是UP角色,也在常驻祈愿中,也应该存在类似的现象。可以看到实际情况和假说符合的很好。

这个假说还可以推广到四星UP物品上,就这样没花多少功夫便确定了原神抽卡系统中的一处细节。

轻松推出原神概率提升规则

一年多前我做的视频BV16i4y1L7Ne​中只依靠66个五星位于第几次十连的数据并结合逻辑推理得到的模型就十分接近现在基于千万级数据的模型。当然,要得到更准确的模型需要更多的数据,但是简易的分析得出的结论也已经够用了,不是吗?

思考

玩家总会质疑游戏公司在抽卡概率上动手脚,历史上的确也曾发生过这样的恶性事件。玩家的质疑当然是合理的,但是大部分玩家往往将质疑止步于在论坛上发帖宣泄情绪,或是借助一些臆想的理论抒发自己的不满,而很少着力于用统计工具来一探究竟。这种情况非常正常:我是来玩游戏的,不是来做数学题的。本来抽卡没抽到就很糟心了,还要去统计?

我的观点是,在存在“抽卡”这种模式的前提下,玩家只有借助统计工具才可以捍卫自己的权利。即使法规规定游戏服务提供者应公布“抽卡”相关源代码,但服务器上究竟跑的是什么仍不得而知。所有涉及到”抽卡“的游戏,既然选择了使用这样的盈利模式,就必须给玩家检验概率的手段,让玩家能方便的导出和分享自己的抽卡记录,对数据进行汇总分析。

对于使用“抽卡”模式的游戏厂商,一定要保证概率公示值和实际值一致,即使是因为填错表等原因导致的低级失误也要尽量避免,重建玩家对于游戏厂商的信任不是一朝一夕之事。对于游戏行业从业者,研究在概率上做手脚在过去或许有利可图,但在现在的环境下看,一个游戏能不能盈利取决于游戏品质,不研究如何提升游戏品质而去钻研如何欺诈消费者,这样的从业者一定会在行业发展过程中被淘汰。对于质疑游戏公司公示概率不实的玩家,一定不要说什么“游戏公司的手段很高明,就是做了手脚但你检查不出来”这样的话,游戏公司的员工也是人,不会比玩家更聪明,自己的权利要自己用统计工具捍卫。