CN114285728A - 一种预测模型训练方法、流量预测方法、装置及存储介质 - Google Patents

一种预测模型训练方法、流量预测方法、装置及存储介质 Download PDF

Info

Publication number
CN114285728A
CN114285728A CN202111615394.8A CN202111615394A CN114285728A CN 114285728 A CN114285728 A CN 114285728A CN 202111615394 A CN202111615394 A CN 202111615394A CN 114285728 A CN114285728 A CN 114285728A
Authority
CN
China
Prior art keywords
data
flow
prediction
initial
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111615394.8A
Other languages
English (en)
Other versions
CN114285728B (zh
Inventor
邓丽洁
朱永庆
唐宏
阮科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202111615394.8A priority Critical patent/CN114285728B/zh
Publication of CN114285728A publication Critical patent/CN114285728A/zh
Application granted granted Critical
Publication of CN114285728B publication Critical patent/CN114285728B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请的实施例揭示了一种预测模型训练方法、流量预测方法、装置及存储介质,预测模型训练方法包括:获取历史流量数据,并对历史流量数据进行数据转换,得到初始流量时间序列数据;对初始流量时间序列数据进行异常检测,以检测初始流量时间序列数据中的异常数据;对检测到的异常数据进行修复,得到目标流量时间序列数据;根据目标流量时间序列数据对初始神经网络模型进行训练,得到用于流量预测的目标神经网络模型,初始神经网络模型中包括长短期记忆网络LSTM,通过对流量时间序列进行异常检测以及异常修复,为后续的精准流量预测减少了冗余信息,提高预测精度。

Description

一种预测模型训练方法、流量预测方法、装置及存储介质
技术领域
本申请涉及一种流量预测技术,提供一种预测模型训练方法、流量预测方法、预测模型训练装置、流量预测装置及计算机可读存储介质。
背景技术
随着网络规模的急剧扩大,网络结构越来越复杂,网络出现拥塞的可能性也越来越大,对流量的分析和控制已变得十分重要。流量工程对于大规模网络容量规划、网络设备设计、网络资源管理及用户行为调节等都有积极意义。通过对网络流量的测量与预测,可以了解网络之间的流量情况及趋势,从而更有效地进行网络优化,更好地进行路由设计和负载均衡的设计;同时可以控制网络拥塞,从而降低因网络拥塞带来的信息丢失和延迟,充分利用网络资源,提高服务质量。
相关技术在预测流量时,常采用的方式为:基于统计的传统预测模型,如:平均数预测、最小均方误差预测、自回归滑动平均(Autoregressive moving average model,ARMA)模型预测等;而基于统计的传统模型已解决不了复杂的非线性时序模型,不能满足现代网络流量存在的突变性和多依赖性等非线性要求,且一般只适用于具有显著长期变动趋势的预测。
发明内容
本申请的目的在于提供一种预测模型训练方法、流量预测方法、预测模型训练装置、流量预测装置及计算机可读存储介质,通过对流量时间序列进行异常检测以及异常修复,为后续的精准流量预测减少了冗余信息,提高预测精度。
本申请提出一种预测模型训练方法,包括:获取历史流量数据,并对所述历史流量数据进行数据转换,得到初始流量时间序列数据;对所述初始流量时间序列数据进行异常检测,以检测所述初始流量时间序列数据中的异常数据;对检测到的异常数据进行修复,得到目标流量时间序列数据;根据所述目标流量时间序列数据对初始神经网络模型进行训练,得到用于流量预测的目标神经网络模型,所述初始神经网络模型中包括LSTM(Longshort-term memory,长短期记忆网络)。
进一步地,所述对所述初始流量时间序列数据进行异常检测,以检测所述初始流量时间序列数据中的异常数据包括:将所述初始流量时间序列数据分解为趋势分量、周期分量和余项分量;根据所述初始流量时间序列数据的中位数、所述周期分量和所述初始流量时间序列数据得到新余项分量;确定所述新余项分量与所述新余项分量的中位数偏离最远的残差,作为检验统计量;计算所述初始流量时间序列数据中的临界值,根据所述检验统计量和临界值判断所述初始流量时间序列数据中是否存在为异常数据。
进一步地,所述对检测到的异常数据进行修复,得到目标流量时间序列包括:对检测到的异常数据进行空值处理得到缺失值;根据非异常数据对所述缺失值进行插补;根据所述周期分量、所述中位数和缺失值插补后的时间序列数据余项分量、得到所述目标流量时间序列。
进一步地,所述根据非异常数据对所述缺失值进行插补包括:选取K个与所述缺失值距离最近的非异常数据,其中,K为大于或等于2的正整数;计算K个非异常数据的平均值,并以所述平均值对所述缺失值进行插补。
进一步地,所述初始神经网络模型包括三层LSTM层,以及连接在所述LSTM层后的全连接层;所述根据所述目标流量时间序列数据对初始神经网络模型进行训练,得到用于流量预测的目标神经网络模型,包括:对所述目标流量时间序列进行归一化处理,并将归一化处理后得到的结果划分为训练集和测试集;将所述训练集输入所述初始神经网络模型进行训练,得到所述初始流量预测模型;根据所述测试集对所述初始流量预测模型进行评估,以得到用于流量预测的目标神经网络模型。
本申请还提出一种流量预测方法,包括获取根据如上所述的预测模型训练方法训练得到的用于流量预测的目标神经网络模型;根据所述目标神经网络模型对预测日期的流量进行预测得到预测结果。
进一步地,在所述根据所述目标神经网络模型对预测日期的流量进行预测得到预测结果之后,所述方法还包括:对所述预测结果进行整合,得到以预设时间为单位的流量预测矩阵;对所述流量预测矩阵进行分析,并根据分析结果对网络规划进行优化。
本申请还提出一种预测模型训练装置,包括:数据获取模块,被配置为获取历史流量数据,并对所述历史流量数据进行数据转换,得到初始流量时间序列数据;检测模块,被配置为对所述初始流量时间序列数据进行异常检测,以检测所述初始流量时间序列数据中的异常数据;修复模块,被配置为对检测到的异常数据进行修复,得到目标流量时间序列数据;训练模块,被配置为根据所述目标流量时间序列数据对初始神经网络模型进行训练,得到用于流量预测的目标神经网络模型,所述初始神经网络模型中包括长短期记忆网络LSTM。
本申请还提出一种流量预测装置,包括:模型获取模块,被配置为获取用于流量预测的目标神经网络模型;预测模块,被配置为根据所述目标神经网络模型对预测日期的流量进行预测得到预测结果。
本申请还提出一种计算机可读存储介质,其上存储有计算机可读指令,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的预测模型训练方法或使计算机执行如上所述的流量预测方法。
与现有技术相比,本申请具有如下有益效果:
本申请提供的技术方案中,获取历史流量数据,并对所述历史流量数据进行数据转换,得到各初始流量时间序列数据;对所述各初始流量时间序列数据进行异常检测,以检测所述各初始流量时间序列数据中的异常数据;对检测到的异常数据进行修复,得到目标流量时间序列数据;根据所述目标流量时间序列数据对长短期记忆网络LSTM进行训练,得到流量预测模型;即本申请提供的技术方案考虑了流量时间序列的特点,对流量时间序列进行异常检测以及异常修复,为后续的精准流量预测减少了冗余信息,提高预测精度,且通过LSTM网络可以学习之间的潜在相关性,互为约束条件,提高了预测精度,不仅对流量预测具有明显的优势,而且拥有一定的泛化能力。
附图说明
图1是本申请涉及的一种实施环境的示意图;
图2是本申请一示例性实施例示出的一种预测模型训练方法的流程图;
图3是图2所示的预测模型训练方法中的步骤S120在一示例中的流程图;
图4是图2所示的预测模型训练方法中的步骤S130在一示例中的流程图;
图5是图2所示的预测模型训练方法中的步骤S140在一示例中的流程图;
图6是本申请的一示例性实施例示出的一种流量预测方法的流程图;
图7是本申请一示例性实施例示出的包含模型训练阶段和预测阶段的流程图;
图8是本申请一示例性实施例示出的一种预测模型训练装置的结构示意图;
图9是本申请一示例性实施例示出的一种流量预测装置的结构示意图;
图10示出了适于用来实现本申请实施例的电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
还需要说明的是:在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参阅图1,图1是本申请涉及的一种实施环境的示意图。该实施环境包括数据服务器10、模型训练装置20和模型预测装置30,数据服务器10、模型训练装置20之间通过有线或者无线网络进行通信,模型训练装置20与模型预测装置之间通过有线或者无线网络进行通信;
数据服务器10用于提供历史流量报表;
模型训练装置20用于基于历史流量报表得到历史流量数据,并对历史流量数据进行数据转换,得到初始流量时间序列数据;对初始流量时间序列数据进行异常检测,以检测初始流量时间序列数据中的异常数据;对检测到的异常数据进行修复,得到目标流量时间序列数据;根据目标流量时间序列数据对初始神经网络模型进行训练,得到用于流量预测的目标神经网络模型,初始神经网络模型中包括长短期记忆网络LSTM;
模型预测装置30用于获取模型训练装置训练得到流量预测模型,并基于该流量预测模型进行流量的预测。
其中,数据服务器10可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器,本处不对此进行限制。
模型训练装置20和模型预测装置30可以是服务器,也可以是终端,终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(PersonalDigitalAssistant,20PDA)、便捷式媒体播放器(PortableMediaPlayer,PMP)、可穿戴设备、智能手环等移动终端,以及诸如数字TV、台式计算机等具有拨号上线功能的固定终端。
请参阅图2,图2是本申请一示例性实施例示出的一种预测模型训练方法的流程图,该预测模型训练方法由图1所示的模型训练装置20执行,预测模型训练方法包括步骤S110至步骤S140,详细介绍如下:
S110、获取历史流量数据,并对历史流量数据进行数据转换,得到初始流量时间序列数据。
在申请的一实施例中,需要获取历史流量数据,该历史流量数据为模型训练的样本数据。
可选的,可以从数据库中获取历史流量报表。其中,历史流量报表中包括各种与流量相关的数据;例如历史流量报表包括局向流量(省到省的流量)、定向向量(如在指定手机应用、内容使用的流量)、通用流量等;然后根据需要预测的数据类型从历史流量报表中获取历史流量数据。例如需要预测的数据类型为省到省的流量数据,则从历史流量报表中筛选出所有省到省的局向流量,将其作为样本数据。
可以理解的是,历史流量数据为几月几号用了多少流量,为了便于后续建立预测模型,本申请的一个实施例中,需要对历史流量数据进行数据转换,即转换为时间序列格式的数据,得到初始流量时间序列数据。初始流量时间序列数据是在不同时间上收集到的流量数据,用于所描述流量随时间变化的情况。
本申请的一个实施例中,可以得到多个初始流量时间序列数据,例如针对每个月,将31个省之间的流量数据进行数据转换,得到31*31个初始流量时间序列数据。
可选的,得到多个初始流量时间序列数据之后,对多个初始流量时间序列数据进行整合,例如整合为矩阵,第一列为时间,其余列为某个省到另一个省的流量时间序列。
S120、对初始流量时间序列数据进行异常检测,以检测初始流量时间序列数据中的异常数据。
需要说明的是,由于机械原因或人为原因,数据库中的数据不可避免地会存在值缺失或异常的情况,本申请实施例中对不同的流量时间序列逐一进行异常检测,以为后续的流量预测减少冗余信息与干扰因素。
请参加图3,图3为图2所示的预测模型训练中的步骤S120在一示例中的流程图,进行异常检测的过程包括:
S121、将初始流量时间序列数据分解为趋势分量、周期分量和余项分量。
在本实施例中,任何时间序列经过合理的函数变换后,都可以被认为是由三个部分叠加而成的,即:趋势项部分,周期项部分,以及随机噪声项部分。通过STL(Seasonal-Trend decomposition procedure based on Loess)对初始流量时间序列进行分解;基于LOESS将某时刻的数据分解为趋势分量(trend component)、周期分量(seasonalcomponent)和余项分量(remainder component),余项分量即对应随机噪声项部分。
S122、根据初始流量时间序列数据的中位数、周期分量和初始流量时间序列数据得到新余项分量。
考虑到余项分量中可能存在着部分假异常点,因此需要检测出余项分量中是否存在异常数据,本实施例中用中位数替换点趋势分量,新的余项分量为:
Figure BDA0003435667100000061
其中,RX为新的余项分量,X为初始流量时间序列数据,SX为分解后的周期分量,
Figure BDA0003435667100000062
为X的中位数。
S123、确定新余项分量与新余项分量的中位数偏离最远的残差,作为检验统计量。
由于异常数据往往是多个而非单个。为了扩展到k个异常值检测,则需要在数据集中逐步删除与均值偏离最大的值(为最大值或最小值)。通过以下公式计算检验统计量:
计算与中位数偏离最远的残差(中位数是流量时间序列删除上一轮最大残差样本后的数据计算所得);
Figure BDA0003435667100000071
其中,Rj为余项分量中第j个样本的检验统计量,
Figure BDA0003435667100000072
为本轮时间序列中与中位数偏离最远的余项分量,median()表示中位数运算。
S124、计算初始流量时间序列数据中的临界值,根据检验统计量和临界值判断初始流量时间序列数据中是否存在为异常数据。
通过以下公式计算初始流量时间序列数据中的临界值:
Figure BDA0003435667100000073
其中,λi为数据是否异常的临界值,n为数据集的样本数,tp,n-j-1为显著度等于p、自由度等于n-j-1的t分布临界值。
在本实施例中,比较检验统计量与临界值;若Rjj,则表示该样本j为异常数据。
由于异常数据往往是多个而非单个,为了扩展到k个异常值检测,重复以上步骤k次,确定出初始流量时间序列数据中的各异常数据。
可以理解的是,当存在多个初始流量时间序列数据时,针对每个初始流量时间序列数据也可以按照上述步骤确定出异常数据。
S130、对检测到的异常数据进行修复,得到目标流量时间序列数据。
在本申请一实施例中,当检测到异常数据时,有多种处理方式,包括修复处理方法有以下四种:删除带有异常数据;将异常值视为缺失值,交给缺失值处理方法来处理;用平均值进行修正;当然在另一实施例中,也可以对检测到的异常数据不处理。
例如,本实施例中对异常数据进行修复的过程为,对异常数据进行空值处理,然后利用均值填充的方法进行填充,进而得到目标流量时间序列数据。
可选的,如图4所示,图4是图2所示的预测模型训练方法中的步骤S130在一示例中的流程图,对异常数据进行修复的过程包括:
S131、对检测到的异常数据进行空值处理得到缺失值。
可以理解的是,空值一般表示数据未知、不适用或将在以后添加数据;空值处理即对异常数据进行处理后,使得数据未知,本实施例中,将空值处理的值作为缺失值。
S132、根据非异常数据对缺失值进行插补。
即根据非异常数据确定最可能的值来插补缺失值;需要说明的是,缺失值进行插补的方法包括但不限于均值插补、利用同类均值插补、极大似然估计和多重插补等。其中均值插补为如果缺失值是定距型的,以该属性存在值的平均值来插补缺失的值;如果缺失值是非定距型的,就根据统计学中的众数原理,用该属性的众数(即出现频率最高的值)来补齐缺失的值;同类均值插补为用层次聚类模型预测缺失变量的类型,再以该类型的均值插补;极大似然估计为通过观测数据的边际分布可以对未知参数进行极大似然估计;多重插补是估计出待插补的值,然后再加上不同的噪声,形成多组可选插补值。根据某种选择依据,选取最合适的插补值。
可选的,本实施例中通过均值插补法对缺失值进行插补,具体包括:
选取K个与缺失值距离最近的非异常数据,其中,K为大于或等于2的正整数;计算K个非异常数据的平均值,并以平均值对缺失值进行插补。
在本实施例中,可以选取同一列中选取K个与缺失值距离最近的非异常数据;也可以是在整个初始流量时间序列矩阵中选取K个与缺失值距离最近的非异常数据。
例如选取同一列中距离缺失值最近的4个非异常数据X1、X2、X3和X4,则插补后缺失值的值为(X1+X2+X3+X4)/4。
S133、根据周期分量、中位数和缺失值插补后的时间序列数据余项分量、得到目标流量时间序列。
在本实施例中,根据以下公式还原流量时间序列得到目标流量时间序列。
Figure BDA0003435667100000081
其中,R′X为插补缺失值后的时间序列数据余项分量,SX为分解后的周期分量,
Figure BDA0003435667100000082
为初始流量时间序列X的中位数。
S140、根据目标流量时间序列数据对初始神经网络模型进行训练,得到用于流量预测的目标神经网络模型,初始神经网络模型中包括LSTM。
LSTM是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,LSTM可作为复杂的非线性单元用于构造更大型深度神经网络;因此本实施例中,初始神经网络模型包括LSTM网络;具体的,初始神经网络模型包括三层LSTM,以及连接在LSTM层后的全连接层。
可选的,如图5所示,图5是图2所示的预测模型训练方法中的步骤S140在一示例中的流程图,包括:
S141、对目标流量时间序列数据进行归一化处理,并将归一化处理后得到的结果划分为训练集和测试集。
在模型训练过程中,由于不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。在本实施例中,需要对目标流量时间序列数据进行归一化处理,即把数据经过处理后使之限定在一定的范围内。
可选的,归一化处理的方式包括但不限于最大-最小标准化,Z-score标准化等。
将归一化处理后得到的结果划分为训练集和测试集,使用训练集的数据来训练模型,然后用测试集上的误差作为最终模型在应对现实场景中的泛化误差。其中,可以将归一化处理后得到的结果按照9:1的比例划分为训练集和测试集;也可以是按照8:2的比例划分为训练集和测试集。
S142、将训练集输入初始神经网络模型进行训练,得到初始流量预测模型。
将测试集的输入到第一层LSTM,将第一层LSTM的输出作为第二层LSTM的输入,将第二层LSTM的输出作为第三层LSTM的输入,将第三层LSTM的输出作为全连接层的输入,进而训练得到初始流量预测模型。
S143、根据测试集对初始流量预测模型进行评估,以得到用于流量预测的目标神经网络模型。
将训练好的模型应用于测试集上进行预测,将测试集的预测结果与测试集的实际数据进行比较,确定模型的正确性,当准确率高于预设准确率阈值时,如准确率高于预设准确率阈值90%,将模型作为目标神经网络模型,并该目标神经网络模型进行流量预测。
在一实施例中,当准确率低于预设准确率阈值时,则扩展训练集,根据扩展后的训练集对初始神经网络模型进行训练。其中扩展训练集的方式包括但不限于数据增强方式,以及再获取更多的新的历史流量数据,通过对新的历史流量数据进行S120~S130的处理,得到新的目标流量时间序列。
图1所示实施例的技术方案是模型训练阶段,以下结合图6对本申请实施例中的基于目标神经网络模型进行流量预测方法进行阐述,如图6为本申请实施例提供的一种流量预测方法的流程图,流程预测方法包括:
S610、获取根据预测模型训练方法训练得到的用于流量预测的目标神经网络模型。
S620、根据目标神经网络模型对预测日期的流量进行预测得到预测结果。
在本申请的一实施例中,通过如上的预测模型训练方法训练得到的目标神经网络模型,可以对任意预测日期的流量进行预测,例如预测未来一年的流量。
可选的,得到预测结果之后,由于各地的评价指标不同,在模型训练时,对目标流量时间序列数据进行归一化处理,因此为了还原各地的评价指标,本申请实施例中还可以对预测结果进行反归一化处理。
本申请的一实施例中,可以基于预测结果对网络规划进行评估,以合理进行路由设计。具体的,在步骤S620之后,还包括:对预测结果进行整合,得到以预设时间为单位的流量预测矩阵;对流量预测矩阵进行分析,并根据分析结果对网络规划进行优化。
例如整合反归一化处理后的预测结果,输出以月为单位的流量预测矩阵。根据该流量预测矩阵则可以知道在未来的时间点中,各处预计要使用的流量,因此可根据流量预测矩阵进行信息统计分析,例如分析在哪个时间点流量最大,则网络规划进行优化,以避免网络阻塞,例如对流量大小进行排序,将流量较小的地方的网络资源调整到流量较大的地方,以避免资源浪费。
为了适应IP网络流量的快速增长,网络结构的复杂化,本发明提供了一种基于LSTM模型训练,以及预测方法,该可根据需要预测的数据类型从数据库中获取历史流量报表,经数据转换获得流向流量时间序列;然后对时间序列进行预处理;根据流量时间序列特点构建LSTM网络模型,以预测未来流量大小;最后对预测结果进行整合与统计分析,输出以月为单位的流量预测矩阵以及所需的分析结果,可为网络流量现状的密切监控和及时评估,以及规模网络结构、带宽分布等的优化改造或扩容建设提供有力依据,保障重要或高优先级业务的质量。
为了便于理解,本实施例以一个较为具体的应用场景对本申请提供的方法进行说明,如图7所示,包括模型训练阶段和预测阶段。
S710、获取历史流量数据。
根据需要预测的数据类型从数据库中获取历史流量报表,从历史流量报表中提取历史流量数据。
S720、对历史流量数据进行数据转换得到局向流量时间序列。
局向流量时间序列为省到省的流量时间序列。
S730、对局向流量时间序列进行预处理。
预处理过程包括:对不同局向流量时间序列逐一进行异常值检测,并对异常值进行空值处理,然后利用均值填充的方法对时间序列进行缺失值填充,得到目标局向流量时间序列。
具体步骤如下所示:
1)根据不同局向流量时间序列数据分布特点设置异常值检测个数k,设置原假设与备择假设如下:
①H0:局向流量时间序列中没有异常值;
②H1:局向流量时间序列中有一个异常值;
2)将局向流量时间序列数据分解为趋势分量、周期分量和余项分量;考虑到在余项分量中可能存在着部分假异常点,用中位数替换掉趋势分量,计算公式如(1)所示:
Figure BDA0003435667100000111
其中,X为原单一局向流量时间序列数据,SX为分解后的周期分量,
Figure BDA0003435667100000112
为X的中位数。
3)计算与中位数偏离最远的残差(中位数是局向流量时间序列删除上一轮最大残差样本后的数据计算所得);
Figure BDA0003435667100000113
4)计算临界值:
Figure BDA0003435667100000114
n为数据集的样本数,tp,n-j-1为显著度等于p、自由度等于n-j-1的t分布临界值。
5)检验原假设,比较检验统计量与临界值;
若Rjj,则原假设H0不成立,该样本为异常点;
6)重复以上步骤k次;
7)对异常值进行空值处理,得到缺失值。
8)在同一列(同一局向)中选取k个与缺失值坐标位置最近的样本,计算k个样本流量数据的平均值,对缺失值进行填充;
9)根据公式(4)还原局向流量时间序列得到目标局向流量时间序列:
Figure BDA0003435667100000121
其中,R′X为填充缺失值后的时间序列数据余项,SX为分解后的周期分量,
Figure BDA0003435667100000122
为原时间序列X的中位数。
S740、根据预处理后的局向流量时间序列构建基于LSTM网络的流量预测模型。
包括以下几个部分:
数据处理:对目标局向流量时间序列进行归一化处理,并进行9:1的比例划分训练集和测试集。
建立神经网络模型:采用三层LSTM的网络结构,具体连接方式如下:
第一层LSTM数据维度为流向流量时间序列的总维度,互为约束条件;
第二层LSTM以第一层LSTM的输出为输入;
第三层LSTM以第二层LSTM的输出为输入;
第三层LSTM的输出作为输入,连接到一个全连接层。
将训练集输入到构建的神经网络模型中进行训练得到流量预测模型;并将流量预测模型预测的流量与测试集进行对比,以确定流量预测模型的准确性,例如流量预测模型预测的流量与测试集的流量相似度大于预设阈值,如95%,则表示流量预测模型准确,后续可以使用该流量预测模型。
S750、根据流量预测模型预测未来的局向流量,并对预测得到数据进行反归一化得到预测结果。
例如预测未来一年的31个省之间的局向流量,并进行反归一化处理。
S760、对预测结果进行整合,得到局向流量矩阵。
输出以月为单位的局向流量预测矩阵,即得到12个31*31的局向流量矩阵。
S770、根据局向流量矩阵得到流量统计分析结果。
其中流量统计分析包括:求取省份的最大流量的总和、最大总和流量,局向流量大小排序等;将各省份的最大流量进行相加得到最大流量总和;求取各个省份的总和流量,确定哪个省份的总和流量最大。
实际流量与预测流量的对比分析,求取局向最大流量比值,各省份流量总和比值,为预测结果提供更实际的评价指标,为后续模型优化提供数据依据。
可以理解的是,输出的预测流量矩阵和分析结果可为网络流量现状的密切监控和及时评估,以及规模网络结构、带宽分布等的优化改造或扩容建设提供有力依据,保障重要或高优先级业务的质量。
本申请提供的模型训练方法和模型预测方法,在模型训练阶段中,综合考虑了流量时间序列的特点,对流量时间序列进行自定义算法的预处理操作,实现了异常值检测以及缺失值填充,为后续的精准流量预测减少了冗余信息,提高预测精度;通过采用LSTM网络模型,考虑其他局向的流量信息,可以学习局向之间的潜在相关性,互为约束条件,提高了预测精度,不仅对局向流量预测具有明显的优势,而且拥有一定的泛化能力;在模型预测阶段中,结合网络规划的实际需求,对预测结果进行了统计分析,提供了更直观的数据信息,对网络规划的快速决策提供及时准确的数据参考具有现实意义。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的预测模型训方法和流量预测方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的预测模型训方法和流量预测方法的实施例。
如图8所示,图8是本申请的一示例性实施例示出的一种预测模型训练装置的结构示意图,包括:
数据获取模块810,被配置为获取历史流量数据,并对历史流量数据进行数据转换,得到初始流量时间序列数据;
检测模块820,被配置为对初始流量时间序列数据进行异常检测,以检测初始流量时间序列数据中的异常数据;
修复模块830,被配置为对检测到的异常数据进行修复,得到目标流量时间序列数据;
训练模块840,被配置为根据目标流量时间序列数据对初始神经网络模型进行训练,得到用于流量预测的目标神经网络模型,初始神经网络模型中包括长短期记忆网络LSTM。
在本申请的一些实施例中,基于前述方案,检测模块820进一步被配置为:将初始流量时间序列数据分解为趋势分量、周期分量和余项分量;根据初始流量时间序列数据的中位数、周期分量和初始流量时间序列数据得到新余项分量;确定新余项分量与新余项分量的中位数偏离最远的残差,作为检验统计量;计算初始流量时间序列数据中的临界值,根据检验统计量和临界值判断初始流量时间序列数据中是否存在为异常数据。
在本申请的一些实施例中,基于前述方案,修复模块830包括空值处理单元、插补单元和序列得到单元,空值处理单元被配置为对检测到的异常数据进行空值处理得到缺失值;插补单元被配置为根据非异常数据对缺失值进行插补;序列得到单元被配置为根据周期分量、中位数和缺失值插补后的时间序列数据余项分量、得到目标流量时间序列。
在本申请的一些实施例中,基于前述方案,插补单元进一步被配置为:选取K个与缺失值距离最近的非异常数据,其中,K为大于或等于2的正整数;计算K个非异常数据的平均值,并以平均值对缺失值进行插补。
在本申请的一些实施例中,基于前述方案,初始神经网络模型840包括三层LSTM层,以及连接在LSTM层后的全连接层,训练模块进一步被配置为对目标流量时间序列进行归一化处理,并将归一化处理后得到的结果划分为训练集和测试集;将训练集输入初始神经网络模型进行训练,得到初始流量预测模型;根据测试集对初始流量预测模型进行评估,以得到用于流量预测的目标神经网络模型。
如图9所示,图9是本申请的一示例性实施例示出的一种流量预测装置的结构示意图,包括:
模型获取模块910,被配置为获取根据上述的预测模型训练方法训练得到的用于流量预测的目标神经网络模型;
预测模块920,被配置为根据目标神经网络模型对预测日期的流量进行预测得到预测结果。
在本申请的一些实施例中,基于前述方案,流量预测装置还包括优化模块,被配置为:对预测结果进行整合,得到以预设时间为单位的流量预测矩阵;对流量预测矩阵进行分析,并根据分析结果对网络规划进行优化。
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
在一示例性实施例中,一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个被所述一个或多个处理器执行时,使得所述电子设备实现如前所述的方法。
图10是根据一示例性实施例示出的一种电子设备的结构示意图。
需要说明的是,该电子设备只是一个适配于本申请的示例,不能认为是提供了对本申请的使用范围的任何限制。该电子设备也不能解释为需要依赖于或者必须具有图10中示出的示例性的电子设备中的一个或者多个组件。
如图10所示,在一示例性实施例中,电子设备包括处理组件1001、存储器1002、电源组件1003、多媒体组件1004、音频组件1005、处理器1006、传感器组件1007和通信组件1008。其中,上述组件并不全是必须的,电子设备可以根据自身功能需求增加其他组件或减少某些组件,本实施例不作限定。
处理组件1001通常控制电子设备的整体操作,诸如与显示、数据通信以及日志数据同步相关联的操作等。处理组件1001可以包括一个或多个处理器1006来执行指令,以完成上述操作的全部或部分步骤。此外,处理组件1001可以包括一个或多个模块,便于处理组件1001和其他组件之间的交互。例如,处理组件1001可以包括多媒体模块,以方便多媒体组件1004和处理组件1001之间的交互。
存储器1002被配置为存储各种类型的数据以支持在电子设备的操作,这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。存储器1002中存储有一个或多个模块,该一个或多个模块被配置成由该一个或多个处理器1006执行,以完成上述实施例中所描述的方法中的全部或者部分步骤。
电源组件1003为电子设备的各种组件提供电力。电源组件1003可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
多媒体组件1004包括在电子设备和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括TP(Touch Panel,触摸面板)和LCD(Liquid Crystal Display,液晶显示器)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
音频组件1005被配置为输出和/或输入音频信号。例如,音频组件1005包括一个麦克风,当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。在一些实施例中,音频组件1005还包括一个扬声器,用于输出音频信号。
传感器组件1007包括一个或多个传感器,用于为电子设备提供各个方面的状态评估。例如,传感器组件1007可以检测到电子设备的打开/关闭状态,还可以检测电子设备的温度变化。
通信组件1008被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,例如Wi-Fi(Wireless-Fidelity,无线网络)。
可以理解,图10所示的结构仅为示意,电子设备该可以包括比图10中所示更多或更少的组件,或者具有与图10所示不同的组件。图10中所示的各组件均可以采用硬件、软件或者其组合来实现。
在一示例性实施例中,一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
需要说明的是,本申请实施例所示的计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。

