【手游统计学】从计算CF活动金银箱子爆率提升教你meta分析

本专栏是一篇介绍统计学方法的文章,结论无关紧要。需要读者有一定的统计学知识储备(样本与总体,置信区间,假设检验,随机误差,P值)。借用游戏中实际问题和鲜活例子,介绍meta分析是什么,它用来解决什么样的问题,以及如何操作和分析结果。

本专栏所使用的数据为2017-2019年期间,不一定和7.1版本一致,手头也没有3人活动的数据。虽然我不认为这个常数会被更改,以防万一证明还是申明一下。

一.CF活动金银箱子爆率问题
CF活动中,玩家需要连续打5首歌,一首比一首难,奖励也一首比一首丰厚;5首一个循环,打完5首后,重新从1开始。也可选择不打完5首,在当前轮提前结束,接下来重新从1开始。每打完一首都会以一定爆率出金银铜箱子,如下图所示。

每一次打歌后,必定会出现三个箱子,分别代表clear、combo、score的奖励。每个箱子必定是金银铜之一,大概率是铜,小概率会是金银。一个循环5首曲子,越往后,曲子越难,金银率相应也会越高。但即使是第五首,体感银率大概2-30%,并不高,金率更低的令人发指。
在玩家每一次开始打歌前,有个界面可以购买buff

其中有一个buff是“提升本次的金银箱子出现率”。但第1-5次每一次金银率分别是多少,clear、combo、score三个箱子的爆率是否一致;这个buff能提升多少,是按等比例提升还是等数值提升的,每一轮提升的量是否一致,都是未知数。本专栏目的就是,得出这个buff到底是如何提升爆率的。

二.数据收集
本研究纳入分析的数据为2017.4.10-2019.1.19,共计16350条。数据由 虫虫12345@百度贴吧 提供,来源于自愿知情参与数据收集计划的玩家,通过代理的方式使用程序自动收集,符合伦理规范,原始数据如下所示。

累计日期相同代表该数据收集于同一次活动,数字越大,活动越接近现在;round就是每一轮第1-5首歌;购买up为1或0分别代表买了和没买的;clear、combo、score代表三个奖励,1是铜,2是银色,3是金。我截图了20条,总共有1w6条这样记录的数据。
Combo等级没有记录,因此可以认为是一个各种cb都有,玩家平均水平的数据(真实世界研究)

如果使用传统的统计学方法,我们把5首歌,3个奖励作为15个分层因素,每个层下面有两个率,分别是购买和不购买buff的爆率,然后观察是否有相应规律,再进行验证。把数据初步整理一下,按照是否购买buff,5首歌,三个奖励分层,各自样本量及爆率如下:


从实验设计来看,本研究属于回顾性队列研究,为非干预性研究。由于玩家会在体感金银率更高的后面几轮开buff,前几轮不开buff(不管第几轮,开buff的价格是一致的),导致部分轮数数据中,不开或开buff的样本量特别少。虽然上万的样本量不算小,但被分成15组后,再加上金银箱子本身感人的爆率,如上图所示,个别组里面干脆成个位数了,甚至有的组没买buff的爆率反而要高于买了buff的。由于样本量和总体率都小,会对我们估计的总体率造成巨大误差,因此每一组的规律都似乎大相庭径,根本无法直接比较观察得出规律。因此,我们需要一种新的统计学方法,来对15组数据进行统合,一起观察这个buff的规律,而不是分开对15组数据分别计算。

