快捷导航

我分析了70万局「吃鸡」数据,找到了其中的3个秘密

[复制链接]
发表于 2018-8-3 15:18:01 | 显示全部楼层 |阅读模式
吃鸡太难了」
前几天,同学找我吃鸡。不出所料,很快就成盒了。这个游戏对于我来说,就是一个「到底死在哪」的游戏。
所以啊,吃鸡是不可能吃鸡的了,这辈子都吃不到鸡,枪又打不准,连队友都打不到,只有靠良好的心态,才能维持下去。
更重要的是,天天吃鸡,荒废学术,让我不胜惶恐。我就开始想,能不能研究一下,如何科学吃鸡?
所以,我就拿出了我的老本行,用Mathematica来研究一下,有什么可以科学吃鸡的方法。吃一次鸡可能是运气,吃两次、三次,可能就是科学了。
幸运的是,Kaggle上已经有了PUBG的数据集,一共有72万次的击杀数据,解压之后,大约有20多G的数据。


面的信息还是非常丰富的,包括击杀/被杀玩家的位置、原因(武器、车辆)、时间、排名等信息,用工具分析分析,说不定还有可能吃到鸡呢。
前面说了,数据集非常大,单个的CSV文件就已经有几个G的大小了,所以直接用Mathematica的Import函数肯定是作死了,系统直接崩掉。所以这里我用底层的文件流来一行行的输入数据,读取之后立即处理,释放内存,这样才可以读取数据。
下面的代码提供了ImportFirst函数,可以读取CSV文件的前N行,输入是一个文件流对象:
拿到数据,就可以做一些分析了。我一共找到了吃鸡中的三个「秘密」,在这里与大家分享一下。
1、 「死角」的作用有多大?
我们都知道,在游戏中要不被人看到,就要利用地形。比如上图中,若要悄悄摸到房子下,可能橙色的路线就比较好,因为相对于窗户来说,其角度非常刁钻,是一个死角。但是,
死角的作用有多大呢?
口说无凭,我们要科学吃鸡,就得做实验。
数据集中,有两个数据可以拿出来研究:击杀者的位置,以及被击杀者的位置。

使用这些数据,就可以很容易的计算出角度,如果角度在某些方位上,出现概率有峰值的话,就可以印证我的猜想:死角的确有用。
角度的计算非常容易,
我将数据都代入了上面的公式,得到了一个惊人的结果(图中离原点越远,表示这个角度击杀的概率越高):
一个近似的正方形!旋转了45度角。这太令人惊讶了,不只在于有四个「死亡角度」,还在于其结构居然如此规整!
这张图意味着什么呢?它意味着:
东南西北四角的击杀概率很高,而四角之间的几个方向,也就是房间里的死角方向,击杀概率很低。
我们反过来,也可以说,在靠近房屋的时候,建议从这四个死角去接近。从统计结果上来看,这几个角度的安全性,比其他方向要高30%!不要小看这30%,如果一局游戏中要三次接近房屋,这就会提高65%的生存率!
2、  地图上的十个「死亡孤岛」在吃鸡常见的两个地图中,其实还分别暗藏着十个左右的「死亡孤岛」。在这些区域,玩家的死亡数量要明显高于其他位置。如果是吃鸡新手的话,知道这些信息,就可以选择避开这些「是非之地」。
前面提到,我们已经有了击杀、被击杀的位置数据,所以可以很容易的得到击杀位置的分布情况。

首先,可以看看具体的分布情况,这里我使用了Mathematica中的DensityHistogram函数,分别绘制了两个地图的死亡地点分布情况

图中颜色越红的地方,表示击杀数越多。那有红色标记的地方都不能去了吗?当然不是,我们毕竟要承受一定的风险。所以,可以设定一个阈值:死亡数量高于这个值,就认为是「高危区域」;低于这个值,则认为是安全区域。
所以,我们就得到了第二版的地图——死亡孤岛:
作者:章彦博
链接:https://zhuanlan.zhihu.com/p/37617778
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

