一种时间序列频繁模式挖掘算法及其在WSAN行为预测中的应用 - 电子与信息学报201003
- 格式:pdf
- 大小:249.80 KB
- 文档页数:5
时间序列数据挖掘方法及其应用研究随着信息技术的不断发展,数据成为了社会生产和生活中不可或缺的一部分。
时间序列数据统计学是数据处理领域中的关键技术之一,它涉及到的领域非常广泛,如经济、气象学、医学、物流、环保等各个方面。
时间序列数据挖掘方法不仅可以用于数据具体应用研究,而且可以提高数据预测和分析的能力,因此受到了越来越多人的关注。
本文将从时间序列数据挖掘方法的概念、应用领域和具体方法几个方面来进行相关探讨。
一、概念时间序列数据挖掘方法(Time Series Data Mining,TSDM)是指从时间序列数据中提取信息和知识,利用这些信息和知识来预测、诊断和控制未来发展趋势的一种技术。
时间序列数据是一种特殊的数据形式,它是指按照时间顺序排列的一系列数据,其中的每个值都对应一个确定的时间点。
时间序列数据挖掘与所需挖掘内容密切相关,包括常见的趋势、周期、随机因素等。
二、应用领域时间序列数据挖掘方法在各个领域都有广泛的应用。
如下面几个领域。
1、经济学:时间序列数据挖掘方法可以用于预测GDP、物价、就业率、零售销售额等经济指标,帮助政府和企业在经济方面做出更为科学的决策。
2、气象学:时间序列数据挖掘方法可以用于预测气温、降雨量、风速、风向等自然现象,帮助人们提前做好准备或者采取相应的措施防止灾害发生。
3、医学:时间序列数据挖掘方法可以用于医学领域,如预测某种疾病的发生率、死亡率等,帮助人们更好地保护自己的健康。
4、物流:时间序列数据挖掘方法可以用于预测订单、发货量等,帮助企业提前制定合理的物流计划。
5、环保:在环保领域,时间序列数据挖掘方法可以用于预测空气质量、水质等,帮助人们保持绿色环境。
三、具体方法时间序列数据挖掘方法具体分为以下几种:1、时间序列的平稳性检验对于大多数时间序列,其表现出来的数据是一定的时间变化规律的,就是随时间的变化增长或减少。
这样的时间序列数据很可能不平稳,这是时序分析中面临的主要问题之一。
一种基于前缀树的频繁模式挖掘算法
朱光喜;吴伟民;阮幼林;刘干
【期刊名称】《计算机科学》
【年(卷),期】2005(032)004
【摘要】挖掘频繁模式是许多数据挖掘任务的关键步骤.基于FP-Tree的挖掘算法由于无须生成候选项集效率明显高于Apriori 类算法,但FP-Tree结构存在动态维护复杂、而且在挖掘过程中需要递归地创建大量的条件FP-Tree,时空效率不高.因此,本文提出一种基于前缀树的新算法.该算法通过引入一种新结构-前缀树(Prefix Tree)用来压缩存放数据所相关信息,并通过调整前缀树中节点信息和节点链直接在Prefix Tree上采用深度优先的策略挖掘频繁模式,而不需要任何附加的数据结构,从而大大提高了挖掘效率.
【总页数】3页(P34-36)
【作者】朱光喜;吴伟民;阮幼林;刘干
【作者单位】华中科技大学计算机科学与技术学院,武汉,430074;华中科技大学计算机科学与技术学院,武汉,430074;华中科技大学计算机科学与技术学院,武
汉,430074;华中科技大学计算机科学与技术学院,武汉,430074
【正文语种】中文
【中图分类】TP3
【相关文献】
1.一种基于频繁模式有向无环图的数据流频繁模式挖掘算法 [J], 任家东;王倩;王蒙
2.一种基于前缀树的增量序列挖掘算法 [J], 张坤;陈越;朱扬勇
3.一种基于压缩前缀树的频繁模式挖掘算法 [J], 郭云峰;张集祥
4.一种基于Spark的高效增量频繁模式挖掘算法 [J], 荀亚玲;孙娇娇;毕慧敏
5.一种基于不确定数据的频繁模式分布式挖掘算法研究 [J], 李峰
因版权原因,仅展示原文概要,查看原文内容请购买。
数据流中一种有效的当前频繁序列挖掘方法
黄崇争;吴元锡;陈红
【期刊名称】《山东大学学报:理学版》
【年(卷),期】2007(42)11
【摘要】给出了一种基于滑动窗口挖掘频繁序列算法。
该算法给出了ε-近似序列集的定义,利用一种压缩的数据结构GSP-tree来存储和维护整个滑动窗口中各分区的近似序列集,并通过合并各分区的近似序列集来响应用户当前的查询请求。
【总页数】3页(P37-39)
【关键词】数据流;挖掘;频繁序列;滑动窗口
【作者】黄崇争;吴元锡;陈红
【作者单位】中国人民大学信息学院数据工程与知识工程教育部重点实验室
【正文语种】中文
【中图分类】TP399
【相关文献】
1.一种实时有效的AECFP数据流频繁项挖掘算法 [J], 谢玉忠;朱国魂;吴春
2.一种有效的数据流最大频繁模式挖掘算法 [J], 毛伊敏;杨路明;李宏;陈志刚;刘立新
3.流数据中一种高效剪枝的频繁序列挖掘算法 [J], 何星星;谢伙生
4.数据流中一种基于滑动窗口的前K个频繁项集挖掘算法 [J], 张文煜;周满元
5.数据流中一种快速启发式频繁模式挖掘方法 [J], 张昕;李晓光;王大玲;于戈
因版权原因,仅展示原文概要,查看原文内容请购买。
频繁模式挖掘技术在时序数据分析中的应用时序数据是在不同时间点上收集到的数据信息,它的特点是具有时间关联性和顺序性。
在许多领域,如金融、交通、医疗等,时序数据的分析对于预测趋势、异常检测以及决策制定具有重要意义。
频繁模式挖掘技术是一种有效的方法,可以从时序数据中发现重复出现的模式,帮助我们理解数据的内在规律以及进行有意义的分析。
频繁模式挖掘技术是一种基于统计的数据挖掘方法,旨在发现数据集中频繁出现的模式。
在时序数据分析中,频繁模式挖掘技术可以用于发现重复出现的时间序列模式,通过对模式的分析,我们可以了解数据的周期性、趋势和规律。
首先,频繁模式挖掘技术可以帮助我们发现时序数据中的周期性模式。
周期性模式是指在一定时间跨度内,数据重复出现相似的模式。
例如,在股市数据中,我们可能会发现每个星期五的股价变化模式相似,或者在每年的节假日期间,销售数据呈现周期性的波动。
通过频繁模式挖掘技术,我们可以自动发现这些周期性模式,帮助我们预测未来的走势,合理决策。
其次,频繁模式挖掘技术还可以发现时序数据中的趋势模式。
趋势模式是指数据在某个时间段内呈现增长或减少的规律。
例如,在气象数据中,我们可能会发现温度在夏季逐渐升高,在冬季逐渐降低。
通过频繁模式挖掘技术,我们可以自动发现这些趋势模式,帮助我们理解数据的变化规律,做出相应的决策。
另外,频繁模式挖掘技术还可以用于时序数据中的异常检测。
异常检测是指发现与正常模式不符的数据点或时间序列。
在许多领域,如网络安全、信用卡欺诈检测等,异常检测是非常关键的。
通过频繁模式挖掘技术,我们可以识别出与正常模式不符的频繁模式,从而帮助我们及时发现潜在的异常情况,采取相应的措施。
频繁模式挖掘技术在时序数据分析中的应用已经得到了广泛的应用。
以下是一些具体的应用案例:1. 股票市场预测在股票市场中,频繁模式挖掘技术可以用于预测股价的走势。
通过分析历史数据中的频繁模式,我们可以发现股价的周期性和趋势性规律,从而预测未来的股价变化。
序列模式挖掘算法在时间序列数据中的应用随着科技的不断发展,各种设备和系统都产生了庞大的时间序列数据,涵盖了从生产到销售、从行为到交通等各个领域。
对于这些数据,如何发掘其中潜在的规律和关联关系,从而为决策制定提供有力的支持,成为了现代信息技术领域中的一个重要问题。
序列模式挖掘算法(Sequence Pattern Mining,SPM)便是其中的一种有效手段。
一、序列模式挖掘算法的概念和基本原理序列模式挖掘算法是一种从时间序列数据中提取频繁序列模式的数据挖掘方法。
它的目标是通过训练数据集中相邻事件的频繁出现,发掘出隐含在数据背后的规律性结构,更好地理解和预测时间序列数据中的行为。
这些序列模式可以用来描述自然语言、DNA序列、商业交易和用户行为等,甚至还可以用于时间序列数据的压缩和压缩模板的生成。
序列模式挖掘算法的基本原理是,对于一个项序列集合,首先需要确定一个频繁度阈值,然后通过扫描数据集,找出出现频率大于等于阈值的序列模式。
这个过程包括两个主要的步骤,即序列长度增加和序列计数方法。
在序列长度增加过程中,算法通过挖掘频繁长度为k的子序列,依次扩展长度为k+1的子序列,直到到达所设定的最大长。
而在计数方法中,算法使用前缀树和状态转移图来维护频繁子序列的计数信息,以便于高效地挖掘。
二、序列模式挖掘算法的应用案例和分析序列模式挖掘算法在实践中有很多应用场景,以下将以几个例子来说明。
1. 用于商业交易数据分析序列模式挖掘算法被广泛应用于商业数据分析中,以预测客户的购物行为、发现优惠策略等。
例如,在一个超市中,商品的销售时间和次数信息就是一个时间序列数据。
序列模式挖掘算法可以从这些数据中找到具有规律的购物模式,如销售量最大的商品组合、时间窗口内各商品的购买顺序等等。
2. 用于医学数据分析在医学数据分析中,序列模式挖掘算法可以用于帮助诊断和治疗患者。
例如,在检查的过程中,医院生成了一些代表患者不同部位的数据。
时间序列数据挖掘在电信业预测系统中的应用的开题报告一、选题背景电信业是一个涉及广泛的行业,涉及到大量的数据和信息。
在电信运营商的日常运营中,他们需要通过各种方式来提高其服务质量和用户满意度。
其中一个核心的任务就是预测用户的需求和行为。
通过对用户行为的深入分析和预测,电信运营商可以合理规划其资源配置,提高用户满意度和运营效率。
时间序列数据挖掘是一种能够帮助预测未来趋势和行为的数据挖掘技术。
它可以对历史数据进行分析,找出其中的规律和趋势,从而预测未来的趋势和行为。
时间序列数据挖掘在电信业预测系统中的应用逐渐被广泛采用。
通过对电信数据进行时间序列分析和预测,可以帮助电信运营商快速准确地预测和规划未来的业务需求和资源配置。
二、研究目的本研究旨在探究时间序列数据挖掘在电信业预测系统中的应用。
具体研究目的如下:1. 分析时间序列数据挖掘算法在电信业预测系统中的应用,了解该算法在预测整个电信行业趋势和用户行为方面的表现。
2. 探究时间序列数据挖掘算法在电信运营商资源配置中的应用,包括电信网络、人力资源和服务质量的统筹规划等。
3. 探究时间序列数据挖掘算法在电信业中的其他应用,例如电信欺诈检测和用户流失预测等。
三、研究内容本文研究内容包括以下几个方面:1. 时间序列数据挖掘算法介绍:介绍时间序列数据挖掘算法的基本概念、原理和方法,包括时间序列的特征和其时间序列算法如:ARIMA、ARMA、Holt-Winters、Exponential Smoothing等。
2. 电信数据分析:对电信数据进行分析,包括电信客户的需求和行为、网络资源使用情况等等,将时间序列数据挖掘算法应用到电信业务中。
3. 电信业中时间序列数据挖掘的应用:基于电信数据分析的基础上,探究时间序列数据挖掘在电信资源配置和其他方面的应用。
4. 研究案例分析:使用已有的数据进行时间序列数据挖掘应用的实践案例,检验时间序列数据挖掘技术在电信业预测中的实际应用效果和实用价值。
小波滤波在时间序列频繁模式挖掘中的应用
战立强;刘大昕
【期刊名称】《哈尔滨工程大学学报》
【年(卷),期】2008(029)001
【摘要】与布尔型数据的频繁模式挖掘相比,时间序列的频繁模式挖掘是一个相对复杂的问题,目前对此类问题还缺少深入的研究.通过对小波滤波的研究,提出了一种时间序列的频繁模式挖掘算法,Frequent-Wavelet算法.该算法的特点是采用多孔平滑滤波器组对时间序列做低通平滑处理,用得到的多个尺度序列表示原序列,较好地解决了时间序列的平凡相似问题和时间轴伸缩问题.实验表明,Frequent-Wavelet算法对于时间序列的频繁模式挖掘具有较好的效果.
【总页数】4页(P107-110)
【作者】战立强;刘大昕
【作者单位】东北林业大学,经济管理学院,黑龙江,哈尔滨,150040;哈尔滨工程大学,计算机科学与技术学院,黑龙江,哈尔滨,150001;哈尔滨工程大学,计算机科学与技术学院,黑龙江,哈尔滨,150001
【正文语种】中文
【中图分类】TP311
【相关文献】
1.最大频繁模式挖掘算法在图书馆个性化信息服务中的应用 [J], 叶福兰;施忠兴
2.频繁模式挖掘在触摸屏界面设计中的应用 [J], 贾东时
3.频繁模式挖掘中基于CFP的应用模型 [J], 陈冬玲;曾文
4.一种时间序列频繁模式挖掘算法及其在WSAN行为预测中的应用 [J], 万里;廖建新;朱晓民
5.金融时间序列频繁模式挖掘算法 [J], 樊伟;黄斌;朱冲;王大为
因版权原因,仅展示原文概要,查看原文内容请购买。
高频时间序列数据挖掘与预测方法研究随着技术的发展和数据的快速增长,高频时间序列数据的挖掘和预测成为了一个重要的研究领域。
高频时间序列数据是指由时间戳标记的高频数据点集合,例如毫秒级或秒级采样的股票价格、天气传感器数据、交通流量等。
这些数据通常具有大量的噪音和复杂的模式,并且对实时分析和预测具有挑战性。
本文将探讨高频时间序列数据挖掘与预测的方法研究。
首先,高频时间序列数据的挖掘和预测往往需要考虑数据的特点和难点。
由于高频数据的采样频率较高,数据的波动性和变化速度也相应增加。
因此,针对高频数据的挖掘和预测需要考虑时间维度的动态性,以及数据的瞬时性和短期趋势的变化。
可以采用的方法包括基于滑动窗口的数据分析和时序模型。
其次,滑动窗口是一种常用的技术,用于在高频时间序列数据中分析滚动窗口内的数据。
滑动窗口将时间序列数据按照固定大小的窗口进行切割,然后计算窗口内数据的统计量、趋势变化或者其他特征。
通过滑动窗口技术,我们可以捕捉到高频数据的短期趋势和变化模式,例如股票价格的短期波动或者交通流量的小时峰值。
基于滑动窗口的数据分析方法可以帮助我们理解高频数据的动态性和周期性特征。
另外,时序模型也是高频时间序列数据挖掘和预测的重要方法之一。
时序模型是一种基于时间序列数据的统计模型,用于描述数据的随时间变化的模式和趋势。
常见的时序模型包括自回归移动平均模型(ARMA)、自回归积分滑动平均模型(ARIMA)和傅里叶分析等。
这些模型可以帮助我们建立对高频时间序列数据的预测模型,进而预测未来的值或者趋势。
除了基于滑动窗口和时序模型的方法,还有一些新兴的技术可以用于高频时间序列数据的挖掘和预测。
例如,机器学习和深度学习技术可以应用于高频数据的特征提取和模式识别。
通过训练模型,我们可以根据历史数据来预测未来的高频时间序列数据点。
此外,时间序列数据挖掘与预测还可以结合其他辅助信息,例如天气、事件发生等外部因素,以增强预测的准确性和稳定性。
一种时序数据间断频繁项挖掘算法作者:刘昆李颖芳李红林来源:《科技视界》2013年第06期【摘要】针对时序数据频繁项的挖掘进行研究,提出了间断频繁项的概念,在互关联后继树模型的基础上,提出了互关联线索树以及其生成方法,给了挖掘间断频繁序列算法。
【关键词】时序数据;间断频繁项;挖掘算法0 引言在人类社会和自然界的变迁中,都存在时间的因素。
例如,金融证券市场中每天的股票交易中价格波动;零售行业中,某项商品每天的销售额;气象预报研究中,某一地区的每天气温与气压的读数以及在生物医学中,某一症状病人在每个时刻的心跳变化,课堂作业中学生交作业的先后顺序等;这些事件中都有时间的先后顺序,把这些信息称为数据,它们是有时间先后性质的数据,是时间序列数据。
所谓时间序列数据就是在一个确定时间区间,以确定的时间量子或者时刻为单位对研究对象进行连续观测得到的一组记录,这组记录是按时间顺序排列的。
不同研究者对时间序列的定义是不一样的。
根据所查文献和收据的资料,对时间序列数据给出如下形式化定义:定义(时间序列数据)时间序列数据S是一个有限集{(t1,T1),(t2,T2),…,(tn,Tn)},满足ti本文将时间序列数据的频繁序列挖掘过程分为以下五个步骤:时间序列数据符号化、对符号化后的序列生成互关联后继树、生成互关联线索树、挖掘连续频繁序、挖掘间断频繁序列。
1 针对股票数据应用的时间序列数据符号化表示针对某股市交易数据中,pi=(第i天收盘价-第i-1天收盘价)/第i天收盘价*100%,当pi 为0%~2%时,视为第i天为“小涨”;pi大于5%时记为第i天“大涨”,pi在2%~5%之间,第i 天为“上涨”,同理,当pi为0%~-2%时,第i天为“小跌”;pi小于5%时记为第i天“大跌”,pi 在-2%~-5%之间,记为第i天为“下跌”。
把“小涨”用A表示,“上涨”用B表示,“大涨”用C表示,“小跌”用D表示,“下跌”用E表示,“大跌”用F表示,则此只股票收盘价数据变化规律就可以转化为包含符号{A,B,C,D,E,F}的字符串。
基于频繁序列的新词挖掘算法
周俊;孙啸
【期刊名称】《电脑知识与技术》
【年(卷),期】2006(000)005
【摘要】生物医学领域信息量的飞速增长,极大地促进了人们的交流和研究,同时也使人们在海量的信息面前无所适从;这就提出了对信息进行分类筛选的需求.词库对于文本分类的结果有着至关重要的作用,只有能实时更新新词的词库才能适应使用的需要.该文章提出并实现一种基于频繁序列的新词挖掘算法,能够正确提取出中文文本中的新词,从而及时更新维护词库,使文本分类更为准确.
【总页数】2页(P98-99)
【作者】周俊;孙啸
【作者单位】东南大学生物电子学国家重点实验室,江苏,南京,210096;东南大学生物电子学国家重点实验室,江苏,南京,210096
【正文语种】中文
【中图分类】TP391
【相关文献】
1.基于时间序列数据的紧密连续频繁序列挖掘算法 [J], 刘昆
2.基于序列前缀技术的XML频繁路径挖掘算法 [J], 张洁;毛国君
3.基于差分隐私的频繁序列模式挖掘算法 [J], 李艳辉;刘浩;袁野;王国仁
4.一种基于频繁序列树的增量式序列模式挖掘算法 [J], 刘佳新
5.基于频繁序列树的交互式序列模式挖掘算法 [J], 刘佳新
因版权原因,仅展示原文概要,查看原文内容请购买。
第32卷第3期电子与信息学报Vol.32No.3 2010年3月 Journal of Electronics & Information Technology Mar.2010一种时间序列频繁模式挖掘算法及其在WSAN行为预测中的应用万里廖建新朱晓民(北京邮电大学网络与交换技术国家重点实验室北京 100876)(东信北邮信息技术有限公司北京 100083)摘要:该文提出FPM(Frequent Pattern Mining)算法充分考虑频繁模式在时间序列中出现次数和分布。
基于这些不同分布的频繁模式扩展MAMC(Mixed memory Aggregation Markov Chain)模型提出FMAMC(Frequent pattern based Mixed memory Aggregation Markov Chain)模型。
将FPM和FMAMC应用到实际的智能楼宇项目中,证明和现有算法相比FPM算法具有较好的时间性能,FMAMC模型能够比MAMC模型更准确的预测WSAN 节点行为。
关键词:数据挖掘;时间序列;频繁模式挖掘;无线传感器自组织网络节点行为预测;智能楼宇中图分类号:TP393 文献标识码:A 文章编号:1009-5896(2010)03-0682-05 DOI:10.3724/SP.J.1146.2009.00300Time Series Frequent Pattern Mining Algorithm andits Application to WSAN Behavior PredictionWan Li Liao Jian-xin Zhu Xiao-min(State Key Laboratory of Networking and Switching Technology, Beijing University of Postsand Telecommunications, Beijing 100876, China)(EBUPT Information Technology Co. Ltd, Beijing 100083, China)Abstract:A frequent pattern mining algorithm FPM (Frequent Pattern Mining) is proposed. FPM not only considered the frequency but also the distribution of the frequent pattern along the time series. Based on these different types of frequent patterns, MAMC (Mixed memory Aggregation Markov Chan) is extended to FMAMC (Frequent pattern based Mixed memory Aggregation Markov Chan) model. The proposed algorithm and model are applied to a smart building project, experiment and practice both demonstrate FPM is efficient than existing algorithms and FMAMC model could more accurately predict the node behavior in WSAN than MAMC.Key words:Data mining; Time series, Frequent Pattern Mining (FPM); WSAN behavior prediction; Smart building1引言如何对WSAN所采集的海量数据进行分析,已成为一个重要研究课题[1]。
WSAN节点行为预测是指根据各节点采集的历史数据预测下一时刻将采集数据的节点。
已有聚类、关联规则挖掘等数据挖掘技术被应用到WSAN节点行为预测的研究中[1,2]。
虽然可以用传统的时间序列挖掘算法和模型对WSAN采集的时间序列进行分析,但是,WSAN采集的时间序列数据具周期性强和事件间的时序关联具有时间延迟的特点[2]。
基于频繁模式的时间序列预测模型是目前一个研究热点[3,4],但现有方法中没有考虑频繁模式在时间轴上的分布。
2009-03-09收到,2009-09-03改回国家杰出青年科学基金(60525110),国家973 计划项目(2007CB307100,2007CB307103)和电子信息产业发展基金(基于3G 的移动业务应用系统)资助课题通信作者:万里 wanly@本文提出了一种考虑时间分布的频繁模式挖掘算法FPM(Frequent Pattern Mining)和基于频繁模式及其时间分布的FMAMC(Frequent pattern based Mixed memory Aggregation Markov Chain)预测模。
在学习FMAMC模型时不仅根据事件序列在时间序列中出现的次数区分了频繁模式和噪声,并且根据频繁模式在时间轴上的不同分布区分其频繁程度。
仿真实验和实际应用证明,本文提出的FPM(Frequent Pattern Mining)算法能够快速发现时间序列中的频繁模式,FMAMC模型和已有MAMC模型相比能更准确的预测时间序列中出现的事件。
2频繁模式和MAMC频繁模式是指在时间序列中出现次数大于最小支持度的子序列。
片段模式(episode)和序列模式(sequential pattern)均是频繁时间序列模式:前者表第3期 万 里等:一种时间序列频繁模式挖掘算法及其在WSAN 行为预测中的应用 683示某个子序列在一个时间序列中频繁出现,子序列出现一次其支持度增加1;后者表示某个子序列在一个时间序列集合中频繁出现,子序列在集合中的某个时间序列出现一次或多次,其支持度只增加1。
本文所研究的FMAMC 模型将不同时间分布的频繁模式引入到MAMC 模型中,MAMC 模型[57]−结合Aggregate Markov(AM)和Mixed Memory Markov(MMM)模型。
AM 模型对状态空间中的状态进行分类,当前时刻的状态由它和上一个时刻的状态所属分类决定。
MMM 描述状态之间转移时延,当前状态由l 个时刻前状态决定。
假设有时间序列12{,,,,,}t T X x x x x ="",其中{1,,}t T ∈",t x E ∈ 12{,,,}n e e e ="为当前时刻状态,E 为状态空间。
则MAMC 模型为1111(|,,)()(|)()(|)(|)Ll t t t L t t l l LKl t t l l k p x x x p l p x x p l p x k p k x −−−=−====∑∑∑"(1)其中L 为最大时延,K 为状态空间中状态分类,()p l 表示时延长度为l 的概率,(|)l t l p k x −表示l 个时刻前的状态t l x −和当前时刻状态所属分类为k 的概率,(|)t p x k 表示如果当前时刻状态所属分类为k ,当前状态为t x 的概率。
3 频繁模式发现用矩阵表示多维时间序列,图1(a)所示矩阵每一行对应一维,每一列对应时间轴上一个时刻,两个事件之间的时间间隔为两个事件所在列数差的绝对值。
3.1 多维时间序列划分FPM 算法根据MDL(Minimum Description Length)原则划分多维时间序列,以描述某种划分所需编码长度为目标函数,所需编码长度越小的划分越好。
和已有的基于MDL 的时间序列分片算法不同[8],本文的编码方法考虑了事件间时间间隔分布,而不只考虑事件出现次数分布。
如图1(b) 所示,图1(a)中的时间序列被分为3个时间片,每个时间片内出现周期相似的事件序列被分到同一组。
式(2)表示划分模型i M 对应时间片i S 的概率,j X 为划分模型i M 中一个分组,()j p X 为分组j X 中事件出现的概率分布,()()m E j p X τ为事件m E 后紧跟长度为τ的时间间隔在分组j X 中出现的概率分布,(,)i n E S 表示在分片i S 中事件E 出现次数。
(,)()11(|)(()())n E S i m j li i j Ej j E X m P S M p X p X τ=∈==∏∏∏(2)图1时间序列表示方法及分片实例2LD(|)log (|)i i i i S M P S M =− (3) 22LM()log log i M l m m m =+ (4) LS(,)LD(|)LM(|)i i i i i i S M S M S M =+ (5)21TS(,)log LS(,)ki i i S M k n S M ==+∑ (6)根据信息论,描述概率为p 的事件需要编码长度为2log p −。
LD(|)i i S M 表示模型i M 描述分片i S 需要比特数,LM()i M 为描述模型i M 本身需要的比特数,其中l 为分片中分组个数,m 为分片中事件类型个数(2log m m 比特用于描述i M 中不同类型事件所在行的排列顺序,2log l m 比特用于描述m 个类型的事件在某种固定排列顺序上的分组)。
长度为n 的时间序列12{,,,}n T t t t ="被划分为k 个分片需要确定k 个边界,因为长度为n 的时间序列有n 个可能作为分片边界的时刻(231{,,,}n t t t +"),描述其中k 个时刻作为边界的事件所需编码长度为22log (1/)log k n k n −= 式(5)是描述每个时间分片所需编码长度,式(6)是描述整个时间序列分片所需编码长度。
GreedySegment 采用贪心算法架构,首先假设所有有事件发生的时刻均为分片边界,计算每个边界被移除后整个分片方案编码长度(TS(,)S M )的变化量(()i b Δ),每次迭代移除使得编码长度减少最多的边界,当移除任何边界均无法减少编码长度时结束迭代。
GreedySegment 算法具体步骤如下: 输入:长度为n 的时间序列T 输出:编码代价最小的分片集合1:For T 中每个有事件出现的时刻i b2:根据式(5)计算分片1[,]i i S b b −, 1[,]i i S b b +, 1[,i S b − 1]i b +的编码代11LS([,],)i i i S b b M −−,LS([,i S b 1],)i i b M +,111LS([,],)i i i S b b M −++,计算移除边界i b 使得编码长度变化的增量:112121112()LS([,],)log LS([,],)log LS([,],)log i i i i i i i i i i b S b b M n S b b M n S b b M n−−+−++Δ=+−−−−684 电 子 与 信 息 学 报 第32卷3: 插入,()i i b b <Δ>到哈希表H 4:While H 不为空 5: 找到最小的()i b Δ 6: If ()0i b Δ<7: 移除i b 并更新1()i b −Δ, 1()i b +Δ 8: Else if ()0i b Δ≥ 9: 终止while 循环 10:输出H 3.2 FPM 算法FPM 算法的基本思想是基于长度为l 的频繁模式找出长度为1l +的频繁模式,算法从1l =开始迭代,第l 次迭代得到长度为l 的频繁序列,将这些频繁序列作为前缀,在第1l +次迭代中所找到的频繁项和这些长度为l 的前缀组成长度为1l +的频繁序列。