CN113570396A - 时间序列数据异常检测方法、装置、设备及存储介质 - Google Patents
时间序列数据异常检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113570396A CN113570396A CN202110103814.8A CN202110103814A CN113570396A CN 113570396 A CN113570396 A CN 113570396A CN 202110103814 A CN202110103814 A CN 202110103814A CN 113570396 A CN113570396 A CN 113570396A
- Authority
- CN
- China
- Prior art keywords
- time point
- data
- current time
- prediction
- historical
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供一种时间序列数据异常检测方法、装置、设备及存储介质。该方法包括:根据获取的当前时间点之前的目标长度移动窗口内的历史时间序列数据获得当前时间点的预测数据;根据获取的加权下降速率确定当前时间点的预测数据和各个历史时间点的历史数据的指数衰减权重;根据当前时间点的预测数据及其指数衰减权重,以及各个历史时间点的历史数据及其指数衰减权重,获得当前时间点的平滑值;根据当前时间点的预测数据、目标长度移动窗口内的历史时间序列数据、加权下降速率与当前时间点的平滑值获得当前时间点的离散程度量;基于当前时间点的平滑值及其离散程度量确定下一时间点的预测阈值。该方法提高了对下一时间点的数据进行异常检测的准确度。
Description
技术领域
本公开涉及数据挖掘技术领域,具体而言,涉及一种时间序列数据异常检测方法、装置、电子设备及计算机可读存储介质。
背景技术
在互联网、***运维、金融指标、工业设计等方面应用场景中,常常需要对时间序列数据进行异常监控。在实际的数据监控应用场景里,数据会有很多难以处理的情况,比如数据特征繁杂、数据缺失、数据主题数量极多等等。一些相关技术中采用的异常检测方法依赖于时间序列数据满足特定的分布情况,对于数据特征繁杂的数据的异常检测的准确度较低。另一些相关技术中采用中位数四分位距(interquartile range,IQR)检测异常值,虽然脱离了数据分布的假设,但使用起来往往过于粗糙,且对于数据的波动不是非常敏感。
如上所述,如何提高复杂情况下的时间序列数据的异常检测的准确度成为亟待解决的问题。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种时间序列数据异常检测方法、装置、设备及可读存储介质,可提高复杂情况下的时间序列数据的异常检测的准确度。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
本公开实施例提供一种时间序列数据异常检测方法,包括:获取当前时间点之前的目标长度移动窗口内的历史时间序列数据;根据所述目标长度移动窗口内的历史时间序列数据获得所述当前时间点的预测数据;获取加权下降速率;根据所述加权下降速率确定所述当前时间点的预测数据和所述历史时间序列数据中各个历史时间点的历史数据的指数衰减权重;根据所述当前时间点的预测数据及其指数衰减权重,以及所述历史时间序列数据中各个历史时间点的历史数据及其指数衰减权重,获得所述当前时间点的平滑值;根据所述当前时间点的预测数据、所述目标长度移动窗口内的历史时间序列数据、所述加权下降速率与所述当前时间点的平滑值获得所述当前时间点的离散程度量;基于所述当前时间点的平滑值和所述当前时间点的离散程度量确定下一时间点的预测阈值,以用于对所述下一时间点的数据进行异常检测。
本公开实施例提供一种异常检测装置,包括:历史数据获取模块,用于获取当前时间点之前的目标长度移动窗口内的历史时间序列数据;当前数据预测模块,用于根据所述目标长度移动窗口内的历史时间序列数据获得所述当前时间点的预测数据;加权速率获取模块,用于获取加权下降速率;指数权重获取模块,用于根据所述加权下降速率确定所述当前时间点的预测数据和所述历史时间序列数据中各个历史时间点的历史数据的指数衰减权重;当前平滑值获得模块,用于根据所述当前时间点的预测数据及其指数衰减权重,以及所述历史时间序列数据中各个历史时间点的历史数据及其指数衰减权重,获得所述当前时间点的平滑值;当前离散量获取模块,用于根据所述当前时间点的预测数据、所述目标长度移动窗口内的历史时间序列数据、所述加权下降速率与所述当前时间点的平滑值获得所述当前时间点的离散程度量;阈值预测模块,用于基于所述当前时间点的平滑值和所述当前时间点的离散程度量确定下一时间点的预测阈值,以用于对所述下一时间点的数据进行异常检测。
根据本公开的一实施例,所述当前平滑值获得模块包括:平滑值计算模块,用于将所述历史时间序列数据中各个历史时间点的历史数据按照其指数衰减权重相加,获得上一时间点的平滑值;加权迭代模块,用于根据所述加权下降速率将所述上一时间点的平滑值和所述当前时间点的预测数据加权相加,获得所述当前时间点的平滑值。
根据本公开的一实施例,所述加权迭代模块包括:修正系数获得模块,用于根据所述加权下降速率和所述目标长度移动窗口获得偏差修正系数;偏差修正模块,用于根据所述加权下降速率和所述偏差修正系数,将所述上一时间点的平滑值和所述当前时间点的预测数据加权相加,获得所述当前时间点的平滑值。
根据本公开的一实施例,所述当前数据预测模块还用于:根据所述目标长度移动窗口内的历史时间序列数据,采用移动平均模块、或指数加权平均模块、或插值模块获得所述当前时间点的预测数据,其中:所述移动平均模块,用于从所述目标长度移动窗口内的历史时间序列数据中选取目标数量的历史时间序列数据;获得所述目标数量的历史时间序列数据的平均值作为所述当前时间点的预测数据;所述指数加权平均模块,用于从所述目标长度移动窗口内的历史时间序列数据中获取上一时间点之前的历史时间序列数据;根据所述上一时间点之前的历史时间序列数据获得所述上一时间点的平滑值;将所述上一时间点的平滑值与所述上一时间点的数据加权相加获得所述当前时间点的预测数据;所述插值模块,用于对所述目标长度移动窗口内的历史时间序列数据进行拟合,获得目标插值函数;根据所述目标插值函数获得所述当前时间点的预测数据。
根据本公开的一实施例,所述当前数据预测模块包括:预测方法获取模块,用于获取输入的待调用的数据预测模块,所述数据预测模块为所述移动平均模块、所述指数加权平均模块、所述插值模块中的至少一种;预测数据获得模块,用于根据所述目标长度移动窗口内的历史时间序列数据,调用所述输入的待调用的数据预测模块获得所述当前时间点的预测数据。
根据本公开的一实施例,所述加权速率获取模块包括:半衰期确定模块,用于确定目标半衰期,所述目标半衰期为所述指数衰减权重按时间从后往前顺序累加至总权重的一半所需的时间单位;加权速率计算模块,用于根据所述目标半衰期获得所述加权下降速率。
根据本公开的一实施例,所述当前时间点的离散程度量包括所述当前时间点的标准差;所述当前离散量获取模块包括:偏差计算模块,用于分别获得所述目标长度移动窗口内的时间序列数据与所述当前时间点的平滑值的偏差;标准差计算模块,用于将所述偏差求平方后按照对应时间点的所述指数衰减权重加权相加后求平方根,获得所述当前时间点的标准差。
根据本公开的一实施例,所述预测阈值包括预测上限;所述阈值预测模块包括:区间参数获取模块,用于根据所述当前时间点获取区间预测参数;预测上限计算模块,用于将所述当前时间点的平滑值与所述区间预测参数与所述当前时间点的标准差的乘积相加,获得所述下一时间点的预测上限。
根据本公开的一实施例,所述装置还包括:评估数据获取模块,用于获取评估时间窗口的时间序列数据;评估阈值获得模块,用于将所述评估时间窗口内的各个时间点作为所述当前时间点,获得其下一时间点的预测阈值;评估异常数据获得模块,用于根据所述评估时间窗口内的各个时间点的下一时间点的预测阈值,从所述评估时间窗口的时间序列数据中获得预测异常数据;参照异常数据获得模块,用于根据所述评估时间窗口内的时间序列数据,对所述评估时间窗口内的各个时间点的数据进行异常检测,获得参照异常数据;预测阈值覆盖指标获得模块,用于根据所述预测异常数据和所述参照异常数据获得预测阈值覆盖指标。
根据本公开的一实施例,所述参照异常数据获得模块还用于:构造所述评估时间窗口内的时间序列数据的数据空间;将所数据空间通过随机超平面分割为多个子空间,所述多个子空间中的各个子空间仅包括一个时间点的数据;根据获得所述各个子空间时对所数据空间进行分割的次数,从所述各个子空间的数据中确定所述参照异常数据。
本公开实施例提供一种设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,所述处理器执行所述可执行指令时实现如上述任一种方法。
本公开实施例提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述可执行指令被处理器执行时实现如上述任一种方法。
本公开实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
本公开的实施例提供的时间序列数据异常检测方法,通过根据获取的当前时间点之前的目标长度移动窗口内的历史时间序列数据获得当前时间点的预测数据,然后根据获取的加权下降速率确定当前时间点的预测数据和历史时间序列数据中各个历史时间点的历史数据的指数衰减权重,再根据当前时间点的预测数据及其指数衰减权重,以及历史时间序列数据中各个历史时间点的历史数据及其指数衰减权重,获得当前时间点的平滑值,然后根据当前时间点的预测数据、目标长度移动窗口内的历史时间序列数据、加权下降速率与当前时间点的平滑值获得当前时间点的离散程度量,再基于当前时间点的平滑值和当前时间点的离散程度量确定下一时间点的预测阈值,从而获得的预测阈值更多地参考距当前时间点最近的一些历史数据,因此,可设定更接近实际数据波动情况、更准确的下一时间点的预测阈值,以用于对下一时间点的数据进行异常检测,提高了时间序列数据的异常检测的准确度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。
图1示出本公开实施例中一种***结构的示意图。
图2示出本公开实施例中一种时间序列数据异常检测方法的流程图。
图3示出了图2中所示的步骤S204在一实施例中的处理过程示意图。
图4示出了图2中所示的步骤S204在一实施例中的处理过程示意图。
图5示出了图2中所示的步骤S204在一实施例中的处理过程示意图。
图6示出了图2中所示的步骤S206在一实施例中的处理过程示意图。
图7示出了图2中所示的步骤S210在一实施例中的处理过程示意图。
图8示出了图2中所示的步骤S212在一实施例中的处理过程示意图。
图9是根据一示例性实施例示出的一种阈值预测模型评估方法的流程图。
图10是根据一示例性实施例示出的一种阈值预测模型测试结果示意图。
图11是根据一示例性实施例示出的一种阈值预测模型测试结果示意图。
图12是根据一示例性实施例示出的一种阈值预测模型评估结果的示意图。
图13是根据一示例性实施例示出的一种阈值预测模型评估结果的示意图。
图14是根据一示例性实施例示出的一种阈值预测模型测试结果示意图。
图15是根据一示例性实施例示出的一种阈值预测模型测试结果示意图。
图16是根据一示例性实施例示出的一种异常检测结果界面示意图。
图17是根据一示例性实施例示出的一种异常检测结果数据示意图。
图18示出本公开实施例中一种时间序列数据异常检测装置的框图。
图19示出本公开实施例中另一种时间序列数据异常检测装置的框图。
图20示出本公开实施例中一种电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,在本公开的描述中,除非另有明确的规定和限定,“连接”等术语应做广义理解,例如,可以是电连接或可以互相通讯;可以是直接相连,也可以通过中间媒介间接相连。“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习、异常检测等技术。
异常检测(Anomaly Detection,AD)是机器学习的一个重要分支,实际应用领域广泛,更与我们的生活息息相关。异常检测就是发现与大部分对象不同的对象,也就是发现离群点。一般规定数据具有“正常”模型,而异常被认为是与这个正常模型的偏差。在实际应用中对异常的定义也是特定的。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
图1示出了可以应用本公开的异常检测方法、异常检测装置的示例性***架构10。
如图1所示,***架构10可以包括终端设备102、网络104、服务器106和数据库108。终端设备102可以是具有显示屏并且支持输入、输出的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、可穿戴设备、虚拟现实设备、智能家居等等。网络104用以在终端设备102和服务器106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。服务器106可以是提供各种服务的服务器或服务器集群等。数据库108可以为置于服务器上的大型数据库软件,也可以为安装在计算机上的小型数据库软件,用于存储数据。
用户可以使用终端设备102通过网络104与服务器106和数据库108交互,以接收或发送数据等。例如用户通过终端设备102经由网络104从服务器106上获得检测得到的跨境收单数据中的异常金额,然后通过终端设备102上的收单软件对该异常金额对应的商户进行标注。又例如用户在终端设备102上进行操作,将设备运维指标数据通过网络104上传至数据库108中进行存储。
在服务器106也可通过网络104从数据库108接收数据或向数据库108发送数据等。例如服务器106可为后台处理服务器,用于通过网络104从数据库108获取的时间序列数据进行异常检测。又例如服务器106可用于对通过网络104从终端设备102获取的数据进行清洗,并将清洗后的数据通过网络104上传至数据库108中进行存储。
应该理解,图1中的终端设备、网络、服务器和数据库的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、服务器和数据库。
本公开实施例提供的技术方案涉及异常检测技术等方面,先通过具体的实施例进行举例说明。
在时间序列数据处理场景中,每天数据收集结束后,将数据清洗后存入存储***中,需要用这些数据对下一日的阈值进行预测,按日输出阈值。理论上可在每一个数据记录下来(例如每一笔订单)都重新整合数据,重新对每一个监控对象(如商户)输出一个新阈值,对服务器的计算能力的要求非常高,在交易量较大、商户较大的场景下可能会因数据量过大无法支持。
如上所述,在实际的数据监控应用场景里,数据会有很多难以处理的情况,比如数据特征繁杂、数据缺失、数据主题数量极多等等。因此,本公开提供了一种时间序列数据异常检测方法,通过根据获取的当前时间点之前的目标长度移动窗口内的历史时间序列数据获得当前时间点的预测数据,然后根据获取的加权下降速率确定当前时间点的预测数据和历史时间序列数据中各个历史时间点的历史数据的指数衰减权重,再根据当前时间点的预测数据及其指数衰减权重,以及历史时间序列数据中各个历史时间点的历史数据及其指数衰减权重,获得当前时间点的平滑值,然后根据当前时间点的预测数据、目标长度移动窗口内的历史时间序列数据、加权下降速率与当前时间点的平滑值获得当前时间点的离散程度量,再基于当前时间点的平滑值和当前时间点的离散程度量确定下一时间点的预测阈值,以用于对下一时间点的数据进行异常检测,从而可通过设定更准确的下一时间点的预测阈值,提高了时间序列数据的异常检测的准确度。
图2是根据一示例性实施例示出的一种时间序列数据异常检测方法的流程图。如图2所示的方法例如可以应用于上述***的服务器,也可以应用于上述***的终端设备。
参考图2,本公开实施例提供的方法20可以包括以下步骤。
在步骤S202中,获取当前时间点之前的目标长度移动窗口内的历史时间序列数据。时间序列数据可以是跨境收单项目中各商户连续时间点的交易金额、设备运维指标在连续时间点的检查数据等等。当前时间点为进行阈值预测的时间点,当前时间点之前的数据都为历史时间序列数据,在当前时间点可以获得的最新的数据为上一时间点的数据。移动窗口为选取的时间序列数据所在的时间段,移动窗口的长度可进行设定。
在一些实施例中,例如,在对商户的交易金额进行检测的项目中,每天要处理数万甚至数十万的商户信息,每个商户都会产生自己的时间序列数据,因此计算处理可能需要数小时乃至十几小时的时间,若以“天”为时间单位,通常需要在t日(当前时间点,t为大于1的正整数)的凌晨开始对数据做处理建模,此时可获得的数据为1,2,…,t-1日的数据,然后输出t+1日(下个时间点)的预测阈值再推送到线上,这样可保证在t+1日凌晨开始可使用预测阈值进行交易数据的异常检测。移动窗口的长度为t,t可以根据实际情况设置为30日、60日、90日等等。
在一些实施例中,例如,在境外收单项目中,可根据历史交易总天数、最近一次交易时间距今天数、交易活跃度、交易稳定性、日均交易规模等指标,评价商户的活跃度和数据质量,然后根据其交易活跃程度和数据质量对商户进行分组,例如可分为活跃度较高、数据质量较好的商户(SEG_A)、活跃度中等、数据质量一般的商户(SEG_B)、活跃度较低、数据质量较差的商户(SEG_C)。在对商户进行t+1日的阈值预测时,不同分组的商户会用不同的模型输出阈值,例如SEG_A商户采用精准预测方案(prophet)、SEG_B商户采用中位数IQR方案、SEG_C商户采用行业均值方案等等,在线上应用时实际只需要一张阈值表,如果不同商户模型的预测步长不同,那么当商户发生跳组情况时,就会发生该商户当天没有阈值可用或有两个阈值适配的情况,因此需要统一各个模型的预测步长。所以,可通过用t-1日数据在t日做到t+1日的阈值预测,实现步长为2步的预测。
在步骤S204中,根据目标长度移动窗口内的历史时间序列数据获得当前时间点的预测数据。可根据当前时间点之前的历史数据对当前时间点的数据进行预测,以利用该预测数据对下一时间点的阈值进行预测。
在一些实施例中,例如,可根据目标长度移动窗口内的历史时间序列数据估计得到当前时间点的预测数据,包括但不限于采用移动平均法、指数加权平均法、插值法获得当前时间点的预测数据。当前时间点的数据预测方法可参照图3至图5的具体实施方式。
在另一些实施例中,例如,可将当前时间点的数据预测方法作为输入参数,即可获取输入的数据预测方法,例如输入的数据预测方法可为移动平均法、指数加权平均法、插值法中的一种,然后根据目标长度移动窗口内的历史时间序列数据,采用输入的数据预测方法获得当前时间点的预测数据。
在步骤S206中,获取加权下降速率。用于获得指数衰减权重的加权下降速率可作为输入参数,在进行平滑值计算之前获取。
在一些实施例中,例如,可通过设定指数衰减权重按时间从后往前顺序累加至总权重的一半所需的时间来设置加权下降速率,具体实施方式可参照图6。可将加权下降速率记为α。
在另一些实施例中,例如,也可通过设定指数衰减权重按时间从后往前顺序累加至总权重的三分之二、或四分之三等所需的时间来设置加权下降速率,具体实施方式类似图6,即令WHN为三分之二、或四分之三等获得加权下降速率,此处不再赘述。
在步骤S208中,根据加权下降速率确定当前时间点的预测数据和历史时间序列数据中各个历史时间点的历史数据的指数衰减权重。指数衰减权重的含义是按时间从后向前顺序,各个历史时间点的历史数据的权重呈指数衰减。
在一些实施例中,例如,获得加权下降速率α后,当前时间点的预测数据以及后续数据yt-1,yt-2,yt-3,……的指数衰减权重可对应为α/Λ,α2/Λ,α3/Λ,α4/Λ,…,其中Λ=α+α2+α3+α4+…。
在步骤S210中,根据当前时间点的预测数据及其指数衰减权重,以及历史时间序列数据中各个历史时间点的历史数据及其指数衰减权重,获得当前时间点的平滑值。
在一些实施例中,例如,可通过迭代的方法,按照时间先后顺序依次获得当前时间点之前各个历史时间点的指数加权平均值,具体实施方式可参照图7。
在另一些实施例中,例如,可直接根据当前时间点(第t日)的预测数据及其指数衰减权重α,以及历史时间序列数据中各个历史时间点的历史数据y1,y2,……yt-1及其指数衰减权重α(1-α)t,α(1-α)t-1,…α(1-α),可如下式计算获得当前时间点的平滑值St:
在步骤S212中,根据当前时间点的预测数据、目标长度移动窗口内的历史时间序列数据、加权下降速率与当前时间点的平滑值获得当前时间点的离散程度量。离散数据的离散程度量可为方差、标准差等等,将当前时间点的平滑值作为目标长度移动窗口内的历史时间序列数据的平均值,可获得这些数据的方差或标准差。
在一些实施例中,例如,将标准差作为用于预测下一时间点阈值的离散程度量时,也可将各历史时间序列数据与平均值的偏差加权获得当前时间点的标准差,具体实施方式可参照图8,
在步骤S214中,基于当前时间点的平滑值和当前时间点的离散程度量确定下一时间点的预测阈值,以用于对下一时间点的数据进行异常检测。可以当前时间点的平滑值和当前时间点的离散程度量为下一时间点设置正常数值区间的上、下限,当获得下一时间点的数据时,若其落在该区间外,则判定其为异常数据。
在一些实施例中,例如可根据当前时间点获取区间预测参数,将当前时间点的平滑值与区间预测参数与当前时间点的标准差的乘积相加,获得下一时间点的预测上限;还可将当前时间点的平滑值与区间预测参数与当前时间点的标准差的乘积相减,获得下一时间点的预测下限。若将区间预测参数记为Nt,当前时间点的标准差记为σt,则可获得下一时间点的预测上限Upper_limitt+1为:
Lower_limitt+1=St-Nt*σt (2)
其中,Nt为与当前时间点的可调节参数,Nt例如可以取3、6或8等等,可以根据实际情况调整,并且在不同的日期(例如平日、节假日、特殊运营日期)取不同的值。对于特殊日期的分辨,可以使用传统节日+通用节日+营销节日+孤立森林识别的方法,在预测阈值后根据识别出的异常点更新特殊日期的集合,再用新的特殊日期集合去预测新的阈值找出异常点,并结合其他模型中识别出的特殊日期,迭代生成特殊日期集合。例如,若对假期和工作日设置不同的区间预测参数,记holiday集合为假期的集合,可配置:
其中,Nsigma_holiday为假期的区间预测参数,Nsigma_normal为工作日的区间预测参数。
根据本公开实施例提供的时间序列数据异常检测方法,通过根据获取的当前时间点之前的目标长度移动窗口内的历史时间序列数据获得当前时间点的预测数据,然后根据获取的加权下降速率确定当前时间点的预测数据和历史时间序列数据中各个历史时间点的历史数据的指数衰减权重,再根据当前时间点的预测数据及其指数衰减权重,以及历史时间序列数据中各个历史时间点的历史数据及其指数衰减权重,获得当前时间点的平滑值,然后根据当前时间点的预测数据、目标长度移动窗口内的历史时间序列数据、加权下降速率与当前时间点的平滑值获得当前时间点的离散程度量,再基于当前时间点的平滑值和当前时间点的离散程度量确定下一时间点的预测阈值,以用于对下一时间点的数据进行异常检测,从而可获得的预测阈值更多地参考距当前时间点最近的一些历史数据,因此,可设定更接近实际数据波动情况、更准确的下一时间点的预测阈值,进而提高了时间序列数据的异常检测的准确度。
图3示出了图2中所示的步骤S204在一实施例中的处理过程示意图。如图3所示,本公开实施例中,上述步骤S204中在采用移动平均法根据历史时间序列数据估计当前时间点的预测数据时,步骤S204可以进一步包括以下步骤。
步骤S20402,从目标长度移动窗口内的历史时间序列数据中选取目标数量的历史时间序列数据。
步骤S20404,获得目标数量的历史时间序列数据的平均值作为当前时间点的预测数据。
在一些实施例中,可将目标长度移动窗口内的历史时间序列数据表示为:y1,y2,……yt-1,其中t(日)为移动窗口目标长度。则可以t-1日数据yt-1开始,选取连续的目标数量(例如可即为m,m∈N*(正整数),为可调节参数)的数据求算术平均值,作为当前时间点的预测数据。即可由下式获得移动平均法进行预估的第t日数据
根据本公开实施例提供的当前时间点的数据预测方法,通过将距离当前时间点最近的目标数量个历史时间序列数据的平均值作为当前时间点的预测数据,从而可实现在使预估值接近实际情况的同时,提高预测模型的便捷性,提高处理效率。
图4示出了图2中所示的步骤S204在一实施例中的处理过程示意图。如图4所示,本公开实施例中,上述步骤S204中在采用指数加权平均法根据历史时间序列数据估计当前时间点的预测数据时,步骤S204可以进一步包括以下步骤。
步骤S20412,从目标长度移动窗口内的历史时间序列数据中获取上一时间点之前的历史时间序列数据。
步骤S20414,根据上一时间点之前的历史时间序列数据获得上一时间点的平滑值。上一时间点的平滑值的获得与时间点的平滑值的获得类似,可通过将历史时间序列数据指数加权平均方法计算上一时间点的平滑值,具体可参照图2中步骤S206至步骤S210。上一时间点的平滑值的获得与时间点的平滑值的获得区别在于,上一时间点之前的历史时间序列数据全部可获得,都为实际数据而不需要对上一时间点的“上一时间点”的数据进行估计。
步骤S20416,将上一时间点的平滑值与上一时间点的数据加权相加获得当前时间点的预测数据。加权的权重可根据具体应用场景进行调节,以使获得的预测数据更接近实际数据。
根据本公开实施例提供的当前时间点的数据预测方法,通过将上一时间点之前的历史时间序列数据指数加权相加获得上一时间点的平滑值,可使距离当前时间点最近的历史时间序列数据在计算平滑值时所占的权重更大,并将上一时间点的平滑值与上一时间点的数据加权相加作为当前时间点的预测数据,从而可进一步提高预测数据的准确性。
图5示出了图2中所示的步骤S204在一实施例中的处理过程示意图。如图5所示,本公开实施例中,上述步骤S204中在采用插值法根据历史时间序列数据估计当前时间点的预测数据时,步骤S204可以进一步包括以下步骤。
步骤S20422,对目标长度移动窗口内的历史时间序列数据进行拟合,获得目标插值函数。可将离散的历史时间序列数据拟合为以时间为自变量,对应的数据值为因变量的函数,可采用线性函数、多项式函数等进行拟合,获得涵盖历史时间序列数据最多的目标插值函数。
步骤S20424,根据目标插值函数获得当前时间点的预测数据。当前时间点在目标长度移动窗口的时间范围以外,因此可采用外插法通过拟合得到的目标插值函数获得当前时间点的预测数据。
根据本公开实施例提供的当前时间点的数据预测方法,通过对根据目标长度移动窗口内的历史时间序列数据进行外插值,获得当前时间点的预测数据,可较为便捷地获得当前时间点的预估值,提高处理效率。
图6示出了图2中所示的步骤S206在一实施例中的处理过程示意图。如图6所示,本公开实施例中,上述步骤S206可以进一步包括以下步骤。
步骤S2062,确定目标半衰期,目标半衰期为指数衰减权重按时间从后往前顺序累加至总权重的一半所需的时间单位。对于当前时间点之前的近n日的历史时间序列数据yt-1,yt-2,…,yt-n,第yt-n项对应的权重ωt-n可表示为:
记目标半衰期为HN,HN可根据业务情况进行设定,例如可为对交易预测更有用、更能代表商户最近的交易趋势的一周、2周或一个月等等的交易数据,则可将指数衰减权重按时间从后往前顺序累加至HN日的和WHN表示为总权重(即1)与HN日后权重(可称为拖尾权重)的差:
步骤S2064,根据目标半衰期获得加权下降速率。令WHN等于1/2,可获得α=1-eln (0.5)/HN。
根据本公开实施例提供的加权下降速率的获取方法,通过设定指数衰减权重的半衰期参数获得加权下降速率,可将关注的最近若干天的数据的权重设的更高,使获得当前时间点的平滑值能更真实地反映实际数据的趋势。
图7示出了图2中所示的步骤S210在一实施例中的处理过程示意图。如图7所示,本公开实施例中,上述步骤S210可以进一步包括以下步骤。
步骤S2102,将历史时间序列数据中各个历史时间点的历史数据按照其指数衰减权重相加,获得上一时间点的平滑值。
步骤S2104,根据加权下降速率将上一时间点的平滑值和当前时间点的预测数据加权相加,获得当前时间点的平滑值。
式中,α为加权下降速率,上一时间点的平滑值St-1也可由迭代式(7)获得。
在一些实施例中,在数据值为0的时间点比较多或者时间窗口长度较短的情况下,历史时间序列数据的数据量比较少,此时采用上述迭代方法估计的平滑值与实际数据偏离较大,可通过下面步骤对平滑值进行偏差修正。
步骤S21042,根据加权下降速率和目标长度移动窗口获得偏差修正系数。
步骤S21044,根据加权下降速率和偏差修正系数,将上一时间点的平滑值和当前时间点的预测数据加权相加,获得当前时间点的平滑值。
在一些实施例中,可将当前时间点的修正的平滑值S′t表示为:
式中,分母为式(1)中St表达式的展开形式中各项的系数之和,即保证S′t展开式中各项的系数和为1,这样可在数据量较少时避免估计得到的平滑值与真实数据偏差较大。
根据本公开实施例提供的当前时间点的平滑值计算方法,根据指数衰减权重的半衰期迭代计算后进行偏差修正,可使获得当前时间点的平滑值能更真实地反映实际数据的趋势。
图8示出了图2中所示的步骤S212在一实施例中的处理过程示意图。如图8所示,本公开实施例中,上述步骤S212可以进一步包括以下步骤。
步骤S2122,分别获得目标长度移动窗口内的时间序列数据与当前时间点的平滑值的偏差。
步骤S2124,将偏差求平方后按照对应时间点的指数衰减权重加权相加后求平方根,获得当前时间点的标准差。
在一些实施例中,例如,可用计算St时采用的指数衰减权重加权计算第t日的标准差σt:
其中,对于第yt-k项对应的权重ωt-k:
根据本公开实施例提供的当前时间点的标准差计算方法,采用指数衰减权重的对各历史时间点的时间序列数据与当前时间点的平滑值的偏差进行加权,可使获得当前时间点的标准差能更真实地反映实际数据的离散程度。
图9是根据一示例性实施例示出的一种阈值预测模型评估方法的流程图。如图9所示的方法例如可以对上述图2至图8描述的获得预测阈值的方法进行评估,评价其进行异常预测的准确程度。
在互联网金融的发展时代,越来越多的用户通过互联网的方式进行支付活动,商户在移动支付的帮助下能更高效地进行收支活动,个人也更方便地出门只携带一台手机。在互联网金融场景下,最常见的是时间序列数据,支付活动随着订单一笔一笔累积成支付数据,无数的支付数据形成了海量的交易行为数据。其中交易行为的异常波动情况是必须要注意的,这关系到互联网金融的支付安全,涉及支付平台与用户的利益。在跨境收单项目中,跨境收单商户的每日交易会形成时间顺序列数据,在这个场景下,我们需要对每个商户每日输出下一日的阈值,以在下一日对每个商户的交易数据进行异常检测。相关技术中直接用t日的预测阈值代替t+1的预测阈值,获得的阈值精度差,可解释性较弱。本公开提供了回滚的算法,让每一个时刻的预测都立足于当时的时间点,即利用t-1日的实际数据对t日的数据进行预测,然后在预测t+1日的阈值的方法。
在对阈值预测模型(也称为波动率模型)的测试中,首先对比了以下两种阈值预测模型:
1)移动平均值+N sigma方案:采用图3所示的移动平均法计算t日前移动窗口内的时间序列数据的移动平均值,然后利用移动平均值计算移动窗口内的时间序列数据的标准差(sigma),再将移动平均值加上N倍的sigma作为预测阈值的上限。在测试中,移动窗口的设置包括30天、60天、90天、120天、180天、360天,N的设置包括3、4、5、6倍,将移动窗口的设置与N的设置排列组合进行测试。
2)移动中位数IQR模型:获得t日前移动窗口内的时间序列数据的移动中位数,然后获得移动窗口内的时间序列数据的中位数两边的四分位数,再将移动中位数加上M倍的四分位数(IQR)作为预测阈值的上限。在测试中,移动窗口的设置包括30天、60天、90天、120天、180天、360天,M的设置包括1.5、3倍等等。
两种模型的部分测试结果对比如图10、图11所示。
图10示出了采用移动平均值+6sigma方案的境外商户交易金额时序项目测试结果,图中连线为时间窗口为90天的时间序列数据点的连线,连线上标示出的点为检测出的预警点(以预测阈值检测到的异常点)。如图10所示,采用移动平均值+6sigma方案获得的预警点较多,存在一些多余预警点。在一个上升趋势的连线上的连续时间点的预警点中,仅需要在上升趋势的开始进行预警,连续预警点过多会给商户审核人员造成冗余工作。而对于移动平均值模型来说,由于获得连续时间点的移动平均值时,时间序列数据之间的数据差别仅为两端数据,因此连续时间点之间的移动平均值很接近,因此容易在呈上升趋势的连续数据中出现连续预警点,说明这种移动平均值模型的灵活性较差。
图11示出了采用移动中位数+3倍IQR方案的境外商户交易金额时序项目测试结果,图中连线为时间窗口为90天的时间序列数据点的连线,连线上标示出的点为检测出的预警点(以预测阈值检测到的异常点)。如图11所示,采用移动中位数+3倍IQR方案获得的预警点与图10的模型相比较少,在一些数据突然上升的时间点都没有预警,说明这种模型较为粗糙,可能会漏报警。
参考图9,本公开实施例提供的模型评估方法90可以量化评估模型的异常预测情况。下面结合具体应用场景对图9的步骤进行说明。
在步骤S902中,获取评估时间窗口的时间序列数据。
在一些实施例中,例如,评估时间窗口的设置包括30天、60天、90天、120天、180天、360天等等,可利用这些窗口的数据分别获得评估指标,可用于选择阈值预测时时间窗口的长度。
在步骤S904中,将评估时间窗口内的各个时间点作为当前时间点,获得其下一时间点的预测阈值。可立足于评估时间窗口内的各个时间点,采用待评估模型用当时可获得的历史时间数据预测其下一时间点的阈值,以用预测阈值对下一时间点的数据进行异常判断。
在一些实施例中,例如,可在预测阈值时采用多种方法获得当前时间点(t日)的数据进行比较。测试中尝试了直接使用t日原值、图3所示的移动平均法和图4所示的指数加权平均法获得t日数据,发现普遍对阈值和异常点影响不大。
在步骤S906中,根据评估时间窗口内的各个时间点的下一时间点的预测阈值,从评估时间窗口的时间序列数据中获得预测异常数据。
在步骤S908中,根据评估时间窗口内的时间序列数据,对评估时间窗口内的各个时间点的数据进行异常检测,获得参照异常数据。用于进行参照的异常检测方法为立足于“将来”,即在待判断异常的数据点出现以后,以全局的角度识别获得的这些数据中是否存在异常点。
在一些实施例中,例如,可采用孤立森林方法获得参照异常数据,即构造评估时间窗口内的时间序列数据的数据空间,将所数据空间通过随机超平面分割为多个子空间,多个子空间中的各个子空间仅包括一个时间点的数据,根据获得各个子空间时对所数据空间进行分割的次数,从各个子空间的数据中确定参照异常数据,例如分割次数小于预设阈值的数据可认为是参照异常数据。
在一些实施例中,也可采用基于数据间距离/密度的方法判断数据是否异常,将距离其他数据点较远的数据/密度较小区域的数据判定为参照异常数据。
在步骤S910中,根据预测异常数据和参照异常数据获得预测阈值覆盖指标。由于参照异常数据的数据为全局识别的结果,因此可以其为参照,评估阈值预测模型对异常数据点的覆盖情况。
在一些实施例中,例如,对于商户交易金额数据的项目,可将商户平均覆盖率作为预测阈值覆盖指标,商户平均覆盖率=(某一商户的预测模型(检测到的异常点)覆盖其孤立森林的异常点)/孤立森林的总异常点。也可将商户每预警点覆盖率作为预测阈值覆盖指标,商户每预警点覆盖率=商户平均覆盖率/预测模型平均每商户每月平均预警点。图12示出了采用孤立森林方法对移动平均值+6sigma模型的评估结果,其中对异常点的检测未包括节假日。如图12所示,对于不同长度的时间窗口,移动平均值+6sigma模型的商户平均覆盖率都较低。
图13示出了上述移动平均值+N sigma与移动中位数IQR模型测试中,移动平均值+6sigma、移动中位数+3IQR预测阈值与孤立森林方法检测异常点的对比,其中对异常点的检测包括了节假日。其中孤立森林的分位数参数设为0.02,指outliers_fraction=0.02,意为异常得分处在所有样本的0.02分位数以下的样本为异常点。
结合预警数、评价指标和业务场景,接下来对本公开图2至图9所示的阈值预测的异常检测方法与移动平均值+6sigma进行了对比测试,图14至图15为测试结果,其中,图15中图示与图14相同。测试中,本公开图2所示的阈值预测方法参数设置如下:目标半衰期为7天,即t日的数据到t-7日的权重会衰减到0.5;区间预测参数为6,未区分节日与平日的区间预测参数。可以图14至图15中看出,本公开方法的预测模型会更符合实际数据的波动趋势,对于异常点也会更敏感,在覆盖了移动平均值+6sigma模型原来的预警点的基础上,还能够发现趋势非常平稳的商家的异常点,而这些是移动平均值+6sigma模型难以发现的。
下面对本公开图2至图9所示的包括了时间信息(指数衰减权重)的方法在业务场景中的应用情况进行说明。
在线上使用中,该方法拥有多个参数,包括目标半衰期、普通日期的区间预测参数、特殊日期的区间预测参数等,可以根据线上的情况进行快速调整。
在境外收单项目中,该方法被用于SEG_B的商户,该组特点为活跃度中等、数据质量一般的商户,在总境外收单商户中占到了历史交易金额的70%以上。通过排查审核结果表明该方法有着较好的应用效果。
图16示出了采用本公开图2至图9所示的异常检测方法的异常检测结果界面示意图。如图16所示,根据A公司在2019年6月至2020年9月之间的数据,检测结果为A公司涉嫌可疑交易,并根据该检测结果为其设置了单月交易限额。
图17示出了采用本公开图2至图9所示的异常检测方法对另一商户的异常检测数据。如图17所示,商户ALPHA HEALTH CARE(NEW ZEALAND)LIMITED连续告警,经人工审核,该商户涉嫌其他违法违规行为(历史同名违规商户-非法传销),最终定性及处理意见为商户网查有传销负面舆情,但拥有我国直销许可证,与历史同名限额商户判断为同一主体,故将本次同历史关联处置,限额单月5千处置。
图18是根据一示例性实施例示出的一种异常检测装置的框图。如图18所示的装置例如可以应用于上述***的服务器端,也可以应用于上述***的终端设备。
参考图18,本公开实施例提供的装置180可以包括历史数据获取模块1802、当前数据预测模块1804、加权速率获取模块1806、指数权重获取模块1808、当前平滑值获得模块1810、当前离散量获取模块1812和阈值预测模块1814。
历史数据获取模块1802可用于获取当前时间点之前的目标长度移动窗口内的历史时间序列数据。
当前数据预测模块1804可用于根据目标长度移动窗口内的历史时间序列数据获得当前时间点的预测数据。
加权速率获取模块1806可用于获取加权下降速率。
指数权重获取模块1808可用于根据加权下降速率确定当前时间点的预测数据和历史时间序列数据中各个历史时间点的历史数据的指数衰减权重。
当前平滑值获得模块1810可用于根据当前时间点的预测数据及其指数衰减权重,以及历史时间序列数据中各个历史时间点的历史数据及其指数衰减权重,获得当前时间点的平滑值。
当前离散量获取模块1812可用于根据当前时间点的预测数据、目标长度移动窗口内的历史时间序列数据、加权下降速率与当前时间点的平滑值获得当前时间点的离散程度量。
阈值预测模块1814可用于基于当前时间点的平滑值和当前时间点的离散程度量确定下一时间点的预测阈值,以用于对下一时间点的数据进行异常检测。
图19是根据一示例性实施例示出的另一种异常检测装置的框图。如图19所示的装置例如可以应用于上述***的服务器端,也可以应用于上述***的终端设备。
参考图19,本公开实施例提供的装置190可以包括历史数据获取模块1902、当前数据预测模块1904、移动平均模块19052、或指数加权平均模块19054、插值模块19056、加权速率获取模块1906、指数权重获取模块1908、当前平滑值获得模块1910、当前离散量获取模块1912、阈值预测模块1914、评估数据获取模块1916、评估阈值获得模块1918、评估异常数据获得模块1920、参照异常数据获得模块1922、预测阈值覆盖指标获得模块1924,其中,当前数据预测模块1904可以包括预测方法获取模块19042和预测数据获得模块19044,加权速率获取模块1906可以包括半衰期确定模块19062和加权速率计算模块19064,当前平滑值获得模块1910可以包括平滑值计算模块19102和加权迭代模块19104,加权迭代模块19104可以包括修正系数获得模块191042和偏差修正模块191044,当前离散量获取模块1912可以包括偏差计算模块19122和标准差计算模块19124,阈值预测模块1914可以包括区间参数获取模块19142和预测上限计算模块19144。
历史数据获取模块1902可用于获取当前时间点之前的目标长度移动窗口内的历史时间序列数据。
当前数据预测模块1904可用于根据目标长度移动窗口内的历史时间序列数据获得当前时间点的预测数据。
当前数据预测模块1904还可用于根据目标长度移动窗口内的历史时间序列数据,采用移动平均模块19052、或指数加权平均模块19054、或插值模块19056获得当前时间点的预测数据。
预测方法获取模块19042可用于获取输入的待调用的数据预测模块,数据预测模块为移动平均模块19052、指数加权平均模块19054、插值模块19056中的至少一种。
预测数据获得模块19044可用于根据目标长度移动窗口内的历史时间序列数据,调用输入的待调用的数据预测模块获得当前时间点的预测数据。
移动平均模块19052可用于从目标长度移动窗口内的历史时间序列数据中选取目标数量的历史时间序列数据;获得目标数量的历史时间序列数据的平均值作为当前时间点的预测数据。
指数加权平均模块19054可用于从目标长度移动窗口内的历史时间序列数据中获取上一时间点之前的历史时间序列数据;根据上一时间点之前的历史时间序列数据获得上一时间点的平滑值;将上一时间点的平滑值与上一时间点的数据加权相加获得当前时间点的预测数据。
插值模块19056可用于对目标长度移动窗口内的历史时间序列数据进行拟合,获得目标插值函数;根据目标插值函数获得当前时间点的预测数据。
加权速率获取模块1906可用于获取加权下降速率。
半衰期确定模块19062可用于确定目标半衰期,目标半衰期为指数衰减权重按时间从后往前顺序累加至总权重的一半所需的时间单位。
加权速率计算模块19064可用于根据目标半衰期获得加权下降速率。
指数权重获取模块1908可用于根据加权下降速率确定当前时间点的预测数据和历史时间序列数据中各个历史时间点的历史数据的指数衰减权重。
当前平滑值获得模块1910可用于根据当前时间点的预测数据及其指数衰减权重,以及历史时间序列数据中各个历史时间点的历史数据及其指数衰减权重,获得当前时间点的平滑值。
平滑值计算模块19102可用于将历史时间序列数据中各个历史时间点的历史数据按照其指数衰减权重相加,获得上一时间点的平滑值。
加权迭代模块19104可用于根据加权下降速率将上一时间点的平滑值和当前时间点的预测数据加权相加,获得当前时间点的平滑值。
修正系数获得模块191042可用于根据加权下降速率和目标长度移动窗口获得偏差修正系数。
偏差修正模块191044可用于根据加权下降速率和偏差修正系数,将上一时间点的平滑值和当前时间点的预测数据加权相加,获得当前时间点的平滑值。
当前离散量获取模块1912可用于根据当前时间点的预测数据、目标长度移动窗口内的历史时间序列数据、加权下降速率与当前时间点的平滑值获得当前时间点的离散程度量。当前时间点的离散程度量包括当前时间点的标准差。
偏差计算模块19122可用于分别获得目标长度移动窗口内的时间序列数据与当前时间点的平滑值的偏差。
标准差计算模块19124可用于将偏差求平方后按照对应时间点的指数衰减权重加权相加后求平方根,获得当前时间点的标准差。
阈值预测模块1914可用于基于当前时间点的平滑值和当前时间点的离散程度量确定下一时间点的预测阈值,以用于对下一时间点的数据进行异常检测。预测阈值包括预测上限。
区间参数获取模块19142可用于根据当前时间点获取区间预测参数。
预测上限计算模块19144可用于将当前时间点的平滑值与区间预测参数与当前时间点的标准差的乘积相加,获得下一时间点的预测上限。
评估数据获取模块1916可用于获取评估时间窗口的时间序列数据。
评估阈值获得模块1918可用于将评估时间窗口内的各个时间点作为当前时间点,获得其下一时间点的预测阈值。
评估异常数据获得模块1920可用于根据评估时间窗口内的各个时间点的下一时间点的预测阈值,从评估时间窗口的时间序列数据中获得预测异常数据。
参照异常数据获得模块1922可用于根据评估时间窗口内的时间序列数据,对评估时间窗口内的各个时间点的数据进行异常检测,获得参照异常数据。
参照异常数据获得模块1922还可用于构造评估时间窗口内的时间序列数据的数据空间;将所数据空间通过随机超平面分割为多个子空间,多个子空间中的各个子空间仅包括一个时间点的数据;根据获得各个子空间时对所数据空间进行分割的次数,从各个子空间的数据中确定参照异常数据。
预测阈值覆盖指标获得模块1924可用于根据预测异常数据和参照异常数据获得预测阈值覆盖指标。
本公开实施例提供的装置中的各个模块的具体实现可以参照上述方法中的内容,此处不再赘述。
图20示出本公开实施例中一种电子设备的结构示意图。需要说明的是,图20示出的设备仅以计算机***为示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图20所示,设备2000包括中央处理单元(CPU)2001,其可以根据存储在只读存储器(ROM)2002中的程序或者从存储部分2008加载到随机访问存储器(RAM)2003中的程序而执行各种适当的动作和处理。在RAM 2003中,还存储有设备2000操作所需的各种程序和数据。CPU2001、ROM 2002以及RAM 2003通过总线2004彼此相连。输入/输出(I/O)接口2005也连接至总线2004。
以下部件连接至I/O接口2005:包括键盘、鼠标等的输入部分2006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分2007;包括硬盘等的存储部分2008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分2009。通信部分2009经由诸如因特网的网络执行通信处理。驱动器2010也根据需要连接至I/O接口2005。可拆卸介质2011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2010上,以便于从其上读出的计算机程序根据需要被安装入存储部分2008。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分2009从网络上被下载和安装,和/或从可拆卸介质2011被安装。在该计算机程序被中央处理单元(CPU)2001执行时,执行本公开的***中限定的上述功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括历史数据获取模块、当前数据预测模块、加权速率获取模块、指数权重获取模块和当前平滑值获得模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,历史数据获取模块还可以被描述为“从所连接的服务器中获取历史时间序列数据的模块”。
本公开实施例还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获取当前时间点之前的目标长度移动窗口内的历史时间序列数据;根据目标长度移动窗口内的历史时间序列数据获得当前时间点的预测数据;获取加权下降速率;根据加权下降速率确定当前时间点的预测数据和历史时间序列数据中各个历史时间点的历史数据的指数衰减权重;根据当前时间点的预测数据及其指数衰减权重,以及历史时间序列数据中各个历史时间点的历史数据及其指数衰减权重,获得当前时间点的平滑值;根据当前时间点的预测数据、目标长度移动窗口内的历史时间序列数据、加权下降速率与当前时间点的平滑值获得当前时间点的离散程度量;基于当前时间点的平滑值和当前时间点的离散程度量确定下一时间点的预测阈值,以用于对下一时间点的数据进行异常检测。
本公开实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (13)
1.一种时间序列数据异常检测方法,其特征在于,包括:
获取当前时间点之前的目标长度移动窗口内的历史时间序列数据;
根据所述目标长度移动窗口内的历史时间序列数据获得所述当前时间点的预测数据;
获取加权下降速率;
根据所述加权下降速率确定所述当前时间点的预测数据和所述历史时间序列数据中各个历史时间点的历史数据的指数衰减权重;
根据所述当前时间点的预测数据及其指数衰减权重,以及所述历史时间序列数据中各个历史时间点的历史数据及其指数衰减权重,获得所述当前时间点的平滑值;
根据所述当前时间点的预测数据、所述目标长度移动窗口内的历史时间序列数据、所述加权下降速率与所述当前时间点的平滑值获得所述当前时间点的离散程度量;
基于所述当前时间点的平滑值和所述当前时间点的离散程度量确定下一时间点的预测阈值,以用于对所述下一时间点的数据进行异常检测。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前时间点的预测数据及其指数衰减权重,以及所述历史时间序列数据中各个历史时间点的历史数据及其指数衰减权重,获得所述当前时间点的平滑值包括:
将所述历史时间序列数据中各个历史时间点的历史数据按照其指数衰减权重相加,获得上一时间点的平滑值;
根据所述加权下降速率将所述上一时间点的平滑值和所述当前时间点的预测数据加权相加,获得所述当前时间点的平滑值。
3.根据权利要求2所述的方法,其特征在于,所述根据所述加权下降速率将所述上一时间点的平滑值和所述当前时间点的预测数据加权相加,获得所述当前时间点的平滑值包括:
根据所述加权下降速率和所述目标长度移动窗口获得偏差修正系数;
根据所述加权下降速率和所述偏差修正系数,将所述上一时间点的平滑值和所述当前时间点的预测数据加权相加,获得所述当前时间点的平滑值。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标长度移动窗口内的历史时间序列数据获得所述当前时间点的预测数据包括:
根据所述目标长度移动窗口内的历史时间序列数据,采用移动平均法、或指数加权平均法、或插值法获得所述当前时间点的预测数据,其中:
所述移动平均法包括:
从所述目标长度移动窗口内的历史时间序列数据中选取目标数量的历史时间序列数据;
获得所述目标数量的历史时间序列数据的平均值作为所述当前时间点的预测数据;
所述指数加权平均法包括:
从所述目标长度移动窗口内的历史时间序列数据中获取上一时间点之前的历史时间序列数据;
根据所述上一时间点之前的历史时间序列数据获得所述上一时间点的平滑值;
将所述上一时间点的平滑值与所述上一时间点的数据加权相加获得所述当前时间点的预测数据;
所述插值法包括:
对所述目标长度移动窗口内的历史时间序列数据进行拟合,获得目标插值函数;
根据所述目标插值函数获得所述当前时间点的预测数据。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标长度移动窗口内的历史时间序列数据,采用移动平均法、或指数加权平均法、或插值法获得所述当前时间点的预测数据包括:
获取输入的数据预测方法,所述数据预测方法为所述移动平均法、所述指数加权平均法、所述插值法中的至少一种;
根据所述目标长度移动窗口内的历史时间序列数据,采用所述输入的数据预测方法获得所述当前时间点的预测数据。
6.根据权利要求1所述的方法,其特征在于,所述获取加权下降速率包括:
确定目标半衰期,所述目标半衰期为所述指数衰减权重按时间从后往前顺序累加至总权重的一半所需的时间单位;
根据所述目标半衰期获得所述加权下降速率。
7.根据权利要求1所述的方法,其特征在于,所述当前时间点的离散程度量包括所述当前时间点的标准差;
根据所述当前时间点的预测数据、所述目标长度移动窗口内的历史时间序列数据、所述加权下降速率与所述当前时间点的平滑值获得所述当前时间点的离散程度量包括:
分别获得所述目标长度移动窗口内的时间序列数据与所述当前时间点的平滑值的偏差;
将所述偏差求平方后按照对应时间点的所述指数衰减权重加权相加后求平方根,获得所述当前时间点的标准差。
8.根据权利要求7所述的方法,其特征在于,所述预测阈值包括预测上限;
所述基于所述当前时间点的平滑值和离散程度量获得下一时间点的预测阈值包括:
根据所述当前时间点获取区间预测参数;
将所述当前时间点的平滑值与所述区间预测参数与所述当前时间点的标准差的乘积相加,获得所述下一时间点的预测上限。
9.根据权利要求1所述的方法,其特征在于,还包括:
获取评估时间窗口的时间序列数据;
将所述评估时间窗口内的各个时间点作为所述当前时间点,获得其下一时间点的预测阈值;
根据所述评估时间窗口内的各个时间点的下一时间点的预测阈值,从所述评估时间窗口的时间序列数据中获得预测异常数据;
根据所述评估时间窗口内的时间序列数据,对所述评估时间窗口内的各个时间点的数据进行异常检测,获得参照异常数据;
根据所述预测异常数据和所述参照异常数据获得预测阈值覆盖指标。
10.根据权利要求8所述的方法,其特征在于,所述对所述评估时间窗口内的各个时间点的数据进行异常检测包括:
构造所述评估时间窗口内的时间序列数据的数据空间;
将所数据空间通过随机超平面分割为多个子空间,所述多个子空间中的各个子空间仅包括一个时间点的数据;
根据获得所述各个子空间时对所数据空间进行分割的次数,从所述各个子空间的数据中确定所述参照异常数据。
11.一种时间序列数据异常检测装置,其特征在于,包括:
历史数据获取模块,用于获取当前时间点之前的目标长度移动窗口内的历史时间序列数据;
当前数据预测模块,用于根据所述目标长度移动窗口内的历史时间序列数据获得所述当前时间点的预测数据;
加权速率获取模块,用于获取加权下降速率;
指数权重获取模块,用于根据所述加权下降速率确定所述当前时间点的预测数据和所述历史时间序列数据中各个历史时间点的历史数据的指数衰减权重;
当前平滑值获得模块,用于根据所述当前时间点的预测数据及其指数衰减权重,以及所述历史时间序列数据中各个历史时间点的历史数据及其指数衰减权重,获得所述当前时间点的平滑值;
当前离散量获取模块,用于根据所述当前时间点的预测数据、所述目标长度移动窗口内的历史时间序列数据、所述加权下降速率与所述当前时间点的平滑值获得所述当前时间点的离散程度量;
阈值预测模块,用于基于所述当前时间点的平滑值和所述当前时间点的离散程度量确定下一时间点的预测阈值,以用于对所述下一时间点的数据进行异常检测。
12.一种电子设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其特征在于,所述处理器执行所述可执行指令时实现如权利要求1-10任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110103814.8A CN113570396A (zh) | 2021-01-26 | 2021-01-26 | 时间序列数据异常检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110103814.8A CN113570396A (zh) | 2021-01-26 | 2021-01-26 | 时间序列数据异常检测方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113570396A true CN113570396A (zh) | 2021-10-29 |
Family
ID=78160969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110103814.8A Pending CN113570396A (zh) | 2021-01-26 | 2021-01-26 | 时间序列数据异常检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113570396A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114297454A (zh) * | 2021-12-30 | 2022-04-08 | 医渡云(北京)技术有限公司 | 特征的离散化方法、装置、电子设备及计算机可读介质 |
CN114978956A (zh) * | 2022-04-11 | 2022-08-30 | 北京邮电大学 | 智慧城市网络设备性能异常突变点检测方法及装置 |
CN115600932A (zh) * | 2022-12-12 | 2023-01-13 | 杭州原数科技有限公司(Cn) | 一种基于大数据的文物储藏环境异常评估方法 |
CN117310118A (zh) * | 2023-11-28 | 2023-12-29 | 济南中安数码科技有限公司 | 一种地下水污染可视化监测方法 |
CN117390585A (zh) * | 2023-12-12 | 2024-01-12 | 之江实验室 | 基于三维全连接融合的时序数据预测方法及模型训练方法 |
CN117459398A (zh) * | 2023-10-10 | 2024-01-26 | 山东广日数字科技有限公司 | 一种基于物联网的数据处理方法、数据处理装置及电梯 |
CN117475633A (zh) * | 2023-11-07 | 2024-01-30 | 西南交通大学 | 一种面向事件的交通流量预测方法及装置 |
CN117572137A (zh) * | 2024-01-17 | 2024-02-20 | 山东海纳智能装备科技股份有限公司 | 一种七电平anpc高压变频器远程监测*** |
CN117858319A (zh) * | 2024-02-21 | 2024-04-09 | 南京信大安全应急管理研究院有限公司 | 一种应急照明装置 |
-
2021
- 2021-01-26 CN CN202110103814.8A patent/CN113570396A/zh active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114297454A (zh) * | 2021-12-30 | 2022-04-08 | 医渡云(北京)技术有限公司 | 特征的离散化方法、装置、电子设备及计算机可读介质 |
CN114978956B (zh) * | 2022-04-11 | 2024-04-09 | 北京邮电大学 | 智慧城市网络设备性能异常突变点检测方法及装置 |
CN114978956A (zh) * | 2022-04-11 | 2022-08-30 | 北京邮电大学 | 智慧城市网络设备性能异常突变点检测方法及装置 |
CN115600932A (zh) * | 2022-12-12 | 2023-01-13 | 杭州原数科技有限公司(Cn) | 一种基于大数据的文物储藏环境异常评估方法 |
CN117459398A (zh) * | 2023-10-10 | 2024-01-26 | 山东广日数字科技有限公司 | 一种基于物联网的数据处理方法、数据处理装置及电梯 |
CN117459398B (zh) * | 2023-10-10 | 2024-05-31 | 山东广日数字科技有限公司 | 一种基于物联网的数据处理方法、数据处理装置及电梯 |
CN117475633A (zh) * | 2023-11-07 | 2024-01-30 | 西南交通大学 | 一种面向事件的交通流量预测方法及装置 |
CN117475633B (zh) * | 2023-11-07 | 2024-05-28 | 西南交通大学 | 一种面向事件的交通流量预测方法及装置 |
CN117310118A (zh) * | 2023-11-28 | 2023-12-29 | 济南中安数码科技有限公司 | 一种地下水污染可视化监测方法 |
CN117310118B (zh) * | 2023-11-28 | 2024-03-08 | 济南中安数码科技有限公司 | 一种地下水污染可视化监测方法 |
CN117390585A (zh) * | 2023-12-12 | 2024-01-12 | 之江实验室 | 基于三维全连接融合的时序数据预测方法及模型训练方法 |
CN117390585B (zh) * | 2023-12-12 | 2024-03-22 | 之江实验室 | 基于三维全连接融合的时序数据预测方法及模型训练方法 |
CN117572137B (zh) * | 2024-01-17 | 2024-03-29 | 山东海纳智能装备科技股份有限公司 | 一种七电平anpc高压变频器远程监测*** |
CN117572137A (zh) * | 2024-01-17 | 2024-02-20 | 山东海纳智能装备科技股份有限公司 | 一种七电平anpc高压变频器远程监测*** |
CN117858319A (zh) * | 2024-02-21 | 2024-04-09 | 南京信大安全应急管理研究院有限公司 | 一种应急照明装置 |
CN117858319B (zh) * | 2024-02-21 | 2024-06-11 | 南京信大安全应急管理研究院有限公司 | 一种应急照明装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113570396A (zh) | 时间序列数据异常检测方法、装置、设备及存储介质 | |
US8751436B2 (en) | Analyzing data quality | |
US9595006B2 (en) | Detecting electricity theft via meter tampering using statistical methods | |
CN111368980B (zh) | 状态检测方法、装置、设备及存储介质 | |
WO2020257782A1 (en) | Factory risk estimation using historical inspection data | |
US11783338B2 (en) | Systems and methods for outlier detection of transactions | |
CN113837596B (zh) | 一种故障确定方法、装置、电子设备及存储介质 | |
WO2023134188A1 (zh) | 指标确定方法、装置、电子设备和计算机可读介质 | |
Zounemat-Kermani | Investigating chaos and nonlinear forecasting in short term and mid-term river discharge | |
CN116034379A (zh) | 使用深度学***测量 | |
CN116203352A (zh) | 一种配电网的故障预警方法、装置、设备及介质 | |
CN114187009A (zh) | 交易风险预测模型的特征解释方法、装置、设备及介质 | |
JP4777941B2 (ja) | 需要予測方法および装置 | |
CN115689331A (zh) | 一种基于mlp的输变电工程量合理性分析方法 | |
CN115293735A (zh) | 一种无人工厂工业互联网平台监测管理方法及*** | |
CN115062687A (zh) | 企业信用监控方法、装置、设备及存储介质 | |
CN112988536A (zh) | 一种数据异常检测方法、装置、设备及存储介质 | |
CN113434713B (zh) | 一种基于一张图的林业大数据建设方法及*** | |
US20240113936A1 (en) | Method and system for artificial intelligence-based acceleration of zero-touch processing | |
US20240020436A1 (en) | Automated data quality monitoring and data governance using statistical models | |
CN117973627A (zh) | 数据预测方法、装置、设备、存储介质及程序产品 | |
CN117744033A (zh) | 数据波动预警方法、装置、非易失性存储介质及电子设备 | |
CN118279059A (zh) | 数据推送方法、装置和设备 | |
CN115496393A (zh) | 异常检测方法、装置、电子设备和计算机可读介质 | |
CN118227401A (zh) | 一种异常检测方法、装置、电子设备及计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40055188 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |