CN112148557B - 一种性能指标实时预测方法、计算机设备及存储介质 - Google Patents

一种性能指标实时预测方法、计算机设备及存储介质 Download PDF

Info

Publication number
CN112148557B
CN112148557B CN202010965956.0A CN202010965956A CN112148557B CN 112148557 B CN112148557 B CN 112148557B CN 202010965956 A CN202010965956 A CN 202010965956A CN 112148557 B CN112148557 B CN 112148557B
Authority
CN
China
Prior art keywords
prediction
time series
time
models
training
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.)
Active
Application number
CN202010965956.0A
Other languages
English (en)
Other versions
CN112148557A (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.)
Beijing Keynote Network Inc
Original Assignee
Beijing Keynote Network Inc
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 Beijing Keynote Network Inc filed Critical Beijing Keynote Network Inc
Priority to CN202010965956.0A priority Critical patent/CN112148557B/zh
Publication of CN112148557A publication Critical patent/CN112148557A/zh
Application granted granted Critical
Publication of CN112148557B publication Critical patent/CN112148557B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及一种性能指标实时预测方法、计算机设备及存储介质,其中,该方法包括:按照预定周期进行的模型训练和选择的步骤;性能指标预测的步骤;其中模型训练和选择的步骤,包括:获取性能指标上一时间段的时间序列数据;根据多个时间序列预测模型上一次训练得到的至少部分模型参数,使用上述时间序列数据迭代优化上述多个时间序列预测模型;评估本次训练得到的多个时间序列预测模型的预测精度;根据上述多个时间序列预测模型的预测精度选择该性能指标的时间序列预测模型;其中性能指标预测的步骤,包括:接收性能指标的流式时间序列数据,使用选择的时间序列预测模型对性能指标进行实时预测。通过本申请,提高了预测精度。

Description

