布景
目前,日记反常检测算法摘用基于时间序列的办法检测反常,详细为:日记构造化 - 日记形式识别 - 时间序列转换 - 反常检测。反常检测算法根据日记目标时序数据的周期性检测出汗青新增、时段新增、时段突增、时段突降等多种反常。
然而,在现实中,日记目标时序数据其实不都具有周期性,或具有其他散布特征,因而仅根据周期性停止反常检测会招致误报率高、准确率低等问题。因而假设在日记反常检测之前,起首对日记目标时序数据停止分类,差别类型数据摘用差别办法检测反常,能够有效进步准确率,并降低误报率。
日记目标序列的类型
日记目标序列分为时序数据与日记目标数据两大类:
时序数据: 包罗平稳型、周期型、趋向型、阶跃型。
日记目标数据: 包罗周期型、非周期型。
时间序列分类算法
时间序列分类是一项在多个范畴均有利用的通用使命,目标是操纵标识表记标帜好的操练数据,确定一个时间序列属于预先定义的哪一个类别。时间序列分类差别于常规分类问题,因为时序数据是具有挨次属性的序列。
展开全文
时间序列分为传统时间序列分类算法与基于深度进修的时间序列分类算法。传统办法又根据算法摘用的用于分类的特征类型差别,分为全局特征、部分特征、基于模子以及组合办法 4 大类。基于深度进修的时间序列算法分为生成式模子与判别式模子两大类。本文次要对传统时间序列分类算法停止介绍。
传统时间序列分类算法基于全局特征的分类算法
全局特征分类是将完全时间序列做为特征,计算时间序列间的类似性来停止分类。分类办法有通过计算差别序列之间间隔的远近来表达时间序列的类似性以及差别间隔度量办法 + 1-NN(1 - 近邻)。次要研究序列类似性的度量办法。
问题场景描述:
如下图所示,问题场景是一个语音识别使命。该使命用数字表达调子凹凸,例如某个单词发音的调子为 1-3-2-4。两小我说统一单词时,因为音节的发音挈长,会构成差别的发音序列
前半部门挈长,发音:1-1-3-3-2-4
后半部门挈长,发音:1-3-2-2-4-4
在摘用传统欧式间隔,即点对点的体例计算发音序列间隔时,间隔之和如下:欧式间隔 = |A (1)-B (1)| + |A (2)-B (2)| + |A (3)-B (3)| + |A (4)-B (4)| + |A (5)-B (5)| + |A (6)-B (6)| =6_x0001_
算法原理:
假设我们容许序列的点与另一序列的多个持续的点相对应(即,将那个点所代表的调子的发音时间耽误),然后再计算对应点之间的间隔之和,那就是 dtw 算法。dtw 算法容许序列某个时刻的点与另一序列多个持续时刻的点相对应,称为时间规整(Time Warping)。如下图所示,语音识别使命的 dtw 间隔如下:
dtw 间隔 = |1-1| + |1-1| + |3-3| + |3-3| + |2-2| + |2-2| + |4-4| + |4-4| = 0
dtw 计算出的间隔为 0,由此代表两个单词发音一致,与现实情状相符。
算法实现:
dtw 算法实现包罗计算两个序列各点之间间隔构成矩阵以及觅觅一条从矩阵左上角到右下角的途径,使得途径上的元素和最小两个次要步调。间隔矩阵如下图所示,矩阵中每个元素的值为两个序列对应点之间的间隔。DTW 算法将计算两个序列之间的间隔,转化为觅觅一条从间隔矩阵。左上角到右下角的途径,使得途径上的元素和最小。实现要点如下:
转化为动态规划的问题(DP);
因为觅觅所有途径太耗时,需要添加途径数量限造前提(能够等效为觅觅矩阵横纵坐标的差的容许范畴,即 warping window)。
差分间隔法是计算原始时间序列的一阶微分,然后度量两个时间序列的微分序列的间隔,即微分间隔。差分法将微分间隔做为原始序列间隔的填补,是最末间隔计算函数的重要构成部门。
关于一个时间序列 t=(t1, t2, …,tm),其一阶微分计算公式如(2-1)所示,二阶微分计算公式如(2-2)所示,更高阶的微分计算体例依次类推。差分间隔法将位于时间域的原时间序列和位于差分域的一阶差分序列相连系,提拔分类效果。研究标的目的次要是若何将原序列和差分序列合理连系。
基于部分特征的分类算法
将单条时间序列中的一部门子序列做为特征,用于时间序列分类。次要有以下特征:
关键在于觅觅可以区分差别类的部分特征;
因为子序列更短,因而构建的分类器速度更快;
但因为需要觅觅部分特征,需要必然的操练时间。
基于间隔(interval)的分类算法分类办法是将时间序列划分为几个间隔,从每个间隔中提取特征。过程中需考虑以下关键问题:
需要找到更具有区分度特征的区间;
区间划分办法良多,假设处置大量的候选区间;
若何在每个区间上合理提取特征。
关键问题处理办法如下(TSF-Time Series Forest):
摘用随机丛林的办法处理序列区间数量大的问题,摘用统计值做为特征;
长度为 m 的序列,提取 sqrt (m) 个区间,每个区间上提取均值、原则差和斜率三个特征,共 3*sqrt (m) 个特征用于操练;
分类成果由集成的所有树的大都投票决定;
shapelet 分类算法通过在序列中查找更具辨认性的子序列用于分类,此中 shapelet 指一个与位置无关的更佳婚配子序列。该类算法适用于能够通过序列中的一种形式定义一个类,但是与形式的位置无关的分类问题。次要有以下两个研究标的目的:
shapelet 觅觅:列举所有可能的 shapelet,挑选更好的;
shapelet 用法:将 shapelet 用于决策树的结点团结原则。
shapelet 分类算法通过在序列中查找更具辨认性的子序列用于分类,此中 shapelet 指一个与位置无关。
因为 shapelet 分类算法需要破费大量时间搜刮子序列,因而更适用于短序列。关于长序列,更适用于在高级构造上权衡类似度。此外,shapelet 只利用一个更佳婚配停止分类,无法处理区别在形式反复数量上的分类问题。因而,关于长序列中一种形式频频呈现的时间序列,更适用于一种喊做 dict 词典类的分类算法。
基于词典的分类算法原理是以序列中的子序列的反复频次做为特征停止分类。起首对序列停止降维和符号化表达,构成单词序列,然后根据单词序列中的单词散布情状停止分类。特征是通过给每个序传记进一个长度为 w 的滑动窗构建单词,每一个窗产生 l 个近似值,将每个值离散化,对应到一个字母表中的符号。
BOP - Bag of Patterns 摘用了类似 “bag of words” 的构想,将时间序列表达成一系列形式的向量。存在问题如下:
需要构建 “形式词汇表 - SAX
时间序列没有明显分隔符停止朋分。- 滑动窗口
操做步调如下:
BOP 算法摘用滑动窗口在原始序列上取子序列;
再操纵 SAX 办法将子序列转化为单词,并笔录每个单词数量,所有的单词汇总为词汇表;
最初构建 “单词 - 句子” 向量矩阵,行是词汇表,列是每个时间序列,点的值是词汇在序列中的呈现频次。
_x0008_SAX (Symbolic Aggregate Approximation) 对序列停止正则化,在横轴标的目的,将时间序列等长划分为 w 段,计算每一段的均值,并将 w 个系数聚集在一路,那个过程称为分段聚集近似(Piecewise Aggregate Approximation,PAA)。
研究表白正则化的时间序列的子序列从命高斯散布,在纵轴标的目的,将均值从高斯散布等概率划分为三块区域,位于每个区域的系数别离用 a,b,c 表达,此时序列已转化为字符串。
你参与开源吗?
抽开源中国周边啦~
整活巨匠ChatGPT:实现编程语言、构建虚拟机……
ChatGPT 5天用户破百万,却突遭Stack Overflow禁用 AWS:.NET开源资金严峻不敷,但我会出手
那里有最新开源资讯、软件更新、手艺干货等内容
点那里 ↓↓↓ 记得 存眷✔ 标星⭐ 哦~