游戏实时活跃人数预测方法、系统、电子设备和存储介质与流程

文档序号:26093127发布日期:2021-07-30 18:02阅读:101来源:国知局
游戏实时活跃人数预测方法、系统、电子设备和存储介质与流程

本申请涉及互联网技术领域,特别是涉及游戏实时活跃人数预测方法、系统、电子设备和存储介质。



背景技术:

随着游戏行业的发展,游戏开发者希望提前了解到未来日期预计的游戏实时活跃人数,以此了解游戏的预计运营情况,从而对游戏运营做出提前调整。目前,一般通过人工观察游戏业务的真实数据,依据主观判断来给出预测结果,不仅效率低且预测结果的准确度低,对此,目前针对相关技术中尚未提出有效的解决方案。



技术实现要素:

本申请实施例提供了游戏实时活跃人数预测方法、系统、电子设备和存储介质,以至少解决相关技术中通过人工预测未来游戏实时活跃人数的方式效率低且预测结果准确度低问题。

第一方面,本申请实施例提供了一种游戏实时活跃人数预测方法,包括:获取当前日期之前预设天数内的历史时刻游戏活跃人数信息,其中,每个时刻根据预设间隔时间得到;将所述历史时刻游戏活跃人数信息带入预先构建的整合移动平均自回归模型(arima模型,autoregressiveintegratedmovingaveragemodel),预测出所述当前日期的游戏实时活跃人数。

在其中一些实施例中,所述整合移动平均自回归模型通过如下方式获得:通过指定的单位根检验法检验时间序列是否平稳,并计算出目标差分阶数;通过指定的信息准则确定自回归阶数和移动回归阶数的参数对,得到所述整合移动平均自回归模型,该整合移动平均自回归模型包含所述目标差分阶数和所述参数对。

在其中一些实施例中,所述单位根检验法包括adf(augmenteddickey-fullertest)检验法、pp(philipps-perron)检验法和kpss检验法中的至少一项。

在其中一些实施例中,所述信息准则包括贝叶斯信息准则。

第二方面,本申请实施例提供了一种游戏实时活跃人数预测系统,包括获取单元和预测单元,获取单元用于获取当前日期之前预设天数内的历史时刻游戏活跃人数信息,其中,每个时刻根据预设间隔时间得到;预测单元用于将所述历史时刻游戏活跃人数信息带入预先构建的整合移动平均自回归模型,预测出所述当前日期的游戏实时活跃人数。

在其中一些实施例中,所述整合移动平均自回归模型通过如下方式获得:通过指定的单位根检验法检验时间序列是否平稳,并计算出目标差分阶数;通过指定的信息准则确定自回归阶数和移动回归阶数的参数对,得到所述整合移动平均自回归模型,该整合移动平均自回归模型包含所述目标差分阶数和所述参数对。

在其中一些实施例中,所述单位根检验法包括adf检验法、pp检验法和kpss检验法中的至少一项。

在其中一些实施例中,所述信息准则包括贝叶斯信息准则。

第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项所述的方法。

第四方面,本申请实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项所述的方法。

根据上述内容,本申请实施例提供的游戏实时活跃人数预测方法,包括:获取当前日期之前预设天数内的历史时刻游戏活跃人数信息,其中,每个时刻根据预设间隔时间得到;将历史时刻游戏活跃人数信息带入预先构建的整合移动平均自回归模型,预测出当前日期的游戏实时活跃人数。相比于相关技术,本申请实施例获取历史时刻游戏活跃人数信息作为时间序列,通过整合移动平均自回归模型自动预测当前日期的游戏实时活跃人数,极大的提高了预测的效率以及预测结果的准确性。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的游戏实时活跃人数预测方法的流程图;

图2是根据本申请实施例的游戏实时活跃人数预测系统的结构框图;

图3是根据本申请实施例的电子设备的内部结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。

除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。

为了解决上述问题,本申请的发明人发现,arima模型适用于上述场景,而且python中有相应的pmdarima包可以实现arima模型。