三.Meta分析介绍与应用范围
Meta分析中文译为“荟萃分析”,定义是“The statistical analysis of large collection of analysis results from individual studies for the purpose of integrating the findings.”中文译为:对具备特定条件的、同课题的诸多研究结果进行综合的一类统计方法。咳咳,教科书上的定义我们就不赘述了,这个玩意儿最初是为医学研究设计的,举个例子,为了研究某种新药和疾病死亡率的关系,在多个国家,多个城市进行了研究。我们把病人分为两组,一组人用新药,一组人用老药,比较两组人死亡率是否有差异,有的话是多少。由于想要招募到那么多参与实验的病人并不容易,单凭一个城市的样本量会得出错误或不准确的结论,但多个城市的样本量可以互补,得出更准确的结论。但是,我们还要考虑到,不同城市之间由于招募标准,研究设计细节的出入,可能导致这个率的变化;不同国家之间,可能由于人种差异,导致原本有效的药物,到另一个国家中变为无效。Meta分析就是这么一种方法,可以汇总相关的所有样本和研究,分析各样本(每一个城市算作一个样本)之间的差异是来源于随机性,还是的确存在差异,是否存在亚组(不同国家看作不同亚组,相互之间存在显著差异),并汇总所有的数据,得出误差更小的准确结论。
同样的方法,也可应用于疫苗保护率或连续变量(例如某项指标的高低)上。meta分析是一种被目前学界(特别是中国人)已经被玩烂的灌水方法。使用meta的条件是:针对某一个问题存在多个研究,这些研究的细节不尽相同且每一个的样本量都不是非常充分,需要将他们合并。

Meta分析的结局变量,大部分情况下为下者之一:MD(Mean Difference)、RD(Risk Difference)、OR(Odds Ratio)、RR(Risk Ratio)。少见情况下有各种率的对数,比值,方差,etc,大家自己去调戏软件吧
MD:针对连续变量而言,指干预组平均值与对照组平均值的差值。
RD、OR、RR针对二分类变量而言,二分类变量即率,上述的疾病死亡率,或是金银箱子的爆率,都属于二分类变量。我们假设干预组中某预期事件发生率为a,对照组中某预期事件发生率为b,则有:

为什么把率叫risk呢?因为这个研究方法最初来源于医学研究,大部分预期事件都是不良事件,例如抽烟对肺癌发病率增加了多少,某药对死亡率减少了多少,所以后来即使是保护性事件也一概称risk了。RD和RR很好理解,为什么要发明OR这么绕口的概念呢?因为很多时候,取决于我们的研究设计,我们无法准确获得RD和RR,只能获得OR。比如肺癌病人会往医院跑,医院只要记录来看病的肺癌病人以前是否抽烟,两者相除就很容易获得OR,但要获得RR就需要找到一群健康人并记录他们是否抽烟,随访10年以上观察肺癌发病情况才能得到,耗费人力物力大得多。如果想在OR和RR之间换算,额外需要对照组的总体率,即b的值,否则两者无法换算。存在:

就本例而言,如果我们不使用meta分析,使用另一种十分常见的统计方法,逻辑回归,对十五组数据进行统计的话,会得到,就clear的箱子而言,是否购买buff的Exp(β)=1.37,这里的1.37就是OR值,是针对所有样本整体平均而言的。逻辑回归得到的β系数只能是OR值,它并不能很直接的阐明规律,也不能回答五首歌之间,以及clear、combo、score三者之间,buff提升效果是否一致,是否存在亚组这些问题。
放到本例来看,我们需要研究金银箱子概率提升这个buff,对实际爆率产生的影响。数据同样分为两组,一组是买了buff的(干预组),一组是没有买buff的(对照组)。总共有15个研究(5首歌*3个箱子),每个研究的样本量都不是很大,不够充分。我们需要观察不同研究之间,两组率的比值或差值是否恒定,是否存在亚组或其他规律,非常贴合Meta分析的使用条件。

四.Meta分析实际操作
Meta分析可以使用多款软件,基本款是Review Manager,简称RevMan,就是下图左下角的图标,我们就用这个来展示实际操作。更高级的软件有SAS、STATA等,SPSS做不了,大家可以自己摸索。

这个软件比较傻x,必须以创建综述的形式来新建一个计算,你的计算结果是综述中的一副图片。所以进入软件后选择创建综述,然后如下点击“建立比较”

然后按照下图点击,解释我也标了

再然后,我们需要新增研究,本例共有15个研究。

点击“add study”,然后如下点击

重复15次。可以输入名字后直接finish。然后:

全选所有,finish。得到下表

然后我们需要调整顺序,右边图表上面有个齿轮,graph-按用户自定义排序-左边栏点开即可自由调整;左边栏的属性可以调整表格的抬头。最后在表格中填入数据。Events指该研究购买或未购买buff时,分别获得银箱子的总数,total指该情况下获得箱子的总数,两者相除就是爆率。填入所有数据得到下表:

只需填event和total即可,剩下软件会自动计算。