Claims (10)

1.一种预测模型训练方法,其特征在于,包括:
获取历史流量数据,并对所述历史流量数据进行数据转换,得到初始流量时间序列数据;
对所述初始流量时间序列数据进行异常检测,以检测所述初始流量时间序列数据中的异常数据;
对检测到的异常数据进行修复,得到目标流量时间序列数据;
根据所述目标流量时间序列数据对初始神经网络模型进行训练,得到用于流量预测的目标神经网络模型,所述初始神经网络模型中包括长短期记忆网络LSTM。
2.根据权利要求1所述的方法,其特征在于,所述对所述初始流量时间序列数据进行异常检测,以检测所述初始流量时间序列数据中的异常数据包括:
将所述初始流量时间序列数据分解为趋势分量、周期分量和余项分量;
根据所述初始流量时间序列数据的中位数、所述周期分量和所述初始流量时间序列数据得到新余项分量;
确定所述新余项分量与所述新余项分量的中位数偏离最远的残差,作为检验统计量;
计算所述初始流量时间序列数据中的临界值,根据所述检验统计量和临界值判断所述初始流量时间序列数据中是否存在为异常数据。
3.根据权利要求2所述的方法,其特征在于,所述对检测到的异常数据进行修复,得到目标流量时间序列包括:
对检测到的异常数据进行空值处理得到缺失值;
根据非异常数据对所述缺失值进行插补;
根据所述周期分量、所述中位数和缺失值插补后的时间序列数据余项分量、得到所述目标流量时间序列。
4.根据权利要求3所述的方法,其特征在于,所述根据非异常数据对所述缺失值进行插补包括:
选取K个与所述缺失值距离最近的非异常数据,其中,K为大于或等于2的正整数;
计算K个非异常数据的平均值,并以所述平均值对所述缺失值进行插补。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述初始神经网络模型包括三层LSTM层,以及连接在所述LSTM层后的全连接层;所述根据所述目标流量时间序列数据对初始神经网络模型进行训练,得到用于流量预测的目标神经网络模型,包括:
对所述目标流量时间序列进行归一化处理,并将归一化处理后得到的结果划分为训练集和测试集;
将所述训练集输入所述初始神经网络模型进行训练,得到所述初始流量预测模型;
根据所述测试集对所述初始流量预测模型进行评估,以得到用于流量预测的目标神经网络模型。
6.一种流量预测方法,其特征在于,包括:
获取根据权利要求1-5任一项所述的预测模型训练方法训练得到的用于流量预测的目标神经网络模型;
根据所述目标神经网络模型对预测日期的流量进行预测得到预测结果。
7.根据权利要求6所述的方法,其特征在于,在所述根据所述目标神经网络模型对预测日期的流量进行预测得到预测结果之后,所述方法还包括:
对所述预测结果进行整合,得到以预设时间为单位的流量预测矩阵;
对所述流量预测矩阵进行分析,并根据分析结果对网络规划进行优化。
8.一种预测模型训练装置,其特征在于,包括:
数据获取模块,被配置为获取历史流量数据,并对所述历史流量数据进行数据转换,得到初始流量时间序列数据;
检测模块,被配置为对所述初始流量时间序列数据进行异常检测,以检测所述初始流量时间序列数据中的异常数据;
修复模块,被配置为对检测到的异常数据进行修复,得到目标流量时间序列数据;
训练模块,被配置为根据所述目标流量时间序列数据对初始神经网络模型进行训练,得到用于流量预测的目标神经网络模型,所述初始神经网络模型中包括长短期记忆网络LSTM。
9.一种流量预测装置,其特征在于,包括:
模型获取模块,被配置为获取根据权利要求1-5任一项所述的预测模型训练方法训练得到的用于流量预测的目标神经网络模型;
预测模块,被配置为根据所述目标神经网络模型对预测日期的流量进行预测得到预测结果。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1-5中的任一项所述的模型训练方法,或使计算机执行权利要求6-7中的任一项所述的模型训练方法。
CN202111615394.8A 2021-12-27 2021-12-27 一种预测模型训练方法、流量预测方法、装置及存储介质 Active CN114285728B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111615394.8A CN114285728B (zh) 2021-12-27 2021-12-27 一种预测模型训练方法、流量预测方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111615394.8A CN114285728B (zh) 2021-12-27 2021-12-27 一种预测模型训练方法、流量预测方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN114285728A true CN114285728A (zh) 2022-04-05
CN114285728B CN114285728B (zh) 2024-02-02

