一种基于小波分解的用户登录特征预测方法及其装置与流程

文档序号:21037968发布日期:2020-06-09 20:31阅读:363来源:国知局
一种基于小波分解的用户登录特征预测方法及其装置与流程

本发明涉及通讯数据处理技术领域的一种特征预测方法,尤其涉及一种基于小波分解的用户登录特征预测方法,还涉及应用该方法的基于小波分解的用户登录特征预测装置。



背景技术:

随着网络技术的发展,网络用户的数量迅速增多,给网络服务带来了巨大的挑战。用户登录特征反应了用户使用网络服务的习惯,对于网络服务性能优化具有重要的参考价值。目前,已提出的大多数预测方法基于用户的社交属性进行用户特征预测。但是,这些预测方法均存在预测效果误差比较大,预测效果不理想的问题。



技术实现要素:

为解决现有的用户登录特征预测方法存在预测效果误差比较大,预测效果不理想的技术问题,本发明提供一种基于小波分解的用户登录特征预测方法及其装置。

本发明采用以下技术方案实现:一种基于小波分解的用户登录特征预测方法,其包括以下步骤:

步骤一、提取数据,获得用户登录特征时间序列数据,其中数据提取包括以下步骤;

(1.1)根据相邻两次登录时刻,获得登录时间间隔数据序列,再根据登录时刻和登出时刻获得在线时长数据序列;以及

(1.2)对线时长数据序列中的待处理数据进行预处理,预处理方法相同,且预处理方法包括以下步骤:

(1.2.1)计算所述待处理数据与其所在数据序列中最小值的差值δ1;

(1.2.2)计算所述待处理数据所在数据序列中的最大值与最小值的差值δ2;以及

(1.2.3)计算差值δ1与差值δ2的比值δd'(t),并获得处理后的数据序列δd'(t)序列;

步骤二、通过所述用户登录特征时间序列数据,进行数据预测;其中,数据预测方法包括以下步骤:

(2.1)对δd'(t)序列进行小波分解,获得低频分量和高频分量;

(2.2)对所述低频分量进行训练和建模,并建模后预测,获得所述低频分量的预测序列;

(2.3)对所述高频分量进行训练和建模,并建模后预测,获得所述高频分量的预测序列;

(2.4)将所述低频分量和所述高频分量的预测序列进行小波重构,获得组合预测结果;以及

(2.5)对所述组合预测结果进行反归一化处理,获得用户登录特征预测结果。

本发明通过数据提取阶段和预测阶段这两个阶段实现预测,在数据提取时,根据登录时刻,根据两次登录的时间间隔,获得登录时间间隔数据序列,再根据登录和登出时刻获得在线时长数据序列,然后对上述两个数据序列中的数据进行预处理;在数据预测时,对预处理结果进行小波分解,然后对分解的低频分量进行训练、建模和预测,获得低频预测序列,再然后对分解的高频分量进行训练、建模和预测,获得高频预测序列,随后对低频预测序列和高频预测序列进行小波重构,最后将重构的组合预测结果进行反归一化处理,得到最终的预测结果,解决了现有的用户登录特征预测方法存在预测效果误差比较大,预测效果不理想的技术问题,得到了预测精度高,预测效果好的技术效果。

作为上述方案的进一步改进,在步骤一中,数据提取方法包括以下步骤:

(1.3)根据数据字段获得用户的登录时刻、登出时刻;

(1.4)对所述登出时刻进行数据补全,且补全方法包括以下步骤:

(1.4.1)设所缺的登出时刻为timek,由用户距离缺失时刻之前t+1次的登出时刻,求前后登出时刻的间隔,获得序列:yt{t=1,2,3,...,t∈t};

(1.4.2)根据平均绝对百分误差mape最小的原则确定数据变化的反馈系数α;

(1.4.3)获得后向登出间隔δtb,最后一次登录时间以及前向登出时间间隔δtf;

(1.4.4)计算缺失时刻,且计算公式为:

timek=timek-1+[(timek+1-δtf)-(timek-1+δtb)]/2

(1.4.5)通过所述缺失时刻,对所述登出时刻进行数据补全;

(1.5)通过服务器的响应参数对异常登出时刻进行剔除;以及

(1.6)计算所述登录时刻与所述登出时刻的差值作为在线时长,根据两次登录时刻计算登录时间间隔,获得在线时长数据序列以及登录时间间隔数据序列。

作为上述方案的进一步改进,所述登录时间间隔的计算公式为:

δdur(t)=time(t+1)-time(t)

式中,δdur(t)为所述登录时间间隔,time(t)为第t次登录时刻,time(t+1)为第t+1次登录时刻;