五.结果解读
这时,我们得到右边的图。右上的齿轮点进去后,可以设置图片横轴大小,最终调整后如下所示:

我们把这样的图称为森林图。每一条线代表该行研究对应的RR值和95%置信区间。蓝色方块大小代表该研究的权重。权重不止取决于总的样本量,也取决于两组之间的样本量以及阳性数的悬殊程度。具体计算方式很复杂我也不懂,交给软件就行了。原则上来说,方块越大,线就越短,方块的位置和总体率越接近。菱形方块代表将15组研究汇总之后得到的,估计的总的RR值,其95%区间见表。本例为1.19[1.15,1.23],代表购买buff与未购买相比,银箱子爆率高了1.19倍,其95%CI为1.15-1.23。
为什么选了RR而不是RD?我们后面异质性检验与分析中会讲到,这里先跳过。
最下面的”Test for overall effect”, 指的是对“合成的总RR值是否为1”的零假设进行检验,P有统计显著性,代表购买buff的确可以提升爆率。

六、异质性检验与分析
异质性广义定义为:描述参与者、干预措施和一系列研究间测量结果的差异和多样性,或那些研究间的内在真实性的变异。狭义定义为:专指统计学异质性,用来描述一系列研究中效应量的变异程度,也表明除可预见的偶然机会外研究间存在的差异性。
说人话:各研究之间的差异是由于随机性导致的,还是的确有差异,即为异质性。异质性大,说明各研究之间的效应值(本例的效应值即为RR或RD)相互之间的确是不同的;异质性小,说明可能看起来各研究差距很大,但实际上是由于各研究样本量小导致的随机误差,每个研究的效应值其实是相同的。
Meta分析用于衡量异质性的的有Q检验、I2检验、H检验。RevMan只能给出I2检验,即红框部分。

解读异质性需要同时观察I2和P值。I2位于0-40,代表异质性小,可接受;30-60代表中等程度的异质性;50-90代表较大异质性;75-100代表极大异质性。注意,各个分档之间就是有重叠的。当位于重叠区域时,我们再看P值,下文摘抄一段丁香园上面的网页解读:
我在handbook5.0中找到以下这段话,我的理解是:
如果I^2的结果比较小又不算特别小,比如30%的时候,那么就要看P,P如果大于0.1,可信度就应该足够了;P如果小于0.05,那还有值得怀疑的余地。
如果I^2的结果比较大,让我倾向于判断异质性,那么P如果大于0.1,可信度稍小了;P如果小于0.05,基本就可以确定异质
判断同质要看看P,P越大越好,一般得大于0.1比较保险;判断异质不太需要看,不过小一些更保险些。也就是判断异质性主要看I^2, 然后再结合p值
https://www.dxy.cn/bbs/newweb/pc/post/20194102
总结一下,就是先看I2,如果I2没有位于多个分档的重叠区域,则直接按I2解读异质性;如果位于重叠区域,再看P;如果I2位于30-40,P>0.1,说明异质性小,如果P<0.05,说明异质性要跨到中等程度那一档。P越大说明异质性越小,P越小说明异质性越大。
我们再来看最初的问题,这个buff加爆率到底是等比例加的还是等数值加的?还是有其他规律?图的上方有这么一个工具栏。点击RR可以在OR、RR、RD之间实时切换。

如果是等比例加的,则选择RR值时,不存在异质性,选RD时存在极大异质性;如果是等数值加的,则反之。如果不管怎么选都存在很大异质性,我们再考虑分层分析,可能不同轮数,或不同奖励的加成比例不一致。选择RR时,I2=24,P=0.19,认为不存在异质性;选择RD时,I2=76,P<0.001,认为存在极大异质性。因此,我们认为这个buff是按等比例在原爆率上加成,第1-5首歌,或是三个奖励,它们原本的爆率不同,但不影响这个buff加的比例值。
这也可以解释为什么个别研究(即轮数-奖励)中,购买buff的爆率反而不如未购买的。因为整体不存在异质性,因此认为是这些研究的样本量或某一组的阳性数太小导致的随机误差。
当我们研究其他问题时,如果存在异质性怎么办?不要怕,找出异质性存在的原因。如果研究数不是那么多的话,可以直接尝试亚组分析;或敏感性分析(即剔除一个研究后,观察异质性是否有大幅改善);或Meta回归(即把异质性当做y,把研究的各种属性作为x,通过多重线性回归来筛选哪些x是真正的影响因素。Meta回归可在Stata进行,RevMan做不了)。同时,异质性大小决定了我们在合并各项研究时使用固定效应模型还是随机效应模型。