因此,本申请实施例提供一种游戏实时活跃人数预测方法,图1是根据本申请实施例的游戏实时活跃人数预测方法的流程图,如图1所示,该方法包括以下步骤:

s100:获取当前日期之前预设天数内的历史时刻游戏活跃人数信息,其中,每个时刻根据预设间隔时间得到;

s200:将历史时刻游戏活跃人数信息带入预先构建的整合移动平均自回归模型,预测出当前日期的游戏实时活跃人数。

根据上述内容,本申请实施例自动获取历史时刻游戏活跃人数信息作为时间序列,然后再输入整合移动平均自回归模型,从而可以高效的、准确的预测出当前日期的游戏实时活跃人数。

根据本申请实施例的思想,可以实现对未来任一时段每个时间节点的游戏实时活跃人数的预测,能够使得游戏开发者提前了解未来预计的游戏实时活跃人数,以此来区分发生异常时的游戏实时活跃人数与正常时的游戏实时活跃人数。然而,考虑到预测的时间与真实值产生的时间离得越近,则预测结果的误差越小,因此,本申请实施例中的当前日期相对于已产生的数据而言是未来一天的日期,能够使得预测的每个时间点的游戏实时活跃人数与真实的游戏实时活跃人数保持较小的误差。

作为一个示例,通过指定的单位根检验法检验时间序列是否平稳,并计算出目标差分阶数;再通过指定的信息准则确定自回归阶数和移动回归阶数的参数对,从而得到整合移动平均自回归模型,该整合移动平均自回归模型包含目标差分阶数和参数对。

作为一个示例,上述单位根检验法包括adf检验法、pp检验法和kpss检验法等等;上述信息准则包括贝叶斯信息准则。

本申请实施例还提供一种游戏实时活跃人数预测系统,图2是根据本申请实施例的游戏实时活跃人数预测系统的结构框图,如图2所示,该系统包括获取单元1和预测单元2,获取单元1用于获取当前日期之前预设天数内的历史时刻游戏活跃人数信息,其中,每个时刻根据预设间隔时间得到;预测单元2用于将历史时刻游戏活跃人数信息带入预先构建的整合移动平均自回归模型,预测出当前日期的游戏实时活跃人数。

作为一个示例,获取单元1包括数据库配置模块、服务器定时调度模块和数据库连接模块,预测单元2包括计算模块和预测结果写入模块。服务器定时调度模块每天定时根据数据库配置模块获取游戏服务端数据库(以下可简称为数据库)的配置信息,并调用数据库连接模块连接数据库的游戏实时活跃人数真值表(可简称为真值表),从而能够读取历史时刻游戏活跃人数信息。接着,启动计算模块进行计算,得到预测结果。然后,预测结果写入模块将预测结果写入到数据库的游戏实时活跃人数预测表(可简称为预测表)中。

举例而言,游戏服务端数据库中包含两张表,即游戏实时活跃人数真值表和游戏实时活跃人数预测表,其中,游戏实时活跃人数真值表包含游戏从开始运营到当前时间的所有时刻的游戏实时活跃人数。例如,就游戏实时活跃人数真值表而言,以5分钟为时间间隔,每天24小时则共有288个时刻,每个时刻有相应的游戏实时活跃人数。而游戏实时活跃人数预测表用于存储预测的数据,其时间间隔与时刻和真值表一致。

数据库配置模块中,通过python的configparser包读取ini配置文件中的数据库的参数,该参数包括连接的数据库的地址和密码、读写的表和预测的产品id等等。

数据库连接模块中,基于python中的pymysql包可以实现对mysql的读写等各种操作,从而可以从数据库读取真值表中的历史时刻游戏活跃人数信息。

计算模块用于将历史时刻游戏活跃人数信息带入预先构建的整合移动平均自回归模型,预测出当前日期的游戏实时活跃人数。例如,调用python的pmdarima包,并基于已有的历史时刻游戏活跃人数信息,预测当前日期的游戏实时活跃人数。间隔时间比如为5分钟,那么对于当前日期的一天(包含24小时)需要预测288个时刻的游戏实时活跃人数。