对所述数据序列预处理公式为:

式中,δd(t)为所述待处理数据,δdmin为所述待处理数据其所在数据序列的最小值,δdmax为所述待处理数据其所在数据序列的最大值。

作为上述方案的进一步改进,所述低频分量的表达式为:

a0(t)=δd'(t)

式中,j为尺度,aj(t)为所述低频分量。

进一步地,所述高频分量的表达式为:

dj(t)=aj-1(t)-aj(t)

式中,dj(t)为所述高频分量。

再进一步地,尺度j为1,定义所述低频分量为a1,高频分量为d1;

在步骤(2.2)中,通过一个自回归移动平均模型对所述低频分量a1进行建模并预测,并获得所述低频分量的预测序列pa1;其中,所述自回归移动平均模型的表达式为:

式中,为自回归系数;p是自回归阶次,θ1,θ2,…,θq为移动平均系数;q为移动平均阶次,{εt}为白噪声序列。

再进一步地,在步骤(2.3)中,对所述高频分量d1进行长短期记忆神经网络模型训练,并获得所述高频分量的预测序列pd1;所述长短期记忆神经网络模型采用滑动窗口的方式进行预测,并对数据进行分割,且分割公式为:

ij={xj,xj+t,...,xj+kt},j=1,2,...,t

其中,将ij前k个数据作为所述长短期记忆神经网络模型的输入值,第k+1个数据作为参照值,并在预测时将模型输出的结果作为预测下一的点的输入数据的一部分;所述长短期记忆神经网络模型采用准确率作为损失函数。

作为上述方案的进一步改进,在步骤(2.4)中,所述组合预测结果的表达式为:

式中,aj(t)为所述低频分量,dj(t)为所述高频分量。

再进一步地,在步骤(2.5)中,所述用户登录特征预测结果的预测公式为:

δd(t)预测=δd(t)'(δdmax-δdmin)+δdmin

在步骤(2.2)中,还先进行adf检验,获得差分系数,再采用赤池信息准则确定所述自回归移动平均模型的自回归阶次和移动平均阶次。

本发明还提供一种基于小波分解的用户登录特征预测装置,其应用上述任意所述的基于小波分解的用户登录特征预测方法,其包括:

提取模块,其用于提取数据,获得用户登录特征时间序列数据,其包括登录时间间隔与在线时长数据序列获得子模块,所述登录时间间隔与在线时长数据序列获得子模块用于获得计算获得用户登录时间间隔数据序列,以及计算获得在线时长数据序列,再对所述两个数据序列进行预处理;所述登录时间间隔与在线时长数据序列获得子模块包括计算单元一、计算单元二以及计算单元三;所述计算单元一用于计算所述登录时间间隔数据序列与在线时长数据序列中的数据与其所在数据序列中的最小值的差值δ1;所述计算单元二用于计算所述数据序列中的最大值与最小值的差值δ2;所述计算单元三用于计算差值δ1与差值δ2的比值δd'(t),并获得δd'(t)序列;以及

预测模块,其用于通过所述用户登录特征时间序列数据,进行数据预测;所述预测模块包括小波分解子模块、预测序列获得子模块一、预测序列获得子模块二、小波重构子模块以及特征预测子模块;所述小波分解子模块用于对δd'(t)序列进行小波分解,获得低频分量和高频分量;所述预测序列获得子模块一用于对所述低频分量进行训练和建模,并建模后预测,获得所述低频分量的预测序列;所述预测序列获得子模块二用于对所述高频分量进行训练和建模,并建模后预测,获得所述高频分量的预测序列;所述小波重构子模块用于将所述低频分量和所述高频分量的预测序列进行小波重构,获得组合预测结果;所述特征预测子模块用于对所述组合预测结果进行反归一化处理,获得用户登录特征预测结果。

相较于现有的用户登录特征预测方法,本发明的基于小波分解的用户登录特征预测方法及其装置具有以下有益效果:

1、该基于小波分解的用户登录特征预测方法,其在数据预测时,对预处理结果进行小波分解,然后对分解的低频分量进行训练、建模和预测,获得低频预测序列,再然后对分解的高频分量进行训练、建模和预测,获得高频预测序列,随后对低频预测序列和高频预测序列进行小波重构,最后将重构的组合预测结果进行反归一化处理,得到最终的预测结果,而且实验表明该方法具有更好的预测效果,均方根误差和平均百分比误差更低,对于用户登录时刻和在线时长预测更为准确,能够对网络用户登录特征进行有效的预测,能够为用户大规模登录现象提供预警,提前做好应对措施,具有实际应用价值。