一种性能指标实时预测方法、计算机设备及存储介质
技术领域
本申请涉及性能监控技术领域,尤其涉及一种性能指标实时预测方法、计算机设备及存储介质。
背景技术
在性能监控应用场景中,按照时间间隔采集性能指标的值,得到性能指标的时间序列数据。性能指标预测用于异常检测。预测模型的表现很大一部分取决于它用在什么样的数据上。通常性能指标的数量是巨大的,预测非常频繁,并且为了及时发现异常通常是在线实时预测。而这些指标之间具有很大差异,很难找到一个或几个通用的模型(及模型参数)可以适用于所有的指标。此外,也难以针对每一个指标通过人工建模的方式来确定合适的模型参数。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种性能指标实时预测方法、计算机设备及存储介质。
第一方面,本申请提供了一种性能指标实时预测方法,包括:按照预定周期进行的模型训练和选择的步骤;性能指标预测的步骤;其中,模型训练和选择的步骤,包括:获取性能指标上一时间段的时间序列数据,其中,该时间序列数据中相邻数据点之间的时间间隔相等;根据多个时间序列预测模型上一次训练得到的至少部分模型参数,使用上述时间序列数据迭代优化上述多个时间序列预测模型;评估本次训练得到的多个时间序列预测模型的预测精度;以及,根据上述多个时间序列预测模型的预测精度选择该性能指标的时间序列预测模型;其中,性能指标预测的步骤,包括:接收性能指标的流式时间序列数据,使用选择的时间序列预测模型对性能指标进行实时预测。
在某些实施例中,上述模型训练和选择的步骤,还包括:按照时间先后顺序,将时间序列数据划分为训练样本集和验证样本集;其中,使用上述时间序列数据迭代优化上述多个时间序列预测模型,包括:使用训练样本集迭代优化上述多个时间序列预测模型;评估本次训练得到的多个时间序列预测模型的预测精度,包括:根据验证样本集评估本次训练得到的多个时间序列预测模型的预测精度。
在某些实施例中,评估本次训练得到的多个时间序列预测模型的预测精度,包括:使用基于上述时间序列数据的模型评估方法评估本次训练得到的多个时间序列预测模型的预测精度,其中,该模型评估方法包括:赤池信息准则(AIC)或贝叶斯信息准则(BIC)。
在某些实施例中,根据多个时间序列预测模型上一次训练得到的至少部分模型参数,使用上述时间序列数据迭代优化上述多个时间序列预测模型,包括:获取上述上一时间段的异常事件数据;根据该异常事件数据修正上述时间序列数据,得到正常状态的时间序列数据;根据多个时间序列预测模型上一次训练得到的至少部分模型参数,使用正常状态的时间序列数据迭代优化上述多个时间序列预测模型。
在某些实施例中,评估本次训练得到的多个时间序列预测模型的预测精度,包括:以均方误差(MSE)或均方根误差(RMSE)作为预测精度的度量来评估本次训练得到的多个时间序列预测模型的预测精度。
在某些实施例中,上述多个时间序列预测模型包括:多个基础模型,以及多个基础模型中至少部分基础模型组成的组合模型。
在某些实施例中,上述多个时间序列预测模型包括:一个或多个组合模型,组合模型是基于一次、二次和三次指数平滑模型构建的。
在某些实施例中,根据多个时间序列预测模型上一次训练得到的至少部分模型参数,使用上述时间序列数据迭代优化上述多个时间序列预测模型,包括:根据上述一个或多个组合模型上一次训练得到的平滑参数,使用上述时间序列数据迭代优化该一个或多个组合模型。
第二方面,本申请提供了一种计算机设备,该计算机设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;该计算机程序被处理器执行时实现性能指标实时预测方法的步骤。
第三方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质上存储有性能指标实时预测程序,该性能指标实时预测程序被处理器执行时实现性能指标实时预测方法的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,针对一个或多个性能指标训练时间序列预测模型,使得预测具有针对性,预测模型更贴合性能指标的特性;并且根据多个时间序列预测模型的预测精度从多个时间序列预测模型中选择性能指标的时间序列预测模型,进一步提高预测的针对性;并且周期性地进行模型训练与选择,使得预测模型适应性能指标特性的变化;根据上一次训练得到的至少部分模型参数,迭代优化多个时间序列预测模型,实现了快速训练。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的性能指标实时预测方法一种实施方式的流程图;
图2为本申请实施例提供的模型训练和选择的步骤一种实施方式的流程图;
图3为本申请实施例提供的模型训练和选择的步骤另一种实施方式的流程图;
图4为本申请实施例提供的模型训练和选择的步骤又一种实施方式的流程图;
图5为本申请实施例提供的模型训练和选择的步骤再一种实施方式的流程图;
图6为本申请实施例提供的性能指标监控系统100一种实施方式的结构示意图;以及
图7为本申请实施例提供的计算机设备一种实施方式的硬件示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
在性能监控领域的应用当中,关注时间序列预测,即基于时间序列数据进行相应的建模,并根据模型和过去的数据对未来时间点的数据值进行预测。
图1为本申请实施例提供的性能指标实时预测方法一种实施方式的流程图,如图1所示,该方法包括步骤S102至步骤S104。
步骤S102,按照预定周期进行的模型训练和选择的步骤。例如,每天或每周进行模型训练和选择,以更新模型。但本申请实施例不限于此。
上述步骤S102中,对于一个或多个性能指标,训练多个时间序列预测模型,并从该多个时间序列预测模型中选择性能指标对应的时间序列预测模型。
在某些实施例中,多个时间序列预测模型包括:多个基础模型,以及多个基础模型中至少部分基础模型组成的组合模型。
在某些实施例中,上述多个时间序列预测模型包括:一个或多个组合模型,该组合模型是基于一次、二次和三次指数平滑模型构建的。
步骤S104,性能指标预测的步骤。
在本申请实施例中,步骤S104,包括:接收性能指标的流式时间序列数据,使用选择的时间序列预测模型对性能指标进行实时预测。
在步骤S104中,流式时间序列数据为按照预定时间间隔采集的数据流,步骤S104中,对采集的数据流进行实时分析,由此准实时地检测性能指标的异常情况。在本申请实施例中,基于流式数据的实时处理,也称为实时分析、流分析、实时流分析等。
下面结合附图对步骤S102(模型训练和选择的步骤)一些实施例进行说明。
图2为本申请实施例提供的模型训练和选择的步骤一种实施方式的流程图,如图2所示,模型训练和选择的步骤包括步骤S202至步骤S208。
步骤S202,获取性能指标上一时间段的时间序列数据,其中,该时间序列数据中相邻数据点之间的时间间隔相等。
步骤S204,根据多个时间序列预测模型上一次训练得到的至少部分模型参数,使用上述时间序列数据迭代优化上述多个时间序列预测模型。
在步骤S204中,根据上一次训练得到的至少部分模型参数,迭代优化多个时间序列预测模型,实现了快速训练。
在某些实施例中,可将训练得到的模型持久化,再次训练时导入持久化的模型,从而实现基于上一次训练得到的模型参数进行迭代优化。在另一些实施例中,保存模型参数以供迭代优化时,将保存的模型参数作为迭代优化的初始值。
步骤S206,评估本次训练得到的多个时间序列预测模型的预测精度。
在性能监控领域,大错误值的重要性要比小错误值大得多,因为大的预测误差多,会增加错误的概率。MSE/RMSE的权重更加偏向于大错误值,因此,在某些实施例中,上述步骤S206中,以均方误差(MSE)或均方根误差(RMSE)作为预测精度的度量来评估本次训练得到的多个时间序列预测模型的预测精度。
步骤S208,根据上述多个时间序列预测模型的预测精度选择该性能指标的时间序列预测模型。
在某些实施例中,上述多个时间序列预测模型包括:多个基础模型,以及多个基础模型中至少部分基础模型组成的组合模型。
在某些实施例中,上述多个时间序列预测模型包括:一个或多个组合模型,该组合模型是基于一次、二次和三次指数平滑模型构建的。由此,避免预测精度差的模型影响组合模型的预测精度。
在某些实施例中,上述步骤S204中,对于组合模型,根据上述一个或多个组合模型上一次训练得到的平滑参数,使用上述时间序列数据迭代优化该一个或多个组合模型。
图3为本申请实施例提供的模型训练和选择的步骤另一种实施方式的流程图,如图3所示,模型训练和选择的步骤包括步骤S302至步骤S310。
步骤S302,获取性能指标上一时间段的时间序列数据,其中,该时间序列数据中相邻数据点之间的时间间隔相等。
步骤S304,按照时间先后顺序,将时间序列数据划分为训练样本集和验证样本集。作为一个示例性说明,将上一时间段中,前3/4的数据作为训练样本集,将后1/4的数据作为验证样本集,但本申请实施例不限于此。
步骤S306,根据多个时间序列预测模型上一次训练得到的至少部分模型参数,使用训练样本集迭代优化上述多个时间序列预测模型。
步骤S308,根据验证样本集评估本次训练得到的多个时间序列预测模型的预测精度。
在某些实施例中,上述步骤S308中,以均方误差(MSE)或RMSE作为预测精度的度量来评估本次训练得到的多个时间序列预测模型的预测精度。
步骤S310,根据上述多个时间序列预测模型的预测精度选择该性能指标的时间序列预测模型。在某些实施例中,选择预测精度最高的模型,但本申请实施例并不限于此。
在某些实施例中,上述多个时间序列预测模型包括:多个基础模型,以及多个基础模型中至少部分基础模型组成的组合模型。
在某些实施例中,上述多个时间序列预测模型包括:一个或多个组合模型,所述组合模型是基于一次、二次和三次指数平滑模型构建的。
在某些实施例中,上述步骤S306中,对于组合模型,根据上述一个或多个组合模型上一次训练得到的平滑参数,使用上述时间序列数据迭代优化该一个或多个组合模型。
图4为本申请实施例提供的模型训练和选择的步骤又一种实施方式的流程图,如图4所示,模型训练和选择的步骤包括步骤S402至步骤S408。
步骤S402,获取性能指标上一时间段的时间序列数据,其中,该时间序列数据中相邻数据点之间的时间间隔相等。
步骤S404,根据多个时间序列预测模型上一次训练得到的至少部分模型参数,使用上述时间序列数据迭代优化上述多个时间序列预测模型。
步骤S406,使用基于上述时间序列数据的模型评估方法评估本次训练得到的多个时间序列预测模型的预测精度,其中,模型评估方法包括:赤池信息准则(AIC)或贝叶斯信息准则(BIC)等。
在某些实施例中,上述步骤S406中,以均方误差(MSE)或RMSE作为预测精度的度量来评估本次训练得到的多个时间序列预测模型的预测精度。
步骤S408,根据上述多个时间序列预测模型的预测精度选择该性能指标的时间序列预测模型。在某些实施例中,选择预测精度最高的模型,但本申请实施例并不限于此。
在某些实施例中,上述多个时间序列预测模型包括:多个基础模型,以及多个基础模型中至少部分基础模型组成的组合模型。
在某些实施例中,上述多个时间序列预测模型包括:一个或多个组合模型,所述组合模型是基于一次、二次和三次指数平滑模型构建的。
在某些实施例中,上述步骤S404中,对于组合模型,根据上述一个或多个组合模型上一次训练得到的平滑参数,使用上述时间序列数据迭代优化该一个或多个组合模型。
图5为本申请实施例提供的模型训练和选择的步骤再一种实施方式的流程图,如图5所示,模型训练和选择的步骤包括步骤S502至步骤S512。
步骤S502,获取性能指标上一时间段的时间序列数据,其中,该时间序列数据中相邻数据点之间的时间间隔相等。
步骤S504,获取上述上一时间段的异常事件数据。
步骤S506,根据该异常事件数据修正上述时间序列数据,得到正常状态的时间序列数据。
通过步骤S506,降低异常值对训练的不利影响。
步骤S508,根据多个时间序列预测模型上一次训练得到的至少部分模型参数,使用正常状态的时间序列数据迭代优化上述多个时间序列预测模型。
步骤S510,评估本次训练得到的多个时间序列预测模型的预测精度。
在某些实施例中,上述步骤S510中,以均方误差(MSE)或RMSE作为预测精度的度量来评估本次训练得到的多个时间序列预测模型的预测精度。
步骤S512,根据上述多个时间序列预测模型的预测精度选择该性能指标的时间序列预测模型。在某些实施例中,选择预测精度最高的模型,但本申请实施例并不限于此。
在某些实施例中,上述多个时间序列预测模型包括:多个基础模型,以及多个基础模型中至少部分基础模型组成的组合模型。
在某些实施例中,上述多个时间序列预测模型包括:一个或多个组合模型,所述组合模型是基于一次、二次和三次指数平滑模型构建的。
在某些实施例中,上述步骤S508中,对于组合模型,根据上述一个或多个组合模型上一次训练得到的平滑参数,使用上述时间序列数据迭代优化该一个或多个组合模型。
图6为本申请实施例提供的性能指标监控系统100一种实施方式的结构示意图,如图6所示,该系统包括:性能指标采集系统110、性能指标预测系统120、模型训练和选择系统130、异常检测系统140和数据库150A和数据库150B。
性能指标采集系统110,用于按照预定间隔采集性能指标的指标值,得到性能指标的时间序列数据,例如通过探针等采集性能指标。在某些实施例中,性能指标采集系统110,还用于将性能指标的时间序列数据存储到数据库150A中。性能指标预测系统120,用于对性能指标采集系统110采集到的性能指标进行实时预测。异常检测系统140,用于根据性能指标采集系统110采集到的检测时间点的观测值和性能指标预测系统120预测得到的预测值,确定性能指标在检测时间点是否异常,本申请实施例对此不做赘述,可参见相关技术中的异常检测方法,作为一个示例性说明,可根据预测值与观测值的偏离度大小确定检测时间点是否存在异常,例如,将偏离度与预设阈值进行比较,如果偏离度大于预设阈值,确认存在异常。在某些实施例中,异常检测系统140,用于在性能指标存在异常时将异常事件存储到数据库150B。
参考图6所示,模型训练和选择系统130,包括:时间序列预测模型1至N;获取模块132,用于从数据库150A中获取性能指标上一时间段(例如前7天)的时间序列数据;迭代模块134,与获取模块132相连,用于使用获取模块132获取的时间序列数据迭代优化时间序列预测模型1至N,并持久化训练得到的时间序列模型,或者存储训练得到的模型参数,但不限于此;在下一次训练时,根据时间序列预测模型1至N上一次训练得到的至少部分模型参数,使用获取模块132获取的时间序列数据(例如前7天的时间序列数据)迭代优化该多个时间序列预测模型;评估模块136,用于评估本次训练得到的时间序列预测模型1至N的预测精度;选择模块138,用于根据时间序列预测模型1至N的预测精度选择性能指标的时间序列预测模型。在某些实施例中,选择模块138,用于选择预测精度最高的模型,但本申请实施例并不限于此。
在某些实施例中,上述时间序列预测模型1至N包括:多个基础模型,以及多个基础模型中至少部分基础模型组成的组合模型。
在某些实施例中,上述时间序列预测模型1至N包括:一个或多个组合模型,组合模型是基于一次、二次和三次指数平滑模型构建的。
在某些实施例中,对于组合模型,迭代模块134,用于根据上述一个或多个组合模型上一次训练得到的平滑参数,使用上述时间序列数据迭代优化该一个或多个组合模型。
在某些实施例中,迭代模块134,用于按照时间先后顺序,将时间序列数据划分为训练样本集和验证样本集,例如,按照时间先后顺序,将前3/4的数据作为训练样本集,将后1/4的数据作为验证样本集;使用训练样本集迭代优化上述时间序列预测模型1至N;评估模块136,用于根据验证样本集评估本次训练得到的时间序列预测模型1至N的预测精度。
在某些实施例中,评估模块136,用于使用基于上述时间序列数据的模型评估方法评估本次训练得到的时间序列预测模型1至N的预测精度,其中,模型评估方法包括:赤池信息准则(AIC)或贝叶斯信息准则(BIC)等。由此,在训练数据数量较少的情况下,实现训练和评估。
在某些实施例中,获取模块132,用于从数据库150B获取上述上一时间段的异常事件数据;迭代模块134,用于根据该异常事件数据修正上述时间序列数据,得到正常状态的时间序列数据;根据时间序列预测模型1至N上一次训练得到的至少部分模型参数,使用正常状态的时间序列数据迭代优化上述时间序列预测模型1至N。
在某些实施例中,评估模块136,用于以均方误差(MSE)或RMSE作为预测精度的度量来评估本次训练得到的时间序列预测模型1至N的预测精度。
下面对模型训练和选择以及预测进行进一步说明。
预测模型和方法
本申请实施的时间序列预测模型举例如下,这些预测方法的好处是不需要复杂的学习和建模过程,预测简单快速,实施方便。简单方法的缺点是通常预测误差较大,不过它们可以用作其他更复杂方法的对比基准,或者和复杂方法配合一起使用。
Figure BDA0002682321410000111
方法和Seasonal
Figure BDA0002682321410000112
方法
Figure BDA0002682321410000113
方法的预测值等于最近一个历史观测值。Seasonal
Figure BDA0002682321410000114
方法适用于季节性数据,它的预测值等于上一个周期中季节性索引相同的那个时间点的观测值。
Drift方法
Drift方法考虑到数据的变化趋势,相当于以某个时间窗口内第一个和最近一个历史观测值连接起来构成一条斜的预测直线。
移动平均方法
简单移动平均(Simple Moving Average,SMA)方法的预测值等于时间窗口内所有历史观测值的算术平均值。
SMA是加权移动平均(Weighted Moving Average,WMA)的特殊形式,每个观测值的权重都相同。SMA只能用于非常短期的预测上,而且要求是没有季节性的、趋势变化缓慢的不规则数据集。SMA模型的唯一参数就是时间窗口的大小n。
指数平滑法相关预测模型
指数平滑法(Exponential smoothing),通过对历史观测值进行加权平均的方式进行预测,权重随着观测往前呈指数下降。这种方法通过简单的计算可以产生比较可靠的预测,应用很广泛。
简单指数平滑SES(simple exponential smoothing)是指数平滑方法中最简单的形式,也称为EWMA。该方法适合于预测没有明显趋势(trend)和季节模式(seasonalpattern)的时间序列。
Holt趋势方法
Holt把简单指数平滑扩展为线性指数平滑,使之可以预测有趋势的数据。Holt方法的预测函数不再是水平直线,而是倾斜直线,为预测幅度(forecast horizon)h的线性函数。
Holt-Winters季节模型
Holt和Winters扩展了Holt的趋势方法,增加了一个季节项。Holt-Winters方法又称为三次指数平滑(Triple exponential smoothing)。和SES模型一样,Holt-Winters模型也需要通过一定的原则和方法来选择三个平滑参数,以达到更准确的预测。
预测区间
一个预测方法是一个提供了点预测的算法模型:预测在未来某个时间点上时间序列可能的数据值。另外,预测方法也可能提供一个复杂的统计模型,通过数据随机生成过程产生n+h时间点上完整的概率分布,通过对概率分布取均值我们同样可以得到点预测的期望值。
一些简单的预测方法和模型只提供点预测,某些比较复杂的预测模型可以生成概率分布。对于时间序列异常检测上的应用,本申请实施例可采用点预测的值,这样简化了模型和计算,而且对异常检测并没有不好的影响。
预测区间(prediction interval)是指某个预测值的可能分布范围,以概率区间(置信区间,confidence interval)的形式给出。例如,假定预测误差不相关且为正态分布的话,一个95%概率的预测区间就是y‘t±1.96σ,y‘t为预测值,σ’为预测分布的标准差估计值。预测区间的价值在于通过它我们可以对正常值的可能范围有一个比较精确的范围估计,而不只是一个点估计,从而可以根据实际观测值在这个范围内的位置来判断它是异常点的概率。
为了计算预测区间,我们必须先有一个预测分布的标准差估计值。如果预测是单步的,那么预测分布的标准差和残差(residual)分布的标准差几乎是相等的,可以用残差标准差来近似。
预测区间的特点是预测的精确度越差,则区间宽度越大。因此,预测幅度越大,不确定性越高,预测区间越宽。我们的目标当然是希望预测区间尽可能地窄,从而可以做到精确的异常判别。为了达到这个目标,需要采用更好的预测模型和更小的预测幅度。
预测幅度
预测幅度(forecasting horizon)是指所要预测的时间点和用来建模的历史数据的时间距离,包括单步预测(one-step-ahead forecast)和多步预测(multi-step-aheadforecast)两种,单步预测的准确度更高。在基于预测的异常检测的应用实践中,一般采取单步预测的方式,因为指标数据是以流的方式进入,预测是实时进行的。在本文中也采取单步预测的方式,不过由于单步预测的计算量较大,在实时预测环境中可能会造成一定的性能问题,所以在实际应用时可能需要做一定的权衡(不一定都是单步)和优化。
不同的模型在单步预测和多步预测的误差上是不一样的,下面对模型的评估都统一基于单步预测。
预测精度的评估
预测精度的度量有两大类:有标度的(scale-dependent)和无标度的。有标度的度量一般基于绝对误差或者误差平方,包括:均方误差(Mean Squared Error,简称为MSE)、均方根误差(Root Mean Squared Error,简称为RMSE)、平均绝对误差(Mean AbsoluteError,简称为MAE)、中位数绝对偏差(Median Absolute Deviation,简称为MAD)等。
MSE、RMSE和MAE都受异常值的影响,也就是说,它们给予大错误值较大的权重。而MAD则比较鲁棒,代价就是对错误的变化不够灵敏。MSE相比MAD而言,减少了大的预测误差,但是会有较多的小预测误差。
衡量误差度量方法好坏的两个重要标准是鲁棒性和易解读。在性能监控领域,大错误值的重要性要比小错误值大得多,因为大的预测误差多的话会增加错误的概率。因此,在本申请某些实施例中,MSE或RMSE是比MAD更适合的度量方法。MSE/RMSE和MAE相比权重更加偏向于大错误值,在某些实施例中选择MSE作为预测精度的度量。另外,对于异常值的不利影响,通过数据预处理来处理。
预测精度的评估还涉及到一个预测幅度(forecast horizon)的问题。根据预测场景,评估多个预测幅度,重点是单步预测。
模型选择
给定一个时间序列,总能找到一些可以在数据上拟合得同样好的模型。如果没有其他判断依据的话,我们没理由得出某个模型比其他模型好的的结论。所以,我们必须做一些提供了某种归纳偏置(inductive bias)的假定。
模型选择(Model selection)的任务就是选择一个有正确的(不多不少,刚刚好)归纳偏置的模型,即选择恰当的(超)参数,用于在指定数据集上创建一个符合数据特征的、具有最优复杂度的模型。选择的依据通常是某种类似于奥卡姆剃刀的原则:如果两个模型具有同样的能力(精确度),选择最简单(做出假定最少的)的那个。
时间序列预测中模型选择方法包括:验证数据集:诸如MSE这样的预测精度度量可以用于针对某个指定时间序列数据来选择合适的时间序列模型,此时计算预测误差的数据为验证数据集(validation set,hold-out set),而不是用于模型参数估计的训练数据集,所得预测误差通常称为out-of-sample errors。如果验证数据集样本很少的话就难以得出可靠的结论,一个可选的替代是使用基于in-sample fit的模型评估方法,包括AIC、AICc和BIC等。基于验证数据集的模型选择方法理论上具有更好的效果,然而该方法需要在整个数据集上做两次拟合计算,计算量翻倍。基于AIC的方法好处就是计算比较简单,而且效果近似于基于验证数据集的方法。
此外,对于指数平滑模型,AIC还可以判别加性模型和乘性模型的优劣,而验证数据集方法不能做到这点,因为加性模型和乘性模型的点预测结果是相同的。
组合预测
模型选择的结果经常是不稳定的,从而引起最终预测结果的较大波动。在此情况下,组合预测通常是一个更好的替代方法。组合预测(Combining forecasts)是指为了提升预测的精度而把多个预测器的预测组合起来得到一个最终结果。组合预测的方法是:对一个时间序列训练多个预测模型,把这些模型的预测结果进行某种组合(比如加权平均)来确定预测结果,以取得比单个模型更好的结果。这个“更好的结果”一般包括:提高预测器的泛化能力、更高的预测精度和更少的大误差。组合预测在以下情况中特别有用:不确定信息较多,难以确定哪个预测模型更好,想要避免大的预测误差。
一般情况下,通过组合预测得到比单个模型预测更好的结果。通常,一个模型在某个期间内预测表现好,而在另外的期间则是别的模型表现好,很难找到一个在所有期间内都表现最好的模型;因此,组合预测的办法相比单个模型可以提高预测的精确度。
组合模型的权重的估计。最简单的权重分配策略就是各个基础模型采用相同的权重,也就是说,通过简单算术平均来得到组合预测的结果。这种权重策略在各个基础模型的预测精确度差不多的时候效果最好;而且,经验数据表明,在很多应用场景中,这种简单的权重策略取得的预测精确度都不错。
组合的构成。构成组合的基础模型中不应该包括那些预测效果太差的模型,否则会明显降低组合后的预测精确度。在实现中,选择一次,二次和三次指数平滑模型为构成组合模型的基础模型。
模型训练
每次使用新的训练数据重新对模型进行训练的时候,都需要重新估计各个模型的最优参数。在本申请实施例中,以上一次训练的模型参数迭代优化时间序列预测模型。
以指数平滑模型为例,估计模型参数是一个迭代优化的过程,从某一个初始参数集开始,对于指数平滑模型就是初始状态值X0(l0,b0,s0,s-1,…,s-m+1)和平滑参数α、β、γ和
Figure BDA0002682321410000161
等的初始值。考虑到新的训练数据和上一次的训练数据重合程度较高,新模型的最优参数和老模型的最优参数相比变化应该不大,因此,以老模型的最优参数作为迭代优化的初始值理应可以减少迭代的次数。
在本文中,初始状态值X0的变化较大,上次的状态值对下次迭代没什么价值;而平滑参数则变化较小,上次的最优平滑参数作为下次迭代初始值的话可明显促进迭代的优化。在某些实施例中,模型的平滑参数保存在持久化模型中。每次重新训练时只要把上次训练所得持久化模型传递进来,优化器就会把上次的平滑参数作为初始值进行这次的迭代优化。
作为一个示例,训练程序每天定时训练时间序列模型一次。训练程序从数据库读取前7天的性能指标数据,从数据库中读取相应时段的异常事件数据,然后根据异常时间数据对原始的指标数据进行修正,得到用于模型训练的“正常”状态的时序数据。训练程序为每个{应用标识(appId),实例标识(instanceId),指标(metric)}组合会训练一个针对性的模型,存放以供使用。
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图7所示。需要指出的是,图7仅示出了具有组件21-22的计算机设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备20的内部存储单元,例如该计算机设备20的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如性能指标实时预测方法的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如性能指标实时预测方法的程序代码,以实现性能指标实时预测方法。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储指标时间序列异常检测程序,被处理器执行时实现性能指标实时预测方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (10)