Family

ID=80876421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111615394.8A Active CN114285728B (zh) 2021-12-27 2021-12-27 一种预测模型训练方法、流量预测方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN114285728B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022171A (zh) * 2022-06-16 2022-09-06 平安普惠企业管理有限公司 更新接口的优化方法、装置、电子设备及可读存储介质
CN115118511A (zh) * 2022-06-29 2022-09-27 北京奇艺世纪科技有限公司 异常流量识别方法、装置、电子设备及存储介质
CN115223365A (zh) * 2022-07-15 2022-10-21 北京市智慧交通发展中心(北京市机动车调控管理事务中心) 一种基于阻尼Holt模型的路网速度预测及异常识别方法
CN115473830A (zh) * 2022-09-06 2022-12-13 中国银行股份有限公司 一种数据中心性能指标异常检测方法、装置、系统和介质
CN115802366A (zh) * 2023-02-13 2023-03-14 网络通信与安全紫金山实验室 网络流量预测方法、装置、计算机设备和介质
CN116055140A (zh) * 2022-12-27 2023-05-02 中国联合网络通信集团有限公司 状态检测方法、装置、电子设备及存储介质
CN116108138A (zh) * 2023-01-28 2023-05-12 广东省国瑞中安科技集团有限公司 临床研究数据处理方法、装置、设备及存储介质
CN117081909A (zh) * 2023-10-18 2023-11-17 联通在线信息科技有限公司 异常宽带修正方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150341376A1 (en) * 2014-05-26 2015-11-26 Solana Networks Inc. Detection of anomaly in network flow data
CN112118143A (zh) * 2020-11-18 2020-12-22 迈普通信技术股份有限公司 流量预测模型、训练方法、预测方法、装置、设备及介质
CN112153044A (zh) * 2020-09-23 2020-12-29 腾讯科技(深圳)有限公司 流量数据的检测方法及相关设备
CN112183868A (zh) * 2020-09-30 2021-01-05 青岛海信网络科技股份有限公司 交通流量预测模型的构建方法及电子设备
WO2021047270A1 (zh) * 2019-09-09 2021-03-18 中兴通讯股份有限公司 一种网络流量预测方法及通信设备和存储介质
WO2021212752A1 (zh) * 2020-04-23 2021-10-28 平安科技(深圳)有限公司 基于设备指标数据的异常检测方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150341376A1 (en) * 2014-05-26 2015-11-26 Solana Networks Inc. Detection of anomaly in network flow data
WO2021047270A1 (zh) * 2019-09-09 2021-03-18 中兴通讯股份有限公司 一种网络流量预测方法及通信设备和存储介质
WO2021212752A1 (zh) * 2020-04-23 2021-10-28 平安科技(深圳)有限公司 基于设备指标数据的异常检测方法、装置、设备及存储介质
CN112153044A (zh) * 2020-09-23 2020-12-29 腾讯科技(深圳)有限公司 流量数据的检测方法及相关设备
CN112183868A (zh) * 2020-09-30 2021-01-05 青岛海信网络科技股份有限公司 交通流量预测模型的构建方法及电子设备
CN112118143A (zh) * 2020-11-18 2020-12-22 迈普通信技术股份有限公司 流量预测模型、训练方法、预测方法、装置、设备及介质

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022171B (zh) * 2022-06-16 2024-05-17 北京神州数码云科信息技术有限公司 更新接口的优化方法、装置、电子设备及可读存储介质
CN115022171A (zh) * 2022-06-16 2022-09-06 平安普惠企业管理有限公司 更新接口的优化方法、装置、电子设备及可读存储介质
CN115118511A (zh) * 2022-06-29 2022-09-27 北京奇艺世纪科技有限公司 异常流量识别方法、装置、电子设备及存储介质
CN115223365A (zh) * 2022-07-15 2022-10-21 北京市智慧交通发展中心(北京市机动车调控管理事务中心) 一种基于阻尼Holt模型的路网速度预测及异常识别方法
CN115223365B (zh) * 2022-07-15 2023-09-29 北京市智慧交通发展中心(北京市机动车调控管理事务中心) 一种基于阻尼Holt模型的路网速度预测及异常识别方法
CN115473830A (zh) * 2022-09-06 2022-12-13 中国银行股份有限公司 一种数据中心性能指标异常检测方法、装置、系统和介质
CN115473830B (zh) * 2022-09-06 2024-06-07 中国银行股份有限公司 一种数据中心性能指标异常检测方法、装置、系统和介质
CN116055140B (zh) * 2022-12-27 2024-07-30 中国联合网络通信集团有限公司 状态检测方法、装置、电子设备及存储介质
CN116055140A (zh) * 2022-12-27 2023-05-02 中国联合网络通信集团有限公司 状态检测方法、装置、电子设备及存储介质
CN116108138A (zh) * 2023-01-28 2023-05-12 广东省国瑞中安科技集团有限公司 临床研究数据处理方法、装置、设备及存储介质
CN116108138B (zh) * 2023-01-28 2023-10-20 广东省国瑞中安科技集团有限公司 临床研究数据处理方法、装置、设备及存储介质
CN115802366A (zh) * 2023-02-13 2023-03-14 网络通信与安全紫金山实验室 网络流量预测方法、装置、计算机设备和介质
CN117081909B (zh) * 2023-10-18 2024-02-27 联通在线信息科技有限公司 异常宽带修正方法、装置、电子设备及存储介质
CN117081909A (zh) * 2023-10-18 2023-11-17 联通在线信息科技有限公司 异常宽带修正方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN114285728B (zh) 2024-02-02

