2. 解放军63850部队 水文装备试验站, 烟台 264100
2. Hydrologic Equipment Testing Station, No. 63850 Troops of PLA, Yantai 264100, China
借由数据集合内在模式的提取、内涵知识的挖掘形成有价值的信息, 以用于分析、评估、预测和控制, 是目前大数据和人工智能领域的主要研究内容之一[1,2]. 当根据应用场景和数据特点对数据进行处理时, 若从时间纬度进行考察, 可分为: ① 无时序要求, 即数据本身是一种事物性逻辑关联关系而非时间序列, 或者数据为时间序列其处理应用无时序要求[3,4]; ② 严时序要求, 即数据本身为时间序列, 对其处理是利用历史时间序列分析实现对紧随其后的预测、控制等[5,6]; ③ 介于二者之间, 数据本身包含时间序列集和非时间序列集, 通过对其处理以用于未来[7,8]. 第三种数据集具有普遍性, 应用于各种领域[9,10]. 第一种数据集也可按照数据收集的时间戳构建成时序序列结构[11], 以用于描述所代表事物的演进过程.
通过实时演进的数据序列集的分析处理实现对事物未来行为的预测是数据分析的主要目的之一. 基于数据挖掘的行为预测, 从整个处理流程来看, 要实现从序列的建模、分割、相似性度量与搜索、聚类与分类、在线模式匹配, 到最终的预测决策. 目前的研究主要集中在序列的分割[12,13], 相似性搜索[14], 相似性度量[15], 序列的建模、聚类和分类[16–20]等方面, 侧重于单一方法的性能提升, 对融合整个流程以提升预测性能需要深入研究. 文献[21,22]介绍了一类模式挖掘方法, 主要用于从数据库中提取频繁出现的特定模式以找出数据的某种特性, 为静态分析, 对实时演化的时间序列集的行为预测缺乏论述. 文献[23]试图通过序列的模糊比对实现预测, 但参入比对的序列为现时子序列, 现时子序列如何延展到未来时刻没有分析. 文献 [24,25] 给出了多尺度融合的数据挖掘方法, 但对挖掘后的预测没有做进一步的研究. 文献[26]给出了对复杂系统数据挖掘分层建模的方法, 其所构建的模型对历史数据的拟合很好, 但是其预测效果并没有定量给出. 目前实用的时间序列预测方法为传统的ARIMA类方法, 但在非平稳条件及混沌情况下, 性能下降.
综上所述, 通过数据挖掘的方法可以对实时演进数据序列集在特定情况下的未来行为作预测, 但应当在模式提取时加入预测的考量. 若仅基于在数据中找相似点、聚类, 然后比对预测, 缺乏指向性. 再则, 要实现预测, 未来数据不可获取, 只有当下数据和历史数据, 而复杂事物的非平稳性、突变性, 使得当下子序列与模式的匹配, 并不能够说明未来的情形, 需要在序列分割、模式提取和在线匹配识别时向前延展. 鉴于此, 本文以实时演进数据集为对象, 通过融合处理, 提出了一种基于多时间粒度分层分割、模式提取、主题发现与联合决策的预测方法.
1 序列建模与模式提取现实世界中所观测录取的数据是客观事物行为的记录和关联因子的描述. 构建数据序列集
R受到各种因素的作用, 其数据随机性、确定性并存, 如金融经济数据、海洋气象数据、战场数据等. 可以认为R受到宏观基本规律的约束、当下现实因素的作用、微观层次的扰动以及外部稀疏的偶然性冲击. 根据以上推论, R在某一时刻的最终行为可以认为是由以上四方面共同作用决定, 则如果由数据序列集
以多元时间序列
$\left\{ {\begin{aligned}& {{x_i}(n{T_A}) = \left\{ {{x_i}(n{T_z})} \right\}({T_z} > {T_B})} \\ & {{x_i}(n{T_B}) = \left\{ {{x_i}(n{T_z})} \right\}({T_z} \approx {T_B})} \\ & {{x_i}(n{T_C}) = \left\{ {{x_i}(n{T_z})} \right\}({T_z} < {T_B})} \end{aligned}} \right.$ | (1) |
若记录数据只有一种固定采样率的序列
从序列
设
算法1. 序列分割算法
1) 从集合X中输入待分割序列样本
2) 令
3) 根据
4) 令
5) 滑动截取窗向前步进L, 截取
6) 令
7) 令
8) 合并截取集
9) 返回第1)步, 输入下一个待分割序列样本.
以海洋数据集为例, 不同海区的水温序列总集可看做
序列集合
${{{s}}_k} = {{{\Gamma }}_p} + \varepsilon \;\;\left( {p \in [1,P]} \right)$ | (2) |
其中,
设
$d({{{s}}_i},{{{s}}_j}) = {d_0}({{{s}}_{i,1}},{{{s}}_{j,1}}) + \min \left\{ \begin{aligned}&d({{{s}}_i},{{{s}}_j}[2:{N_j}])\\&d({{{s}}_i}[2:{N_i}],{{{s}}_j})\\&d({{{s}}_i}[2:{N_i}],{{{s}}_j}[2:{N_j}])\end{aligned} \right.$ | (3) |
其中,
对分割得到的子序列集合
对
根据
对于R而言, 可知的是
${{{m}}_m} = < {{\Gamma }}_A^{{p_A}},{{\Gamma }}_B^{{p_B}},{{\Gamma }}_C^{{p_C}},{{e}}_U^{{p_U}},{{e}}_V^{{p_V}} > $ | (4) |
其中,
第一步: 对于
第二步: 根据R预测要求, 以二元决策(H0, H1)为例(天气预报的下雨、不下雨, 证券价格的涨跌等; 对于非二元决策, 可以进行预测区间离散化处理, 形成一个多元决策问题, 处理方式一致), 统计当出现
第三步: 计算决策
$\left\{ \begin{aligned}&\eta ({{\rm{H}}_{\rm{0}}}/{{{m}}_m}) = \frac{{{{f'}_0}({{{m}}_m})}}{{f({{{m}}_m})}} \times 100\% \\&\eta ({{\rm{H}}_1}/{{{m}}_m}) = \frac{{{{f'}_1}({{{m}}_m})}}{{f({{{m}}_m})}} \times 100\% \end{aligned} \right.$ | (5) |
设定正确率门限
对于实时演进的系列集R而言, 现时刻为
根据前述处理
以余集
(1) 主题发现预测
先不考虑孤立事件影响, 根据所挖掘的主题模式
分析2.1节利用历史数据挖掘主题模式的过程, 及这种在线匹配、主题发现预测的策略, 可知其为低频度模式. 鉴于此, 制定主题发现预测方法的补充策略, 即联合决策预测.
(2) 联合决策预测
联合决策预测策略为对
第一步: 根据DTW距离度量, 根据KNN法对
第二步: 以二元决策
${P_f}({{\rm{H}}_{\rm{0}}}/{{A}},{{B}},{{C}}) = \frac{{{P_{f1}}}}{{{P_{f1}} + {P_{f2}}}}$ | (6) |
其中,
实际的预测要求是在本层(B层)时间粒度上对
$\left\{ \begin{aligned}&\forall {P_f}({{\rm{H}}_{\rm{0}}}) \ge 0.5,{P_f}({\rm{A}}) + {P_f}({\rm{C}}) \ge 1\\&\exists {P_f}({{\rm{H}}_{\rm{0}}}{\rm{/A}},{\rm{B}},{\rm{C}}) \ge {P_f}({\rm{B}})\end{aligned} \right.$ | (7) |
考察公式(7), 假设序列总体上呈现随机漫步, 毫无偏向, 则
综合两种预测策略, 设计下面的整体预测方案:
算法2. 整体预测方案
1) 经历史数据处理得到标准模式库
2) 获取聚类分析后的余集
3) 以当前时刻
4) 采用DTW距离度量, 根据KNN法对
前演进后的下一时刻的处理. 若匹配上, 即
5) 若
6) 联合决策预测:设定匹配百分比参数
注: 若存在孤立事件的冲击, 则通过历史对照的方法, 加入模式匹配中.
3 系统实现与实例分析基于上述模型构建与算法设计, 在计算机系统上予以实现并选取实例进行效果分析.
3.1 系统实现前述模型与算法中, 变跨度滑窗子序列截取、DTW距离计算、相似性搜素、K-mean法聚类分析和KNN分类等, 计算量都较大, 为了更好的从历史数据序列中提取模式, 需尽可能的采用较长的时间序列, 从而造成计算量急剧上升. 在线匹配预测, 其计算量要小于模式提取的过程. 鉴于此, 采用分布式并行处理架构, 如图2所示.
整个系统由A、B两个子系统组成. A系统采取外部云计算托管; B系统在线监控实时处理, 由N个并行计算节点组成. 软件设计采用Python语言粘合MPI并行编程环境的方式. 以Python编制数据端口, 将数据导入分发, 一份为模式提取全时长数据库, 一份为在线数据片集. 将模式提取并行计算程序布置在外部云系统上, 在全时长数据库上进行提取操作, 维持一个标准模式库并进行主题模式的挖掘, 所得到的模式库发往B系统. 在本地并行计算机系统上布置在线匹配预测的并行计算程序, 将模式库与在线数据片集结合, 根据数据序列的驱动, 实时更新处理. 累积一定时间, 在A系统上重新启动模式提取处理, 监测R是否会演化, 出现新的标准模式或者主题模式则更新模式库, 并发往B系统.
3.2 实例分析本文目的是构建一种通用的处理架构, 主要面向气象海洋数据、战场数据以及经济金融数据. 出于数据获取便利性的考虑, 下面以石油期货相关数据为例进行算法验证.
试验数据: NYMEX原油期货主力合约数据(2002.1.1至2016.1.1, 取其年月周日分的价格序列的开盘价、收盘价、最高价、最低价、相关的宏观经济数据以及关联国际事件), 2002.1.1–2012.1.1为模式提取数据区间, 2012.1.2–2016.1.1为模拟预测处理数据区间.
经处理, A层时间粒度取为6T(T代表一日)、B层为T、C层为2个小时, 以B层日预测为目标, 预测日线上T+n日价格行为(本文取T+2日的预测). 匹配百分比
主题模式挖掘中组合模式
图4为, 组合模式
根据图3、图4的统计, 取出现频数较高、对H0预测正确概率较高的组合模式作为主题模式
根据上述结果, 定义: F1, 主题发现式预测; F2, 联合决策式预测; F3, 传统的基于日线的ARIMA预测; F4, 日线子序列模式匹配预测; F5, 分层小波分解预测, 对5种方法的预测性能进行比较. 其中, F5为将日线通过小波变换, 分解为表示宏观的和表示细节的部分, 在每层上分别用ARIMA递推, 再相加的方式进行. 模拟预测数据区间为2012.1.2-2016.1.1共计4年.
F1: 抽取
由表1可发现, F1相比其他方法有较高的正确率, 说明经过主题模式挖掘, 某些特定的复合模式出现时, 其后续的行为十分稳定, 用之预测有较高的准确率. 但是其中预测最准确且复现频率排序前30%的主题模式出现的频率也只有年平均18.3次, 十分稀疏.
F2: 通过在线分层匹配处理, 当均匹配上时, 启动决策. 若“同时指示”H0或H1, 则取此指示为决策, 统计正误; 否则放弃. 同步记录F3、F4、F5的预测结果. 其决策的统计结果如表2所示.
根据表2结果, F2也比F3、F4、F5准确率要高, 但是其复现频率也不高, 年平均出现49.5次, 且联合决策的放弃数也较高. 将F1、F2结合, 按照前述算法2的流程进行在线监测, 可以提高可预测的频数.
综合言之, 准确性的提高得益于特定模式的挖掘和联合判断, 但这种处理同时注定了在线处理时, 只能等待序列在实时演进过程中呈现出此模式近似态时才可进行决策. 考察实际应用场景, 这种新的预测方法具有意义(如在投资决策中, 当机会出现时再投入显然比贸然介入更有利; 在海洋水文参数与作战场景呈现某种特定态势时, 作出未来态势推断并付诸行动比较适宜), 而常规的时时刻刻做未来预测的准确性值得警惕.
4 结束语复杂事物行为的数据序列集, 变化复杂、序列前后时刻存在逻辑上的不确定性、且概率分布未知、具有混沌突变性. 在实时演进过程中, 其平稳运行与突然变化相互杂交, 无法实时推断下一时刻会发生什么. 但是某些模式或会反复出现. 当在监测过程中, 这些特殊形态显现大部的时候, 其后续有较大概率按照此模式运行. 文中根据事物影响因子的宏微观特性, 将序列集通过多时间粒度和跨度的分层分割, 提取代表各层特性的标准模式集, 再挖掘具有稳定延展表现的主体模式, 构建出主题模式在线匹配和联合决策的预测方法. 此方法与传统的几种序列预测方法相比, 具有较高的预测准确性, 但是在线复现率不高. 如果对算法中的部分门限和参数进行放宽处理, 则可以提高频数, 但是预测准确性可能降低. 准确率、复现率与门限和参数的对应关系、折中处理等, 需要结合具体应用场景作进一步研究.
[1] |
Lynch C, Goldston D, Howe D, et al. Big data: Science in the petabyte era. Nature, 2008, 455(7209): 1-136. DOI:10.1038/455001a |
[2] |
Los W, Wood J. Dealing with data: Upgrading Infrastructure. Science, 2011, 331(6024): 1515-1516. |
[3] |
梁吉业, 钱宇华, 李德玉, 等. 大数据挖掘的粒计算理论与方法. 中国科学: 信息科学, 2015, 45(11): 1355-1369. |
[4] |
Aghabozorgi S, Shirkhorshidi AS, Wah TY. Time-series clustering—a decade review. Information Systems, 2015, 53: 16-38. DOI:10.1016/j.is.2015.04.007 |
[5] |
陈宁, 薛禹胜, 丁杰, 等. 风速时间序列的符号化描述. 电力系统自动化, 2017, 41(11): 33-38. DOI:10.7500/AEPS20170109003 |
[6] |
李建林, 籍天明, 孔令达, 等. 光伏发电数据挖掘中的跨度选取. 电工技术学报, 2015, 30(14): 450-456. DOI:10.3969/j.issn.1000-6753.2015.14.060 |
[7] |
Nunes SA, Romani LAS, Avila AMH, et al. Finding spatio-temporal Patterns in multidimensional data streams. Journal of Information and Data Management, 2013, 4(3): 327-340. |
[8] |
李德仁, 张良培, 夏桂松. 遥感大数据自动分析与数据挖掘. 测绘学报, 2014, 43(12): 1211-1216. |
[9] |
李清泉. 从Geomatics到Urban Informatics. 武汉大学学报•信息科学版, 2017, 42(1): 1-6. |
[10] |
Chang XM, Chen BY, Li QQ, et al. Estimating real-time traffic carbon dioxide emissions based on intelligent transportation system technologies. IEEE Transactions on Intelligent Transportation System, 2013, 14(1): 469-479. DOI:10.1109/TITS.2012.2219529 |
[11] |
牟乃夏, 张恒才, 陈洁, 等. 轨迹数据挖掘城市应用研究综述. 地球信息科学学报, 2015, 17(10): 1136-1142. |
[12] |
倪志伟, 王超, 胡汤磊, 等. 面向数据流的多粒度时变分形维数计算. 软件学报, 2015, 26(10): 2614-2630. |
[13] |
李爱国, 覃征. 在线分割时间序列数据. 软件学报, 2004, 15(11): 1671-1679. |
[14] |
李正欣, 张凤鸣, 张晓丰, 等. 多元时间序列相似性搜索研究综述. 控制与决策, 2017, 32(4): 577-583. |
[15] |
李正欣, 郭建胜, 毛红保, 等. 多元时间序列相似性度量方法. 控制与决策, 2017, 32(2): 368-372. |
[16] |
Huo YK, Wang T, Maunder RG, et al. Motion-aware mesh-structured trellis for correlation modelling aided distributed multi-view video coding. IEEE Transactions on Image Processing, 2014, 23(1): 319-331. DOI:10.1109/TIP.2013.2288913 |
[17] |
徐健锋, 张远健, Zhou DN, 等. 基于粒计算的不确定性时间序列建模及其聚类. 南京大学学报(自然科学), 2014, 50(1): 86-94. |
[18] |
McMahon C, Soe B, Loeb A, et al. Boundary identification in EBSD data with a generalization of fast multiscale clustering. Ultramicroscopy, 2013, 133: 16-25. DOI:10.1016/j.ultramic.2013.04.009 |
[19] |
Soheily-Khah S, Douzal-Chouakria A, Gaussier E. Generalized K-means-based clustering for temporal data under weighted and kernel time warp. Pattern Recognition Letters, 2016, 75: 63-69. DOI:10.1016/j.patrec.2016.03.007 |
[20] |
原继东, 王志海, 孙艳歌, 等. 面向复杂时间序列的K近邻分类器. 软件学报, 2017, 28(11): 3002-3017. |
[21] |
方刚, 吴跃. 基于复合粒度计算的频繁模式挖掘研究. 计算机应用研究, 2016, 33(6): 1620-1624. DOI:10.3969/j.issn.1001-3695.2016.06.005 |
[22] |
dos Alex JA, Gosselin PH, Philipp-Foliguet S, et al. Interactive multiscale classification of high-resolution remote sensing images. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2013, 6(4): 2020-2034. DOI:10.1109/JSTARS.2012.2237013 |
[23] |
徐信喆. 基于模糊K线序列比对的股市技术分析模型. 计算机应用与软件, 2010, 27(9): 28-32, 48. DOI:10.3969/j.issn.1000-386X.2010.09.011 |
[24] |
柳萌萌, 赵书良, 韩玉辉, 等. 多尺度数据挖掘方法. 软件学报, 2016, 27(12): 3030-3050. |
[25] |
舒平达, 陈华辉. 支持多时间粒度的数据流上最频繁K项挖掘. 宁波大学学报(理工版), 2009, 22(4): 500-505. DOI:10.3969/j.issn.1001-5132.2009.04.011 |
[26] |
康卓, 黄竞伟, 李艳, 等. 复杂系统数据挖掘的多尺度混合算法. 软件学报, 2003, 14(7): 1229-1237. |
[27] |
Bankó Z, Abonyi J. Correlation based dynamic time warping of multivariate time series. Expert Systems with Applications, 2012, 39(17): 12814-12823. DOI:10.1016/j.eswa.2012.05.012 |