作为一个示例,可以对规定的函数设置相应的参数来得到arima模型,例如pmdarima.auto_arima(真值表,start_p=0,start_q=0,max_p=0,max_q=2,m=24,test='adf',start_p=0,max_p=1,start_q=0,max_q=2,seasonal=true,d=1,d=1,stepwise=true,information_criterion='bic',njob=-1)。

其中,m表示单个季节性周期的时间步长数;p表示趋势的自回归阶数;d表示趋势差分阶数;q表示趋势的移动平均阶数;p表示季节性自回归阶数;d表示季节性差分阶数;q表示季节性移动平均阶数;n_jobs表示并行线程数;stepwise:false表示在所有参数组合中选择关于information_criterion参数对应的信息准则得分最高的组合,true表示使用stepwise算法,比遍历所有参数组合快得多并降低过拟合的可能性;information_criterion表示信息准则,有aic和bic两种,aic即akaikeinformationcriterion,表示赤池信息准则,bic即bayesianinformationcriterion,表示贝叶斯信息准则;seasonal:true是否有季节性规律;test用于指定单位根检验法,比如常用的有adf检验法、pp检验法和kpss检验法,单位根检验用于检验时间序列中是否存在单位根,若存在单位根则为非平稳时间序列;start_p和max_p表示搜索p的最小值和最大值;start_q和max_q,start_p和max_p,start_q和max_q同理,不再赘述。

作为一个示例,根据参数test指定的单位根检验法(例如test='adf'表示采用adf检验法)检验进行d阶差分后的时间序列是否平稳,若是,则使用当前的差分阶数d为目标差分阶数;如果不平稳,则在[0,max_d]区间内对非平稳时间序列进行d阶差分运算,并通过单位根检验法对时间序列进行检验,当非平稳时间序列被转化为平稳时间序列时,得到目标差分阶数d,上述max_d表示最大差分阶数。然后,再通过information_criterion指定的信息准则(例如information_criterion=’bic’表示采用叶斯信息准则)在预设置的[start_p,max_p]和[start_q,max_q]区间内确定arima模型的自回归阶数p和移动回归阶数q的参数对(p,q),由此得到arima模型,该arima模型包含参数(p,d,q)。

因此,可以根据规定函数的参数进行模型的初始化,得到模型arima_model。然后,再使用模型arima_model的函数arima_model.predict(预测的时刻的数量)来预测未来时刻的游戏实时活跃人数。

举例来说,当前日期为6号,需要获取6号之前5天内的每间隔半小时时刻的游戏活跃人数信息,从真值表中可以获得1号00:00实时活跃人数,1号00:30实时活跃人数,一直到5号23:30实时活跃人数,再通过函数arima_model=pmdarima.auto_arima(真值表,start_p=0,start_q=0,max_p=0,max_q=2,m=48,test='adf',stepwise=true,information_criterion='bic')进行模型的初始化,其中m=48表示每天24小时以半小时为间隔的48个时刻,例如对应00:00,00:30,...,23:30,然后再用predict_data=arima_model.predict(48)得到要预测的6号这一天的48个半小时时刻的游戏实时活跃人数。

进一步的,预测结果写入模块将预测的各时刻的游戏实时活跃人数写入预测表,可选的,采用replaceinto插入方式将预测的结果插入到预测表中。

基于上述内容,本发明实施例在预先得到历史时刻游戏活跃人数信息和arima模型的情况下,根据系统的当前日期,可以实现一键式预测游戏实时活跃人数,操作简便。

需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。

另外,结合上述实施例中的游戏实时活跃人数预测方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种游戏实时活跃人数预测方法。

本申请的一个实施例中还提供了一种电子设备,该电子设备可以是终端。该电子设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种游戏实时活跃人数预测方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

在一个实施例中,图3是根据本申请实施例的电子设备的内部结构示意图,如图3所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图3所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种游戏实时活跃人数预测方法,数据库用于存储数据。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1