Similar Documents

Publication Publication Date Title
CN114285728B (zh) 一种预测模型训练方法、流量预测方法、装置及存储介质
CN106685674B (zh) 网络事件预测以及建立网络事件预测模型的方法和装置
CN111045894B (zh) 数据库异常检测方法、装置、计算机设备和存储介质
CN107506868B (zh) 一种短时电力负荷预测的方法及装置
CN111914516B (zh) 一种网络数据预测序列生成方法、装置、设备及存储介质
KR102359090B1 (ko) 실시간 기업정보시스템 이상행위 탐지 서비스를 제공하는 방법과 시스템
Krishnaswamy et al. Data-driven learning to predict wan network traffic
CN113762391A (zh) 冷却系统的状态检测方法、装置、计算机设备和存储介质
Jabeen et al. An improved software reliability prediction model by using high precision error iterative analysis method
CN112150214A (zh) 一种数据预测方法、装置以及计算机可读存储介质
CN114118570A (zh) 业务数据预测方法及装置、电子设备和存储介质
Sunjaya et al. Forecasting of Covid-19 positive cases in Indonesia using long short-term memory (LSTM)
CN117667495B (zh) 一种关联规则与深度学习集成的应用系统故障预测方法
Shahzad Application of supervised machine learning for prediction of probabilistic transient stability
Zhu et al. Markov chain‐based wind power time series modelling method considering the influence of the state duration on the state transition probability
CN115239007A (zh) 一种电网净负荷的预测方法、装置、电子设备和存储介质
CN114237962B (zh) 告警根因判断方法、模型训练方法、装置、设备和介质
CN113329128B (zh) 话务数据预测方法及装置、电子设备、存储介质
CN115222111A (zh) 变压器健康状态评估方法、装置、设备及可读存储介质
Zhang et al. A combinational QoS-prediction approach based on RBF neural network
CN113610174A (zh) 基于Phik特征选择的电网主机负载预测方法、设备及介质
CN113849333A (zh) 一种基于WN-Spline基线域算法的数据中心自驱排障方法及系统
CN112732777A (zh) 基于时间序列的头寸预测方法、装置、设备和介质
Zhang et al. Hybrid Time‐Series Prediction Method Based on Entropy Fusion Feature
CN113657623B (zh) 电力设备状态诊断效果确定方法、装置、终端及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant