logo资料库

论文研究-一种基于Normal矩阵的时间序列聚类方法.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
第 27 卷第 8 期 2010 年 8 月  计 算 机 应 用 研 究 Application Research of Computers 一 种 基 于 Normal 矩 阵 的 时 间 序 列 聚 类 方 法 Vol.27 No.8 Aug.2010 倡 姜 荣 1, 赵凤霞 2, 谢福鼎 1, 张 永 1 (1.辽宁师范大学 计算机与信息技术学院,辽宁 大连 116081; 2.秦皇岛职业技术学院,河北 秦皇岛 066100) 摘 要: 提出了一种基于 Normal 矩阵的时间序列聚类方法。 该算法首先对时间序列数据进行向量形式转换, 计算出各个时间序列间的相似度并构建复杂网络,然后利用基于 Normal 矩阵的方法进行复杂网络社团划分,同 一类的时间序列被划分到一个社团,即实现对时间序列数据的聚类。 为了验证该方法的可行性和有效性,将其 应用于股票时间序列数据聚类分析中,并在两个实际的数据集上与其他方法相比较,取得了较好的实验结果。 关键词: 时间序列聚类; 社团结构; 复杂网络; Normal 矩阵; 相似度 中图分类号: TP301畅6   文献标志码: A   文章编号: 1001唱3695(2010)08唱2926唱03 doi:10.3969/j.issn.1001唱3695.2010.08.030 Method for time series clustering based on Normal matrix JIANG Rong1, ZHAO Feng唱xia2,XIE Fu唱ding1, ZHANG Yong1 (1.School of Computer & Information Technology, Liaoning Normal University, Dalian Liaoning 116081, China; 2.Qinhuangdao Vocational College, Qinhuangdao Hebei 066100, China) Abstract: This paper presented a method for time series clustering based on the spectral bisection method of Normal matrix. The algorithm transformed time series data into vector forms firstly, calculated the similarity between any pairs of time series and constructed complex network.Then the complex network would be divided into communities by using of the method of Nor唱 mal matrix.The time series were clustered in terms of the results of partitioning network.Finally, in order to verify the feasi唱 bility and effectiveness of the presented method, analyzed the real world stock time series, compared other methods on two real datasets and obtained the reasonable results. Key words: time series clustering; community structure; complex networks; Normal matrix; similarity [4]。 研究人员的青睐 时间序列是由客观对象的某个物理量在不同时间点的采 社团结构,本质上也是一种聚类或分类的过程,即把一个数据 0 引言 集分成或聚成若干称为簇的子集,每个簇中的节点间具有较大 的相似性,而簇之间的节点具有较小的相似性。 基于复杂网络中的社团结构,本文提出了一种新的时间序 样值按照时间顺序排列而组成的序列,如股票市场每天的股票 列聚类方法,该算法将时间序列数据挖掘和复杂网络有机地结 收盘价格数据、每天的气温数据、每季度乘坐某次航班的旅客 合,将社团结构的思想应用到时间序列聚类分析中。 研究表 数等都是时间序列。 分析时间序列的目的就是从大量时间序 明,本文利用基于 Normal 矩阵的谱平分法对时间序列数据进 列数据中发现未知的重要模式和知识,并据此作出具有知识驱 行聚类,为时间序列聚类分析提供了一个新的思路和方法。 动的决策。 近年来,对时间序列数据的分析与挖掘受到了广大 [1 ~3]。 时间序列聚类分析可以有效提供数据 1 基于Normal 矩阵的谱平分法 中的重要信息,是时间序列数据挖掘中的重要任务之一 聚类是一种重要的数据挖掘方法,也称非监督分类,即将 工具。 在传统谱分析法的基础上,Capocci 等人于2005 年提出 数据划分成有意义或有用的簇,使每个簇中的数据尽可能相 了一个基于 Normal 矩阵的社团发现算法。 Normal 矩阵 N = [5,6]。 常见的几种聚类 似,而不同簇中的数据具有明显的差别 K -1A。 其中:K 是一个对角矩阵,其对角线上的元素 kii =∑n 方法有分割法、层次法、基于密度的方法、基于网络的方法、基 j =1 aij对应各个节点的度, n 是网络中节点的数目;A 则为该网络 [7]。 由于时间序列数据不同于 的连接矩阵。 易知,矩阵 N 是半正定矩阵,有 n 个实特征值, 静态数据,对其进行聚类分析更为复杂。 目前国内外处理时间 且其最大特征值为1[10]。 序列聚类的方法主要有基于原始数据、基于特征提取 设特征向量矩阵为 X,其中的每个特征值对应的特征向量 三类。 其中后两类方法的核心思想是把时间 序列数据转换为静态的特征数据或是模型参数,然后再直接应 为 Xj。 矩阵 N 的最大特征值总是等于1,相应的特征向量称为 平凡特征向量。 对于一个社团结构比较明显的网络,假设社团 用静态数据的聚类方法来完成聚类任务。 寻找复杂网路中的   收稿日期: 2010唱01唱25; 修回日期: 2010唱02唱22  基金项目: 国家自然科学基金资助项目(10771092);辽宁省科技厅博士启动基金资助项 目(20081079);辽宁省教育厅高等学校科研资助项目(2008347)   作者简介:姜荣(1985唱),女,硕士,主要研究方向为人工智能、数据挖掘(jr0331@163.com);赵凤霞(1982唱),女,讲师,硕士,主要研究方向为 数据挖掘、人工智能;谢福鼎(1965唱),男, 教授,博士,主要研究方向为人工智能、数据挖掘;张永(1975唱),男,副教授,博士,主要研究方向为机器 学习、智能计算、数据挖掘. 谱分析法是揭示复杂网络中多级结构和复杂关系的有力 于模型的方法和模糊聚类法等 于模型的方法 [9] [8] 和基
第 8 期 数目为 g,则矩阵 N 有 g -1 个非常接近1 的特征值,而其他的 特征值都与1 有明显的差距。 而且,这 g -1 个特征值的特征 向量也有一个非常明显的结构特征:若一个特征向量中的某些 元素值 Xi非常接近,那么它们对应的节点就会形成一个社团。 如果网络的社团结构比较明显,这些特征向量中的元素分布就 呈明显的阶梯状,而且阶梯的等级数就等于社团的数目 g。 因 此,只要研究这 g -1 个特征向量中的任意一个,就可以利用它 [11]。 但是,当 的元素将网络中的节点划分为相应的 g 个社团 网络的社团结构不是十分明显时,这 g -1 个特征向量就不会 呈现十分明显的阶梯状,而是接近一条连续曲线,这就不能只 通过研究 g -1 个特征值对应的特征向量中的一个对网络进行 划分。 此时,需要比较若干不同的特征向量中的相应元素才可 以获得网络的社团结构。 在此基础上,引入一个连接参量作为 衡量社团划分情况的标准: rij = 枙xixj枛 -枙xi枛枙xj枛 [(枙xi 2枛 -枙xi枛2)(枙xj 2枛 -枙xj枛2)]1/2 其中:枙· 枛是对若干特征向量中相应的元素取平均值,rij 用来衡 量节点 i 和 j 的连接度。 对越多的特征向量求平均值效果就越 好。 2 基于 Normal 矩阵的时间序列聚类算法 由于时间序列数据的特殊结构,在对其作数据挖掘分析 时,首先要对其进行预处理,将以数值数据表示的时间序列转 换成以相对抽象符号表示的符号序列。 这里将时间序列数据 转换成向量形式,通过计算各个时间序列间的相似度,生成相 似度矩阵,然后以各个时间序列作为节点、其间的连线作为边、 相似度作为边的权值构建一个加权的复杂网络,最后利用基于 Normal 矩阵的谱平分法进行复杂网络社团划分,生成该复杂 网络的社团结构。 这里在使用 Normal 矩阵的谱平分法划分网 络的过程中,再次运用了 K唱means 算法,相当于对时序数据进 行了两次聚类,有效地提高了聚类精度。 在划分网络得到的社 团中,同一社团内的时间序列的相似性较大,不同社团间的时 间序列的相似性较小,即同一类的时间序列被划分到一个社团 中,这样便实现了对时间序列数据的聚类。 算法的基本步骤如下: 输入:n 个时间序列数据 S1,S2,…,Sn;阈值 σ,ω。 输出:时间序列聚类结果。 a)时间序列数据预处理,将时间序列数据用向量表示。 用数字1、 -1 和0 分别表示序列在某区间的趋势变化情况。 1 代表上升趋势, -1 代表下降趋势,0 代表平稳趋势。 b)根据余弦相似度公式 sim(Si,Sj) = Si· Sj ‖Si‖倡‖Sj‖求出 每两个时间序列之间的相似度,并构造相似度矩阵 simn ×n。 其 中:sim(Si,Sj)(1≤i, j≤n)表示第 i 个时间序列与第 j 个时间 序列的相似度;Si和 Sj 分别为第 i 个和第 j 个时间序列的向量 形式;“· ” 表 示 向 量 点 积, Si · Sj =∑m k =1 Sik Sjk,‖ Si ‖ = ∑m k =1Sik c)根据相似度矩阵建立加权复杂网络 G,得到其邻接矩阵 A。 以每个时间序列数据为节点,相似度作为节点之间边的权 值,表示时间序列之间的连接强度,然后将权值小于阈值 σ的 弱连接边删去。 这样在保证网络性能的前提下,大大缩简了计 2(1≤k <m)。 姜 荣,等:一种基于 Normal 矩阵的时间序列聚类方法 ·7292·     Ai,j = [12]。 1≤i≤n,1≤j≤n 算量,则加权网络 G 的连接矩阵 A 表示为 1     当 i =j 时 sim(Si,Sj) 当 i≠j 且 sim(Si,Sj) >σ时 0 当 i≠j 且 sim(Si,Sj) <σ时 d)使用矩阵模型 N =K -1A,首先计算其特征值和特征向 量,并将特征向量单位化 (a)对所有的特征值按升序进行排序,每个特征值 λi 的取 值本身同时也反映了它与最大特征值1 的接近程度,这里只保 留那些不小于 ω的特征值 λ1,λ2,…,λp,其余舍弃( 这里 ω为 预先指定的阈值)。 (b)求出 λ1,λ2,…,λp 对应的特征向量 ξ1,ξ2,…,ξp,令 vi ={ξ1i,ξ2i,…,ξpi},i =1,…,n,对{vi}每个特征向量相应元素 组成的向量空间,运用 K唱means 算法进行聚类,距离公式采用 欧氏距离。 其中,每个聚类就是一个社团。 3 实验 通过两个实验来证明算法的可行性,实验环境为:2.66 GHz CPU Pentium溎 4 PC 机,1 GB 内存,操作系统为 Windows XP Professional,算法实现软环境为 MATLAB 7.0。 实验1 选取中国证券市场中的 30 支股票的历史数据 (1.关铝股份、2.广宇发展、3.光明乳业、4.华夏银行、5.焦作万 方、6.金马集团、7.老白干酒、8.泸州老窖、9.民生银行、10.浦 发银行、11.青岛啤酒、12.ST 太光、13.深发展A、14.世纪星源、 15.铜陵有色、16.万科 A、17.五粮液、18.燕京啤酒、19 西藏矿 业、20.旭飞投资、21.云铝股份、22.云南铜业、23.招商地产、 24.招商银行、25.振华科技、26.中国宝安、27 中国联通、28.中 金岭南、29.中粮地产、30.中兴通讯),为了确保数据的时效性, 取截至2009 年2 月19 日的 1 000 个共有交易日的收盘价数 [13],构建一个时间序 列数据集, 将 其 作 为 研 究 对 象 进 行 实验。 将30 支股票收盘价时间序列转换成向量形式。 然后利用 余弦相似度公式对30 支股票对应的30 个向量两两进行相似 度求解,设定阈值 σ=0.34,得到30 ×30 股票序列相似度矩阵 sim30 ×30。 每支股票可看做一个节点,股票之间的连线可看做 一条边,股票间的相似度可看做是节点间边的权值,这样30 支 股票、股票之间的连线和其相似度就组成一个加权复杂网络。 用基于 Normal 矩阵的方法对得到的加权复杂网络进行社 团划分实现聚类,得到的聚类结果为将时间序列聚成了五类, 其结果如下(使用本文提供的股票代号): C1:{2、14、16、20、23、26、29} C2:{3、7、8、11、17、18} C3:{6、12、25、30} C4:{4、9、10、13、24、27} C5:{1、5、15、19、21、22、28} 由图1 和2 可以看出,相同类中的股票具有相似的走势, 不同类中的股票,其走势差别较大。 从聚类结果可以看出,每 个类中的股票大多属于同一个行业,是同一板块中的股票,如 C1 类中的股票都属于房地产行业,C2 类中的股票都属于酿酒食 品行业。 但也存在不同板块中的数据被划分在一个类中的情 况,如中国联通属于通信行业却被分到 C4 类金融业中,不同板 块中的股票之所以被划分在一个类中,是因为它们的序列走势 极其相近,从图1 中可以看出。 这其中的深入原因需要从该股 据
·8292· 票的具体财务资料进行详细分析。 计 算 机 应 用 研 究   第 27 卷 似性,提高聚类精度,也验证了本文方法的有效性。 4 结束语 基于复杂网络中的社团结构划分方法,将时间序列数据挖 掘和社团结构的思想有机地相结合,提出了一种时间序列聚类 方法。 实验结果表明,该方法应用于实际的股票时间序列分 析、温度数据集和心电图数据集,均得到了比较理想的结果,从 而验证了该方法的可行性和有效性,也为时间序列聚类分析提 供了一个新的思路和方法。 参考文献: [1] D差EROSKI S, GJORGJIOSKI V,SLAVKOV I,et al.Analysis of time series data with predictive clustering trees[J].Knowledge Disco唱 very in Inductive Databases, 2007,4747:63唱80. [2] WANG Qiang, MEGALOOIKONOMOU V.A dimensionality reduc唱 tion technique for efficient time series similarity analysis[J].Infor唱 mation Systems, 2008,33(1):115唱132. [3] SLAPIN J B, PROKSCH S O.A scaling model for estimating time唱se唱 ries party positions from texts[J].American Journal of Political Science, 2008,52(1):705唱722. [4] CORDUAS M, PICCOLO D.Time series clustering and classification by the autoregressive metric[J].Computational Statistics & Data Analysis, 2008,52(4):1860唱1872. [5] THEODORIDIS S, KOUTROUMBAS K.Pattern recognition [M]. 3rd ed.New York: Academic Press, 2006. [6] TAN Pang唱ning, STEINBACH M, KUMAR V.数据挖掘导论[M]. 范明,范宏建,等译.北京:人民邮电出版社,2006. [7] 马超群,兰秋军,陈为民.金融数据挖掘[M].北京:科学出版社, 2007. [8] VLACHOS M, LIN J, KEOG E, et al.A wavelet唱based any time al唱 gorithm for K唱means clustering of time series[C] //Proc of the 3rd SI唱 AM International Conference on Data Mining.San Francisco:[ s. n.],2003. [9] ZENG J, GUO D.A new clustering algorithm for time series analysis [M].Berlin:Springer,2006:759唱764. [10] 汪小帆,李翔,陈关荣.复杂网络理论及其应用[M].北京:清华大 学出版社,2006:162唱191. [11] CAPOCCI A, SERVEDIO V D P, CALDARELLI G, et al.Detecting communities in large networks[J].Physica A Statistical & Theo唱 retical Physics,2005,352(2唱4):669唱676. [12] 董蕴源,王正华,王勇献.利用基 于 Normal 矩 阵 的 谱 平 分 法 挖 掘 酵母蛋白质 相 互 作 用 网 络 中 的 社 团 [J].激 光 生 物 学 报,2008 (1):13唱18. [13] [EB/OL].http://finance.cn.yahoo.com/. [14] [EB/OL].http://www.csee.umbc.edu/~kalpakis/TS唱mining/ts唱 [15] LIAO T W.Clustering of time series data—a survey[J].Pattern datasets.html. Recognition,2005,38(11):1857唱1874. 从实验结果分析得知,同一行业中的股票行情变化规律是 相似的,不同行业中的往往是不同的。 这可能是由于上市公司 之间存在直接或间接的合作、竞争等关系,某些股票在一段时 间内会出现相似或相反的走势。 该实验结果与实际结果基本吻合,29 支股票序列被划分 为五类,相同走势的股票序列大多被聚在一个类中,说明本文 的方法是可行的。 实验2 采用公用的实际数据集———温度数据集(tempe唱 进行实验,将 rature dataset)和心电图数据集(ECG dataset) [14] 本文提出的方法(记为 Normal) 与基于 Euclid、DTW、CEP、EDR 的时间序列聚类方法进行比较。 实验数据: a)温度数据集,包括来自佛罗里达、田纳西州和古巴的30 个地方(田纳西州的10 个地方、北佛罗里达的 5 个地方、南佛 罗里达的9 个地方和古巴的6 个地方)2000 年的温度,共有30 个时间序列,每一个时间序列代表—个地方 366 天的温度变 化。 根据地理位置,30 个时间序列被分为两类(田纳西州和北 佛罗里达构成第一类,因为它们的地理位置很接近,易知其温 度相似;类似地,古巴和南佛罗里达构成第二类),作为度量标 准结果。 b)心电图数据集,包括三类共 70 个时间序列数据。 第一 类为正常窦性心律(18 个时间序列)、第二类为恶性室性心律 失常(22 个时间序列)、第三类为室上性心律失常(30 个时间 序列),每个时间序列表示不同类人的 2 s 心电图记录。 即将 70 个时间序列分成三类,并且每个时间序列被划分在正确的 类别中作为该数据集上度量的标准结果。 度量标准:设从先验的分类信息中得到的标准聚类结果 G =G1,G2,…,Gk,使用每种方法的聚类结果 C =C1,C2,…,Ck, [15] 则聚类精度可由以下公式计算 sim(G,C) =1 1≤j≤ksim(Gi,Cj) ∑k i =1 max k 其中:sim(Gi,Cj) =2 Gi∩Cj ,|· |是集合的势。度量标准值 Gi + Cj 在[0,1],当聚类结果与标准的结果完全吻合时,度量标准值 为1。 实验结果:在温度数据集和心电图数据集上的实验结果分 别如图3 和4 所示。 从图中可以看出,Normal 方法相对其他时 间序列聚类算法聚类精度有所提高,说明本文提出的基于Nor唱 mal 矩阵的时间序列聚类方法能更准确地度量时间序列的相
分享到:
收藏