七、固定效应与随机效应

在上面的工具栏中,点击FE可切换固定效应(FE)或随机效应(RE)。如果整体异质性小,可采用固定效应,否则应使用随机效应。固定效应具有更高的统计效率,能更敏感的得出相应的值。如果存在异质性且无法通过分组消除,则应采用随机效应模型。

八、发表偏性检验
发表偏倚指,在同类研究中,阳性结果的论文(结果具有统计学意义的研究)比阴性结果的论文(结果无统计学意义的研究)更容易接受和发表的现象。说人话,就像抽卡极非的人会来贴吧晒非(我抽了xx发一个UR都没),极欧的人也会来晒但由于会被删帖,所以我们看不到,一般水平的人想想懒得晒了,导致我们贴吧看到的都是非到极致的结果。如果用看到的这些结果来预估平均水平将会严重偏低,这就是发表偏性。
Meta分析同时可以对各研究进行发表偏性检验。发表偏性检验的原理是,某个研究的权重越大,就应该越接近总体率(或值),误差也应该相应更小。如果不符合这个趋势,就认为存在发表偏性。RevMan通过漏斗图的方法,即工具栏中RR开始算起的第四个图标,进行检验。

如果所有点都落在倒三角形的漏斗里,且两边分布均匀,代表不存在发表偏性。否则认为存在发表偏性。漏斗图只能肉眼观察,无法量化。量化方法有秩相关、回归、剪补等方法,可在其他软件中实现。
严格来说,本例其实无需考虑发表偏性,因为这15个研究都是平行的,由一个人收集的。如果多个研究是不同人做的,且不同的人并没有收到统一的指使(例如,我安排五个人一起帮我收集数据,则不论他们得到的结果好坏都会向我汇报,则不会存在偏性),需要考虑发表偏性。发表偏性检验只针对“报喜不报忧”或“报忧不报喜”的情况,如果两边都报,则可能无法检验出来。

Meta分析的知识就介绍到这里,我们使用同样的步骤,对金箱子爆率进行研究:

金箱子由于阳性数少,误差更大,但不妨碍我们认为,该buff提升金银箱子爆率都是20%,各组之间不存在差异。
最后,我们和解包的数据对照一下:

可见与统计数据吻合,答案正确。

思考题:
这期思考题的第一题是基础题,2-4是开放式的,有的本文没有提及,需要各位的统计学知识储备。
1. 您真的学废了吗?下图是一副研究非ST段抬高的急性心梗干预措施实施早晚与患者死亡风险关系的森林图。实验组是早期治疗,对照组是晚期治疗。HR与RR意思一致。

请问:
1) 该meta共纳入了几个研究?
2) 这些研究之间是否存在异质性?
3) 将各个研究合并后,总效应量是多少?倾向于选择早期治疗还是晚期治疗?
4) 设α=0.05,第三小问的这个倾向是否有统计学意义?
2. 为什么即使对前瞻性队列研究行逻辑回归,其β系数也只能推出OR值,无法得到RR值?
3. 如果想要探究不同期活动的该buff效果是否一致,应该选取什么样的方法?请简述你的思路(本例如果拆成几十个活动那样本数太少了。这题我们假设每一期活动都有上万的数据量可供使用)
4. 为了研究签名卡池中,获得签名卡占获得总U的比例,以“签名U”为关键词,搜索贴吧并收集相关研究后得到下表:

可以使用meta分析来对这9组研究进行合并或行发表偏性检验吗?为什么?如果想得知最准确的签名U率,如何处理这些数据?
(这题有点超纲,需要自己调试一下软件,以及涉及到循证学的证据等级……)

全文完。欢迎指正、建议、评论。如果开一个结合手游和抽卡的概率统计科普专栏,会有人感兴趣吗?以前抽卡玄学盛行时候写过一个假设检验的科普贴,然而秒沉根本没人回……