2、该基于小波分解的用户登录特征预测方法,其在提取数据时,首先获得用户的登录时刻、登出时刻,再对登出时刻进行数据补全,对异常登出时刻进行剔除,计算登录时刻和登出时刻的差值并作为在线时长,然后根据相邻两次登录时刻,获得登录时间间隔,最后对两个数据序列进行了预处理。这样提取的数据更加准确,能够帮助网络服务提供商对用户异常登录行为进行检测,而且对于服务器中的用户缓存数据进行按需加载,可以优化缓存,使得最终的预测结果的精度更高,预测效果更好。

3、该基于小波分解的用户登录特征预测方法,其对低频序列采用自回归移动平均模型进行建模预测,对高频序列采用长短期记忆神经网络进行预测,使预测更加贴近数据的变化特点,进而使预测序列的准确性大幅提升,使最终的用户登录特征预测结果更加准确。

该基于小波分解的用户登录特征预测装置的有益效果与上述方法的有益效果相同,在此不再做赘述。

附图说明

图1为本发明实施例1的基于小波分解的用户登录特征预测方法的流程图;

图2为图1所示出的用户登录特征预测方法的用户登录特征建模与预测流程图;

图3为本发明实施例2的基于小波分解的用户登录特征预测方法的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

实施例1

请参阅图1以及图2,本实施例提供了一种基于小波分解的用户登录特征预测方法,该方法通过两个阶段进行,这两个阶段分别为数据提取阶段和预测阶段。数据提取阶段对原始的服务器日志信息进行数据提取,获得用户登录特征时间序列数据。数据分为登录时刻时间序列数据和在线时长时间序列数据。而预测阶段对前面获得的两个数据分别进行预测,预测步骤相同。首先,对数据进行小波分解,得到低频近似序列和高频细节序列。然后,对低频序列采用自回归移动平均模型(arima)进行建模预测,对高频序列采用长短期记忆神经网络(lstm)进行预测。最后,将所得的两个预测序列进行小波重构获得最终预测结果。具体而言,本实施例中该用户登录特征预测方法包括以下这些步骤。

步骤一、提取数据,获得用户登录特征时间序列数据,并对数据进行预处理。

步骤二、通过处理后的用户登录特征时间序列数据,进行数据预测。小波分析对原始数据分解时,会得到包含反映数据变化趋势的低频序列以及包含数据细节信息的高频序列。在用户登录特征预测问题中,低频序列反映的是用户的登录行为趋势变化信息,变化缓慢,可以视为平稳时间序列,所以采用arima来进行预测,而高频序列反映的用户登录特征的细节变化信息,由于用户短期内登录特征变化随机性大,具有非线性的特点,因此采用lstm神经网络进行预测。

经过清洗日志后得到的原始数据为用户登录、登出的时刻和在线时长数据。预测的对象为用户下一次的登录时刻以及下一次的登录时长。由于对于登录时刻和登录时长的预测步骤基本相同,所以使用登录时刻的预测进行说明。其中,数据预测方法包括以下这些步骤(即步骤(2.1)-(2.5))。

(2.1)对δd'(t)序列进行小波分解,获得低频分量和高频分量。在本实施例中,低频分量的表达式为:

a0(t)=δd'(t)

式中,j为尺度,aj(t)为低频分量。

高频分量的表达式为:

dj(t)=aj-1(t)-aj(t)

式中,dj(t)为高频分量。

(2.2)对低频分量进行训练和建模,并建模后预测,获得低频分量的预测序列。在本实施例中,h为低通滤波器,尺度j为1,定义低频分量为a1,高频分量为d1。在本步骤中,通过一个自回归移动平均模型(arima)对低频分量a1进行建模并预测,并获得低频分量的预测序列pa1。其中,自回归移动平均模型的表达式为:

式中,为自回归系数。p是自回归阶次,θ1,θ2,…,θq为移动平均系数。q为移动平均阶次,{εt}为白噪声序列。

在本步骤中,还先进行adf检验,获得差分系数,再采用赤池信息准则确定自回归移动平均模型的自回归阶次和移动平均阶次。

(2.3)对高频分量进行训练和建模,并建模后预测,获得高频分量的预测序列。在本实施例中,对高频分量d1进行长短期记忆神经网络(lstm)模型训练,并获得高频分量的预测序列pd1。长短期记忆神经网络模型采用滑动窗口的方式进行预测,并对数据进行分割,且分割公式为:

ij={xj,xj+t,...,xj+kt},j=1,2,...,t

其中,将ij前k个数据作为长短期记忆神经网络模型的输入值,第k+1个数据作为参照值,并在预测时将模型输出的结果作为预测下一的点的输入数据的一部分。即将输出oj作为xj+(k+1)t进行下一个值的预测。长短期记忆神经网络模型采用准确率作为损失函数。