1.一种性能指标实时预测方法,其特征在于,包括:按照预定周期进行的模型训练和选择的步骤;性能指标预测的步骤;
其中,所述模型训练和选择的步骤,包括:
获取性能指标上一时间段的时间序列数据,其中,所述时间序列数据中相邻数据点之间的时间间隔相等;
根据多个时间序列预测模型上一次训练得到的至少部分模型参数,使用所述时间序列数据迭代优化所述多个时间序列预测模型,其中,对于每个所述时间序列预测模型,将所述时间序列预测模型上一次训练得到的至少部分模型参数作为其本次模型参数的迭代优化的初始值;
评估本次训练得到的多个时间序列预测模型的预测精度;以及
根据所述多个时间序列预测模型的预测精度选择所述性能指标的时间序列预测模型,其中,在所述多个时间序列预测模型中,选择预测精度最高的时间序列预测模型对所述性能指标的进行实时预测;
其中,所述性能指标预测的步骤,包括:接收所述性能指标的流式时间序列数据,使用选择的时间序列预测模型对所述性能指标进行实时预测。
2.根据权利要求1所述的性能指标实时预测方法,其特征在于,所述模型训练和选择的步骤,还包括:按照时间先后顺序,将所述时间序列数据划分为训练样本集和验证样本集;其中,
使用所述时间序列数据迭代优化所述多个时间序列预测模型,包括:使用所述训练样本集迭代优化所述多个时间序列预测模型;
评估本次训练得到的多个时间序列预测模型的预测精度,包括:根据所述验证样本集评估本次训练得到的多个时间序列预测模型的预测精度。
3.根据权利要求1所述的性能指标实时预测方法,其特征在于,评估本次训练得到的多个时间序列预测模型的预测精度,包括:
使用基于所述时间序列数据的模型评估方法评估本次训练得到的多个时间序列预测模型的预测精度,其中,所述模型评估方法包括:赤池信息准则AIC或贝叶斯信息准则BIC。
4.根据权利要求1所述的性能指标实时预测方法,其特征在于,根据多个时间序列预测模型上一次训练得到的至少部分模型参数,使用所述时间序列数据迭代优化所述多个时间序列预测模型,包括:
获取所述上一时间段的异常事件数据;
根据所述异常事件数据修正所述时间序列数据,得到正常状态的时间序列数据;
根据多个时间序列预测模型上一次训练得到的至少部分模型参数,使用所述正常状态的时间序列数据迭代优化所述多个时间序列预测模型。
5.根据权利要求1或4所述的性能指标实时预测方法,其特征在于,评估本次训练得到的多个时间序列预测模型的预测精度,包括:以均方误差MSE或均方根误差RMSE作为预测精度的度量来评估本次训练得到的多个时间序列预测模型的预测精度。
6.根据权利要求1所述的性能指标实时预测方法,其特征在于,所述多个时间序列预测模型包括:多个基础模型,以及所述多个基础模型中至少部分基础模型组成的组合模型。
7.根据权利要求1所述的性能指标实时预测方法,其特征在于,所述多个时间序列预测模型包括:一个或多个组合模型,所述组合模型是基于一次、二次和三次指数平滑模型构建的。
8.根据权利要求7所述的性能指标实时预测方法,其特征在于,根据多个时间序列预测模型上一次训练得到的至少部分模型参数,使用所述时间序列数据迭代优化所述多个时间序列预测模型,包括:
根据所述一个或多个组合模型上一次训练得到的平滑参数,使用所述时间序列数据迭代优化所述一个或多个组合模型。
9.一种计算机设备,其特征在于,所述计算机设备包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;
所述计算机程序被所述处理器执行时实现如权利要求1至8中任一项所述的性能指标实时预测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有性能指标实时预测程序,所述性能指标实时预测程序被处理器执行时实现如权利要求1至8中任一项所述的性能指标实时预测方法的步骤。
CN202010965956.0A 2020-09-15 2020-09-15 一种性能指标实时预测方法、计算机设备及存储介质 Active CN112148557B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010965956.0A CN112148557B (zh) 2020-09-15 2020-09-15 一种性能指标实时预测方法、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010965956.0A CN112148557B (zh) 2020-09-15 2020-09-15 一种性能指标实时预测方法、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN112148557A CN112148557A (zh) 2020-12-29
CN112148557B true CN112148557B (zh) 2021-10-08