这样,虽然总的信息量减少了,但我们能获得的信息却增加了。这是因为,虽然图像做了简化,但正是这简化的工作,让核心的信息突出了出来。
这里我们可以注意到很多有意思的事情,首先,在海岛地图中,左下角虽然也散落着不少房屋,但却没有出现集中的「死亡岛」。虽然这可能是因为这里的资源比较少,但同样可以作为新手的庇护池。更重要的是,这两张地图,可以作为「玩家密度图」来使用,想苟着,就可以走「暗区」(图中暗色区域);想刚枪,则可以去「明区」。
正因为这些死亡集中的区域,互不相连,就像岛屿一样,所以我称之为「死亡孤岛。」
3、「击杀」是随机的吗?最后,我们来讨论一个更学术一点的问题:击杀事件是随机的吗?
所谓说「击杀」事件随机,意思就是认为相邻的几次击杀之间没有关联。比如说,可能存在一种机制,使得击杀事件更容易集中起来。举个例子,我在某处淘汰了一个玩家,枪声是否会引来其他玩家,从而提高我被淘汰的几率呢?
数据集中还包含了击杀时间的数据,我们可以以此为切入点,去研究这个问题。
我们首先可以看看击杀时间间隔的分布情况。也就是前后两次击杀的间隔时间,其不同长度的时间,出现概率不同。比如说,可能两次击杀时间间隔为1秒的概率为10%,10秒的概率则可能是1%。
我在对数坐标上绘制了时间间隔的分布图:
这里,注意到一个非常有意思的现象:在对数坐标下,分布图呈现了近似直线的结构。那么,这意味着什么呢?这意味着击杀事件可能是随机的!
这是因为,如果你使用一个随机生成的序列,每一个事件的发生时间都是随机数,其得到的间隔,其分布就是指数分布!
我们对所有的间隔数据,进行了独立检验:
很明显,P-Value大部分都非常小,只不过Blomqvist beta测试超过了0.05的阈值,说明在线性相关方面,独立性还不够显著。所以,我们可以认为
击杀事件不是随机的,虽然间隔分布符合指数分布,但仍然是有很弱的关联的
最后,我吃到鸡了吗?
没有。吃鸡是不可能吃鸡的,
数据科学这么好玩,进了里面去,个个都是人才,说话又好听,超喜欢在里面。









发表于 2018-8-3 15:18:39 | 显示全部楼层
为了践行社会主义核心价值观,图中的红色应该改成绿色,答主觉得呢“手动狗头”
发表于 2018-8-3 15:18:50 | 显示全部楼层
学了这么多知识还是吃不到鸡,这游戏真难(滑稽
发表于 2018-8-3 15:19:02 | 显示全部楼层
至今还记得被置信区间统治的恐怖......
发表于 2018-8-3 15:19:14 | 显示全部楼层
给良心答主点赞
发表于 2018-8-3 15:19:26 | 显示全部楼层
太可怕了这个分析能力
发表于 2018-8-3 15:19:38 | 显示全部楼层
给大佬敬茶
发表于 2018-8-3 15:19:49 | 显示全部楼层
要运用科学的力量吃鸡
发表于 2018-8-3 15:19:59 | 显示全部楼层
大佬腿上缺挂件吗
发表于 2018-8-3 15:20:12 | 显示全部楼层
难得遇到用Mathematica的啊,握爪。分析得很赞!
您需要登录后才可以回帖 登录 | 立即注册   扫一扫,用微信登录

本版积分规则

精彩推荐

联系我们

  • 反馈建议:3106851880@qq.com
  • 客服电话:023-58822040
  • 工作时间:周一到周六(9:00-17:30)
  • 万州民办教育委托文件

云服务支持

精彩文章,快速检索

关注我们

Copyright 众优网  技术支持:重庆众优科技有限公司    ( 渝ICP备17003005号 )  

渝公网安备 50010102000462号