(2.4)将低频分量和高频分量的预测序列进行小波重构,获得组合预测结果。在本实施例中,组合预测结果的表达式为:

式中,aj(t)为低频分量,dj(t)为高频分量。

(2.5)对组合预测结果进行反归一化处理,获得用户登录特征预测结果。在本实施例中,用户登录特征预测结果的预测公式为:

δd(t)预测=δd(t)'(δdmax-δdmin)+δdmin

综上所述,相较于现有的用户登录特征预测方法,本实施例的基于小波分解的用户登录特征预测方法具有以下优点:

1、该基于小波分解的用户登录特征预测方法,其在数据预测时,对预处理结果进行小波分解,然后对分解的低频分量进行训练、建模和预测,获得低频预测序列,再然后对分解的高频分量进行训练、建模和预测,获得高频预测序列,随后对低频预测序列和高频预测序列进行小波重构,最后将重构的组合预测结果进行反归一化处理,得到最终的预测结果,而且实验表明该方法具有更好的预测效果,均方根误差和平均百分比误差更低,对于用户登录时刻和在线时长预测更为准确,能够对网络用户登录特征进行有效的预测,能够为用户大规模登录现象提供预警,提前做好应对措施,具有实际应用价值。

2、该基于小波分解的用户登录特征预测方法,其对低频序列采用自回归移动平均模型进行建模预测,对高频序列采用长短期记忆神经网络进行预测,使预测更加贴近数据的变化特点,进而使预测序列的准确性大幅提升,使最终的用户登录特征预测结果更加准确。

实施例2

请参阅图3,本实施例提供了一种基于小波分解的用户登录特征预测方法,其在实施例1的基础上对步骤一进行细化。原始的日志数据为log类型文件,需要从中根据用户的id来区分用户身份,根据数据字段获得用户的登录时刻、登出时刻,两者的差值为在线时长。但实际过程中,用户的异常操作会导致收集的数据异常。不正常的操作主要分为两种情况:(1)用户异常登出行为,导致登出时刻异常;(2)用户频繁的登录、登出行为,导致在线时长过短。为此,在本实施例中,数据提取方法包括以下这些步骤(步骤(1.1)-(1.6))。

(1.1)根据数据字段获得用户的登录时刻、登出时刻。

(1.2)对登出时刻进行数据补全,且补全方法包括以下这些步骤(步骤(1.2.1)-(1.2.5))。在数据补全时,本实施例补全采用前后向二次指数平滑法,而且补全公式为:

(1.2.1)设所缺的登出时刻为timek,由用户距离缺失时刻之前t+1次的登出时刻,求前后登出时刻的间隔,获得序列:yt{t=1,2,3,...,t∈t}。

(1.2.2)根据平均绝对百分误差mape最小的原则确定数据变化的反馈系数α。

(1.2.3)获得后向登出间隔δtb,最后一次登录时间以及前向登出时间间隔δtf。

(1.2.4)计算缺失时刻,且计算公式为:

timek=timek-1+[(timek+1-δtf)-(timek-1+δtb)]/2

(1.2.5)通过缺失时刻,对登出时刻进行数据补全。

(1.3)通过服务器的响应参数对异常登出时刻进行剔除。

(1.4)计算登录时刻与登出时刻的差值并作为在线时长。

(1.5)根据相邻两次登录时刻,获得登录时间间隔数据序列。时间间隔的计算公式为:

δdur(t)=time(t+1)-time(t)

式中,δdur(t)为所述登录时间间隔,time(t)为第t次登录时刻,time(t+1)为第t+1次登录时刻,即下一次登录时刻。

(1.6)对步骤(1.5)获得的登录时间间隔数据序列以及步骤(1.4)获得的在线时长数据序列进行预处理,且预处理方法包括以下这些步骤(即步骤(1.6.1)-(1.6.3))。

(1.6.1)计算待处理数据与其所在数据序列中的最小值的差值δ1。

(1.6.2)计算在待处理数据所在数据序列中的最大值与最小值的差值δ2。

以及

(1.6.3)计算差值δ1与差值δ2的比值δd'(t),并获得δd'(t)序列。

在本实施例中,对数据序列预处理公式为:

式中,δdmin为所述待处理数据其所在数据序列的最小值,δdmax为所述待处理数据其所在数据序列的最大值。

