基于分段正交多项式分解的时序数据最近邻分类方法【
技术领域:
】[0001]本发明涉及数据库、数据挖掘、机器学习、信息检索等领域,尤其涉及时间序列数据分析和挖掘。【
背景技术:
】[0002]时间序列广泛存在于人们的日常生活及工业生产中,如基金或股票的实时交易数据,零售市场的日销量数据,流程工业的传感器监测数据,天文观测数据,航空航天雷达、卫星监测数据,实时天气温度及空气质量指数等。为了充分利用海量的时序数据,工业界通常需要对其做分类处理,才能从中发现有价值的信息和知识。因此,时间序列分类方法在工业界有着广泛的应用需求。[0003]目前,工业界常用的分类器有人工神经网络、支持向量机、朴素贝叶斯分类器、最近邻分类器等。人工神经网络是由大量处理单元互联组成的非线性模型,通过调整内部节点的互联关系,分析掌握输入输出数据之间的潜在规律,实现为新数据推算结果。该方法具有较强的自学习和自适应能力,但缺少对推理过程的解释能力。支持向量机是在高维空间中寻找一个最优超平面,在保证分类精度的前提下,使超平面两侧的空白间距最大化。理论上支持向量机可对线性可分数据做最优划分,但是却只能处理二分类问题。朴素贝叶斯分类器是基于贝叶斯公式,利用对象的先验概率计算其所属类别的后验概率而实现分类。虽然该方法的理论简单,操作性较强,但是要保证较高的准确度,需要采用大规模训练集训练模型。最近邻分类器是一种基于距离度量的方法,它通过在训练集中查找与分类对象距离最小的近邻实现分类。该分类方法不仅具有很好的可解释性和易操作性,而且无需训练数据模型,即具有很强的灵活性和数据适应性。由于最近邻分类器以距离度量函数作为内核,所以它对时间序列数据的分类精度和效率完全由时间序列距离度量方法决定。[0004]目前工业界常用的时间序列距离度量方法可分为锁步度量方法和弹性度量方法。前者采用了一对一的度量方式,即时间序列1\和T2之间的距离是通过严格比较T:和T2在各自第i个位置的点对,再累加所有点对的距离得到。该类方法最常见的有曼哈顿距离、欧氏距离和切比雪夫距离,它们都是Lp-n〇rms距离在p取不同值时的特例。该类方法具有易实现、计算复杂度低、满足距离三角不等式、无参等优点;但是,其度量精度对噪声、异常点、幅值伸缩和漂移、相位偏移等非常敏感,并且只能用于度量等长的时间序列。弹性度量方法采用了一对多的度量方式,即时间序列T1的一个点可以与T2的多个连续点相对应,通过动态规划方法遍历1\和T2的所有点对之间的距离。该类方法最常见的有动态时间弯曲距离(DTW)和编辑距离的变种(如LCSS、EDR、ERP)等。与锁步度量相比,弹性度量能够实现两条时间序列的最佳对齐匹配,可以有效处理时间弯曲、相位偏移、幅值伸缩和漂移等基本形态变化,对噪声和异常点具有鲁棒性,因此,弹性度量具有较高的度量精度。但是,该类方法具有较高的计算复杂度,当度量高维的时间序列时会导致高昂的时间开销,难以在工业生产中处理大规模的时间序列或高速的动态数据流。[0005]基于时间序列的特征计算弹性度量是改进其高计算复杂度的一种有效方法,即首先采用数据表示方法将原始时间序列映射到低维的特征空间,然后进行弹性度量。目前工业界常用的数据表示方法可分为非数据适应性方法和数据适应性方法。对于前者,变换参数不受单独的时间序列影响,而始终保持不变;该类表示大多基于频谱分解实现,如离散傅里叶变换、离散小波变换、离散余弦变换,它们主要通过对原始时间序列做相应的频域变换,提取主要的频谱系数作为特征;该类方法各有缺陷,如离散傅里叶变换只能提取总体形态特征而忽略了局部特征,离散小波变换只能处理长度为2的指数次的时间序列,离散余弦变换的信息丢失较多,对原始数据的重构误差较大。数据适应性表示是指对变换参数的确定需要依赖数据本身;通过增加数据敏感的选择处理过程,可以把大部分非数据适应性方法变为数据适应性方法。该类方法有分段聚集近似、分段线性近似、符号化聚集近似、奇异值分解、主成分分析等,前三种都需要先对原始时间序列进行分段,然后对每一子段单独处理:分段聚集近似是对各段求平均值;分段线性近似是对各段做线段拟合;符号化聚集近似是在分段聚集近似基础上将每段平均值离散化为符号;由于它们所提取的特征较为单一,使其对时间序列波动模式的表达能力较弱。奇异值分解和主成分分析是通过对所有时间序列做统一的特征矩阵分解实现的;这两类方法的典型缺陷是,它们具有很高的计算复杂度,而且分解过程只能在内存完成,数据规模的可扩展性很低。【
发明内容】[0006]本发明要解决的问题是如何准确高效地分类时间序列。为了解决该问题,本发明提出了基于分段正交多项式分解的时序数据最近邻分类方法。[0007]本发明的目的是通过以下技术方案实现的:一种基于分段正交多项式分解的时序数据最近邻分类方法,包括以下步骤:[0008](1)自适应性分段,具体包括以下子步骤:[0009](I.1)依次读取数据库的每条时间序列T;[0010](1.2)对时间序列T做Z-规范化处理,得到规范化的时间序列T';[0011](1.3)对规范化的时间序列T'做移动平滑处理,得到平滑时间序列T";[0012](1.4)基于滑动窗口依次截取T"的相邻3点,并计算平均值,通过判断各点与平均值的大小关系对其编码,得到T的编码序列Ct,并定义转折模式表TP_table;[0013](1.5)顺序扫描Ct,对每对相邻编码组合查询TP_table中的转折模式,如果模式匹配,则将该编码组合所在位置作为分段点;[0014](1.6)扫描完毕,将T分为N段子序列,得到子序列集合S=;[0015](2)因式分解,具体包括以下子步骤:[0016](2.1)依次读取T的每条子序列Si;[0017](2.2)采用第一类切比雪夫多项式分解Si,计算前a个多项式系数Ci,构造子序列特征向量Vi=[cc2,...,cj;[0018](2.3)扫描完毕,得到T的分段切比雪夫近似表示PCHA⑴=IV1,...,VN},并存入数据库;[0019](3)最近邻分类,具体包括以下子步骤:[0020](3.1)读取测试集中切分为M段子序列的时间序列Q的分段切比雪夫近似表示PCHA(Q)=IV1,…,VJ;[0021](3.2)依次读取训练集的每条时间序列T的分段切比雪夫近似表示PCHA⑴={V,i,…,V,J;[0022](3.3)初始化动态规划表Table=cell(M,N);[0023](3.4)依次计算PCHA(Q)的第1个子序列特征向量PCHA⑴的N个子序列特征向量V'V'1<之间的规范化距离{dist(Vi,V'D,...,dist(V1,V'N)},并存入Table的第1行Table(1,I:N);[0024](3.5)依次计当前第1页1 2