Family

ID=73893760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010965956.0A Active CN112148557B (zh) 2020-09-15 2020-09-15 一种性能指标实时预测方法、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112148557B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112801366A (zh) * 2021-01-27 2021-05-14 上海微亿智造科技有限公司 工业质量数据指标智能预测方法、系统及介质
CN113487910B (zh) * 2021-06-10 2022-12-09 中国汽车技术研究中心有限公司 一种用于跟车场景的汽车数据采集系统性能分析方法
CN117688054A (zh) * 2022-08-24 2024-03-12 华为云计算技术有限公司 时序数据分析方法、装置、计算设备及存储介质
CN116089884A (zh) * 2023-02-09 2023-05-09 安徽省气象台 近实时降水估测模型的构建方法及近实时降水估测方法
CN117807055B (zh) * 2024-02-29 2024-06-07 济南浪潮数据技术有限公司 存储系统的关键性能指标预测、分析方法及相关装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968670A (zh) * 2012-10-23 2013-03-13 北京京东世纪贸易有限公司 预测数据的方法和装置
CN108229714A (zh) * 2016-12-19 2018-06-29 普天信息技术有限公司 预测模型构建方法、门诊量预测方法及装置
US10062078B1 (en) * 2016-06-14 2018-08-28 Square, Inc. Fraud detection and transaction review
EP3447642A1 (en) * 2017-08-24 2019-02-27 Tata Consultancy Services Limited System and method for predicting application performance for large data size on big data cluster
CN109766234A (zh) * 2018-12-11 2019-05-17 国网甘肃省电力公司信息通信公司 基于时间序列模型的磁盘存储容量预测方法
CN109785003A (zh) * 2019-01-17 2019-05-21 四川骏逸富顿科技有限公司 一种药品零售行业药品销售预测系统及方法
CN110471820A (zh) * 2019-08-05 2019-11-19 南开大学 一种基于循环神经网络的云存储系统磁盘故障预测方法
CN110503235A (zh) * 2019-07-05 2019-11-26 中国平安人寿保险股份有限公司 时间序列的预测方法及系统
CN110912737A (zh) * 2019-11-14 2020-03-24 国网浙江省电力有限公司信息通信分公司 一种基于混合模型的动态感知性能预告警方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170286854A1 (en) * 2016-03-30 2017-10-05 General Electric Company Automatic revision of a predictive damage model
CN110598842A (zh) * 2019-07-17 2019-12-20 深圳大学 一种深度神经网络超参数优化方法、电子设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968670A (zh) * 2012-10-23 2013-03-13 北京京东世纪贸易有限公司 预测数据的方法和装置
US10062078B1 (en) * 2016-06-14 2018-08-28 Square, Inc. Fraud detection and transaction review
CN108229714A (zh) * 2016-12-19 2018-06-29 普天信息技术有限公司 预测模型构建方法、门诊量预测方法及装置
EP3447642A1 (en) * 2017-08-24 2019-02-27 Tata Consultancy Services Limited System and method for predicting application performance for large data size on big data cluster
CN109766234A (zh) * 2018-12-11 2019-05-17 国网甘肃省电力公司信息通信公司 基于时间序列模型的磁盘存储容量预测方法
CN109785003A (zh) * 2019-01-17 2019-05-21 四川骏逸富顿科技有限公司 一种药品零售行业药品销售预测系统及方法
CN110503235A (zh) * 2019-07-05 2019-11-26 中国平安人寿保险股份有限公司 时间序列的预测方法及系统
CN110471820A (zh) * 2019-08-05 2019-11-19 南开大学 一种基于循环神经网络的云存储系统磁盘故障预测方法
CN110912737A (zh) * 2019-11-14 2020-03-24 国网浙江省电力有限公司信息通信分公司 一种基于混合模型的动态感知性能预告警方法