因此,该基于小波分解的用户登录特征预测方法,其在提取数据时,首先获得用户的登录时刻、登出时刻,再对登出时刻进行数据补全,对异常登出时刻进行剔除,计算登录时刻和登出时刻的差值并作为在线时长,然后根据相邻两次登录时刻,获得登录时间间隔,最后对两个数据序列进行了预处理。这样提取的数据更加准确,能够帮助网络服务提供商对用户异常登录行为进行检测,而且对于服务器中的用户缓存数据进行按需加载,可以优化缓存,使得最终的预测结果的精度更高,预测效果更好。

实施例3

本实施例提供了一种基于小波分解的用户登录特征预测装置,该装置应用实施例1或实施例2的基于小波分解的用户登录特征预测方法。该用户登录特征预测装置包括提取模块和预测模块。

提取模块用于提取数据,获得用户登录特征时间序列数据,对数据进行预处理。在本实施例中,提取模块用于实施例1中的步骤一。预测模块用于通过用户登录特征时间序列数据,进行数据预测。预测模块包括小波分解子模块、预测序列获得子模块一、预测序列获得子模块二、小波重构子模块以及特征预测子模块。小波分解子模块用于对δd'(t)序列进行小波分解,获得低频分量和高频分量。预测序列获得子模块一用于对低频分量进行训练和建模,并建模后预测,获得低频分量的预测序列。预测序列获得子模块二用于对高频分量进行训练和建模,并建模后预测,获得高频分量的预测序列。小波重构子模块用于将低频分量和高频分量的预测序列进行小波重构,获得组合预测结果。特征预测子模块用于对组合预测结果进行反归一化处理,获得用户登录特征预测结果。

本实施例的基于小波分解的用户登录特征预测装置的优点与实施例1中的用户登录特征预测方法的优点相同,在此不再做赘述。

实施例4

本实施例提供了一种基于小波分解的用户登录特征预测装置,该装置在实施例3的基础上对提取模块进行细化。其中,提取模块包括时刻获取子模块、补全子模块、剔除子模块以及在线时长计算子模块。时刻获取子模块用于根据数据字段获得用户的登录时刻、登出时刻。补全子模块用于对登出时刻进行数据补全,而且包括登出序列获取单元、反馈系数确定单元、登出间隔获取单元、缺失时刻计算单元以及补全单元。登出序列获取单元用于设所缺的登出时刻为timek,由用户距离缺失时刻之前t+1次的登出时刻,求前后登出时刻的间隔,获得序列:yt{t=1,2,3,...,t∈t}。反馈系数确定单元用于根据平均绝对百分误差mape最小的原则确定数据变化的反馈系数α。登出间隔获取单元获得后向登出间隔δtb,最后一次登录时间以及前向登出时间间隔δtf。缺失时刻计算单元用于计算缺失时刻,且计算公式为:timek=timek-1+[(timek+1-δtf)-(timek-1+δtb)]/2。补全单元用于通过缺失时刻,对登出时刻进行数据补全。在数据补全时,本实施例补全采用前后向二次指数平滑法,而且补全公式为:剔除子模块用于通过服务器的响应参数对异常登出时刻进行剔除。在线时长计算子模块用于计算登录时刻与登出时刻的差值并作为在线时长。

该基于小波分解的用户登录特征预测装置,其在提取数据时,首先获得用户的登录时刻、登出时刻,再对登出时刻进行数据补全,对异常登出时刻进行剔除,计算登录时刻和登出时刻的差值并作为在线时长,然后根据相邻两次登录时刻,获得登录时间间隔,最后对两个数据序列进行了预处理。这样提取的数据更加准确,能够帮助网络服务提供商对用户异常登录行为进行检测,而且对于服务器中的用户缓存数据进行按需加载,可以优化缓存,使得最终的预测结果的精度更高,预测效果更好。

实施例5

本实施例提供了一种计算机终端,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序。处理器执行程序时实现实施例1或实施例2的基于小波分解的用户登录特征预测方法的步骤。

实施例1或实施例2的用户登录特征预测方法在应用时,可以软件的形式进行应用,如设计成独立运行的程序,安装在计算机终端上,计算机终端可以是电脑、智能手机、控制系统以及其他物联网设备等。实施例1或实施例2的用户登录特征预测方法也可以设计成嵌入式运行的程序,安装在计算机终端上,如安装在单片机上。

实施例6

本实施例提供了一种计算机可读存储介质,其上存储有计算机程序。程序被处理器执行时,实现实施例1或实施例2的基于小波分解的用户登录特征预测方法的步骤。

实施例1或实施例2的用户登录特征预测方法在应用时,可以软件的形式进行应用,如设计成计算机可读存储介质可独立运行的程序,计算机可读存储介质可以是u盘,设计成u盾,通过u盘设计成通过外在触发启动整个方法的程序。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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