碧蓝档案简单的一档线模型
考虑这样一个现实的问题:
碧蓝档案的总力战中,每个人每天有3次机会打总力战,而将每个人打出的分数(最高分)进行排序,前15000名可以获得最多的奖励. 第15000名的分数被称为一档线. 那么如何建模才可以在一定程度上给出一档线随时间变化这一过程.
由于随机过程如果考虑最最完善的情况的话,就会出现一个过程套另一个过程套另一个过程这样套娃的情况,导致只能依赖数据进行数值计算,与此文章的目的相悖.
(资料图片仅供参考)
故本文章考虑这样一个理想的模型:
首先,要求不论什么时间(包括上班时间睡眠时间),都有稳定的玩家数量,一个人不打总力战就得有另一个人去打总力战,这样就可以认为打总力战是一个泊松过程,而且保证了泊松过程的强度恒定. 其次假定各位玩家的实力相当,且都打ins难度,这就意味着不同的人打完时,产生的分数独立且同分布. 第三是每人只打一次,这个假定意味着玩家不能覆盖自己的历史最高分.
现在开始分析:
首先,没有足够的证据证明成绩近似服从正态分布,所以在分析中我们考虑最一般的情况,设各位参与者的成绩服从分布的概率密度是 ,而分布函数是 . 然后设分数线为第 个人的成绩.
由模型的假设,得到的分数的个数服从泊松分布
当 时,有以下条件概率密度
这个就是引用了n-m+1次序统计量的概率密度函数
此时算出条件分布函数为
而当 时,由于没有足够的样本,故可以认为m次序统计量为任意比可能的最低分还要小的数,因此
而根据全概率公式
得到第 大的分数的分布函数,并且求导还可以得到概率密度
这便是分数线服从的分布函数,其中参数 代表最多只能有多少人过线,参数 是泊松分布的强度,参数 是经过的时间. 虽然成绩个数有几率不足m个,使得P并非从0开始,但是随着时间增长,分数个数不足m的概率快速趋于0,对于较大的 几乎无影响.
此公式用于预测的示例:
一个比赛,每个人只能参加一次,并得到一个分数,每位选手得分服从期望和标准差都为10的正态分布,参加人数服从强度为10的泊松分布,只有前10名可以获得奖品,预测时间为10时的分数线.
对其的预测可以用上述概率密度函数代入数值求期望来得到,通过mathematica进行数值积分得到期望约为23.02
而对其的检验试验则可以通过生成伪随机数来进行,方法如下:
(顺带一提,此种情况产生成绩个数不足m的概率,数量级仅为10^(-32))
调用mathematica生成一个服从Poi(100)的随机数n
调用mathematica生成n个服从的随机数
对 进行排序
输出第10大的数
重复1-4步若干次,把输出的数取平均值
这里进行了12次试验,得到的数据如上,试验样本平均值为22.41,相较于预测值23.02,相对误差2.6%
预测分数线关于参数的性质
上面已经介绍了对于各项参数都已经确定时,预测分数线的方法,但是我们有时也很关心分数线随时间的变化情况.
用上述概率密度计算期望,并表示为 的函数
接下来我们来计算其一个特殊的渐近展开,即当成绩服从正态分布时的渐近展开
简单的变形得到
我们知道u趋于0时y趋于无穷,函数g的值主要由0附近的积分贡献,所以考虑y在u=0附近的展开,由简单的分部积分可以得到
其中W是Lambert W 函数,因此
代入积分得到
这个积分的渐近展开我在此直接给出(或许未来的某天我会把证明发出来)
这便是在成绩服从正态分布这一情况下,预测分数线的函数在时间很大时的渐近展开.