Also Published As

Publication number Publication date
CN112148557A (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
CN112148557B (zh) 一种性能指标实时预测方法、计算机设备及存储介质
Wilks Comparison of ensemble-MOS methods in the Lorenz'96 setting
JP6562883B2 (ja) 特性値推定装置および特性値推定方法
Castle et al. Evaluating automatic model selection
US20180225166A1 (en) Abnormality detection apparatus, abnormality detection method, and non-transitory computer readable medium
Aytac et al. Characterization of demand for short life-cycle technology products
EP3482354A1 (en) Computer systems and methods for performing root cause analysis and building a predictive model for rare event occurrences in plant-wide operations
US20060074828A1 (en) Methods and apparatus for detecting temporal process variation and for managing and predicting performance of automatic classifiers
CN111639798A (zh) 智能的预测模型选择方法及装置
CN111523084A (zh) 业务数据预测方法、装置、电子设备及计算机可读存储介质
CN110287537B (zh) 用于频标输出跳变检测的抗野值自适应卡尔曼滤波方法
KR20210017342A (ko) 과거 데이터에 기초한 시계열 예측 방법 및 장치
CN112148768A (zh) 一种指标时间序列异常检测方法、系统及存储介质
WO2020164740A1 (en) Methods and systems for automatically selecting a model for time series prediction of a data stream
US7373332B2 (en) Methods and apparatus for detecting temporal process variation and for managing and predicting performance of automatic classifiers
Ngufor et al. Unsupervised labeling of data for supervised learning and its application to medical claims prediction
CN115081673A (zh) 一种油气管道的异常预测方法、装置、电子设备及介质
Park et al. On the long-term predictive capability of data-driven software reliability model: an empirical evaluation
US20170307750A1 (en) Waveform estimation device and waveform estimation method
Di Persio et al. Markov switching model analysis of implied volatility for market indexes with applications to S&P 500 and dax
CN111783883A (zh) 一种异常数据的检测方法及装置
CN113723006B (zh) 一种基于ls-svm的单台站地球变化磁场建模预测方法及系统
US20060074826A1 (en) Methods and apparatus for detecting temporal process variation and for managing and predicting performance of automatic classifiers
US20240152133A1 (en) Threshold acquisition apparatus, method and program for the same
FI20225225A1 (en) METHOD AND SYSTEM FOR DETECTING ANOVAS IN TIME SERIES DATA

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