欢迎光临散文网 会员登陆 & 注册

【PJSK】一种基于少量数据点的档线预测方法

2023-03-04 01:33 作者:涼风_青叶  | 我要投稿

写在前面

        2023年2月末,随着PJSK的一次大更,官方关闭了PJSK日服的大部分查分接口,导致大量bot的实时档线预测功能无法正常使用。

        从此,获取实时档线的方法只剩下稀疏的人工上报,对100名及以下的活动最终档线进行统计也变得极为困难。基于这一现状,需要开发一种基于少量数据点即可进行档线预测的方法。

        本文基于以往发现的档线增长规律,提出了一种新的档线预测方法。该方法在有2~3组档线数据上报时即可使用,且较传统的线性回归预测法有波动小、误差小的优点。

预测原理

        这种预测方法的原理其实很简单,用一句话就能讲明白:基于过往活动档线的变化趋势,估算“活动结束时的档线应该是现在的档线的几倍”。

        之前的专栏CV20489092系统地论述了档线时速在活动期间的增减趋势。以下只摘录该专栏最重要的一些结论,有兴趣的读者可以自行点击链接阅读详情。

  • 每天凌晨4点的档线增速最慢。可以以每天的凌晨4点为界,把一次活动分成若干个“天”。其中,活动开始日有15时~28时共13个小时,活动中间日有4时~28时共24个小时,活动结束日有4时~21时共17个小时。

  • 活动进行中的每一天可以按“是开始日(S) / 中间日(M) / 结束日(F)”“是休息日(H) / 寒暑春假的工作日(V) / 学生上课期间的工作日(W)”这两项指标,分为3×3=9类。

  • 9类日期中的每一类都有自己独特的档线增长规律。比如在活动开始日,档线增速由极快逐渐变慢;在活动结束日,档线增速逐渐变快。寒暑假期间与上课期间档线增速出现峰值的时刻不一样。等等。对于5000线而言,如果把活动中间日4时~28时的档线增量看作是1,则“是活动中间日的休息日(MH)”的下午16点时,档线增量是0.4329;“是活动中间日的工作日(MW)”的下午16点时,档线增量是0.3532;等等。

  • 不同类别的日期,档线增量也不一样。比如对于5000线而言,如果“是活动中间日的休息日(MH)”的档线增量是1的话,那“是活动中间日的工作日(MW)”的档线增量就是0.8753,“是活动结束日的寒暑春假期间(FV)”的档线增量就是2.1581,等等。

        基于这些结论,即可根据活动期间的作息情况,推测对于其中任意一个时刻,最终档线相对于即时档线的倍数。

参数测算

        首先基于过往完整的活动数据,推算每一类活动日相当于几个“是活动中间日的休息日”。根据截至第85期活动“ほどかれた糸の その先に”(MMJ箱活,三箱,举办时间2023年2月10~17日,最后一次有完整数据的活动)的数据,计算结果如下:

        然后我们要计算在每一类日期中,档线是如何随时刻变化的。也就是说,我们希望知道以下“档线增长曲线”中每一段的形状如何,至少是它们的平均形状如何。

        以下是对于5000线的计算结果,每种日期的结果以一个从0开始,到1结束的数列(在Python中叫做列表)呈现,分别表示这一天的第0,1,2…个小时开始时,档线增加到了当天档线增量的多少占比。

性能测试

        现以第85期活动的4个5000线数据点为例来模拟预测,Python代码如下,其中涉及到的“holidayParameters.txt”和“aveShapeOf5000.txt”里就存放着前文中代码框里的内容。

        输出结果如下:

        第85期活动的5000线实际数值为2707288pt,和预测线的偏差很小,可见这是一种有参考价值的档线预测方法。■

【PJSK】一种基于少量数据点的档线预测方法的评论 (共 条)

分享到微博请遵守国家法律