时间序列数据可视化工具的设计与实现毕业设计.docx
《时间序列数据可视化工具的设计与实现毕业设计.docx》由会员分享,可在线阅读,更多相关《时间序列数据可视化工具的设计与实现毕业设计.docx(50页珍藏版)》请在冰豆网上搜索。
时间序列数据可视化工具的设计与实现毕业设计
时间序列数据可视化工具的设计与实现
【摘要】时间序列数据是一类普遍而又广泛存在的数据类型,近年来时序数据挖掘越来越受到人们的关注。
时间序列分析是对时间序列的规则和模式进行发现的统计学方法。
而数据可视化技术可以帮助对于时间序列数据的挖掘。
本文设计并实现了一个基于统计分析的数据挖掘可视化原型工具,旨在帮助计量经济学教学,以及针对一维时间序列数据进行可视化挖掘。
本文首先介绍了数据可视化的相关技术。
其次介绍了时间序列分析的原理,并介绍了利用简单的时间序列分析技术实现的数据挖掘可视化原型工具,具体描述了此原型工具的设计和实现。
最后本文利用此工具对一个示例时间序列数据集进行可视化分析挖掘,展示了此原型工具的工作流程和分析表述能力。
【关键词】数据挖掘可视化时间序列分析计量经济学
【Abstract】Timeseriesdataisaubiquitousdatatype.Inrecentyears,timeseriesdataminingisdrawingmoreandmoreattention.Timeseriesanalysisisastatisticalmethodforfindingrulesandpatternsintimeseries.Meanwhile,datavisualizationcanhelpwiththeminingoftimeseriesdata.Inthispaper,astatistics-baseddataminingvisualizationprototypeisdesignedandimplemented,aimingtoworkasaneducationalassisttoEconometricsandvisuallymineone-dimensiontimeseriesdata.Firstlyrelevanttechniquesaboutdatavisualizationwereintroduced.Thenthetheoryoftimeseriesanalysiswaspresented.Thedesignandimplementationoftheprototypeusingbasictimeseriesanalysistechniqueswerespecificallydescribed.Finally,weusedtheprototypetovisuallyanalyzeandmineasampletimeseriesdataset,presentedtheworkingprocessandanalyticallyexpressivenessofthisprototype.矚慫润厲钐瘗睞枥庑赖。
【Keyword】dataminingvisualizationtimeseriesanalysisEconometrics聞創沟燴鐺險爱氇谴净。
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
残骛楼諍锩瀨濟溆塹籟。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解安阳工学院关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
酽锕极額閉镇桧猪訣锥。
作者签名:
日 期:
1引言
1.1项目背景
时间序列数据是一个普遍存在的数据集合。
在现实生活中,时间序列数据遍及经济、气象、通信、医疗等等多个领域。
时间序列数据中包含着很多潜在的有用的信息。
对时间序列数据进行挖掘具有很重要的价值它能够帮助人们掌握时间序列中蕴含的规律,为人们提供有力的决策支持。
随着电脑的普及和互联网的发展,大量的数据随处可得,对时间序列数据的分析和挖掘也已经在客户行为分析、Web访问模式、序列、疾病监测、自然灾害、科学实验等领域获得了广泛应用。
时间数据挖掘可以用作对未来行为的预测,具有重要的研究价值和实际意义。
呙铉們欤谦鸪饺竞荡赚。
长期以来,数据可视化技术一直被用来进行时间序列数据的分析和挖掘。
数据可视化技术能够在数据挖掘的早期引入用户的认识、偏好,从而降低整体的计算复杂度,并且减少无意义结果的数量。
使用可视化技术来挖掘时间序列数据,大数据量的数据可以在屏幕上同时进行展示,可以使用户直观地看出时间序列数据中的相似性、趋势,等等。
莹谐龌蕲賞组靄绉嚴减。
数据挖掘事先并不知道会挖掘出什么结果,也不知道挖掘模型会得到什么样的挖掘结果;可视化为分析大量的复杂的数据提供了帮助。
数据挖掘和可视化的结合能够大大提高对数据分析的速度和效率。
麸肃鹏镟轿騍镣缚縟糶。
时间序列分析(Timeseriesanalysis)是一种动态数据处理的统计方法。
该方法基于随机过程理论和数理统计学方法,研究随机数据序列所遵从的统计规律,以用于解决实际问题。
它包括一般统计分析(如自相关分析,谱分析等),统计模型的建立与推断,以及关于时间序列的最优预测、控制与滤波等内容。
经典的统计分析都假定数据序列具有独立性,而时间序列分析则侧重研究数据序列的互相依赖关系。
后者实际上是对离散指标的随机过程的统计分析,所以又可看作是随机过程统计的一个组成部分。
納畴鳗吶鄖禎銣腻鰲锬。
1.2市场背景
在经济金融领域,存在着大量的时间序列数据,对于这些数据的分析和挖掘,是市场上十分热门的应用。
在市场上能够对时序数据进行可视化分析的工具软件相当之多,可以列举出以下三类:
風撵鲔貓铁频钙蓟纠庙。
(1)针对金融市场的各类分析软件,尤其如股票分析软件等。
(2)针对商业分析的各类商业智能(BusinessIntelligence)软件,如进行销售业绩分析的软件等。
灭嗳骇諗鋅猎輛觏馊藹。
(3)针对经济数据分析的计量经济学分析软件。
这些软件有一个特点,就是专业性比较强,使用起来比较复杂,而且往往不仅仅针对一类数据。
即使是专门针对股票数据的工具,也常常会有很多专业性的指标和术语。
这就要求用户投入相当的精力和时间来进行相关的培训,以熟悉各种指标、术语和使用方法。
铹鸝饷飾镡閌赀诨癱骝。
在本工具专注的计量经济学领域,存在着Eviews,SAS等等相当专业的工具。
同样的,这些工具也存在着门槛较高,使用方法较复杂的问题。
在使用这些软件进行专业的统计分析之前,最好的方法是利用样本数据进行相关术语和分析方法的学习。
尤其在计量经济学领域,经济时序数据常常是长期趋势、季节性、周期性都很明显的数据,利用一种简便的工具对样本经济学数据进行分析和学习是很必要的。
攙閿频嵘陣澇諗谴隴泸。
1.3研究目标
根据以上背景介绍和分析,本课题的目标便产生了:
(1)本课题将深入研究时间序列数据,尤其是经济学数据的统计学特征,利用时间序列分析的技术,建立有效而容易理解的统计学模型。
趕輾雏纨颗锊讨跃满賺。
(2)利用建立起的统计学模型,本课题将设计和实现一个原型教学工具,展示对于一维时间序列数据进行分析处理,并将最终结果可视化的过程。
夹覡闾辁駁档驀迁锬減。
1.4本论文组织结构
论文结构分成9章,包括相关概念和理论知识的介绍、统计研究过程的设计和具体实现,对统计结果的分析以及对本文的总结。
视絀镘鸸鲚鐘脑钧欖粝。
第一章说明了选题的背景意义。
第二章介绍了在课题中所用到的相关技术概念和理论知识的介绍。
第三章介绍了系统的概要设计和模块划分。
第四章详述了系统各模块的设计与实现。
第五章以样本数据为例,演示了本系统的功能。
第六章总结了论文的主要工作,对未来的工作提出了展望。
2相关概念和理论知识
2.1数据可视化
数据可视化研究范围包括三个方面。
2.1.1数据类型
数据可视化涉及到数据类型、可视化技术以及对数据进行交互和变形的技术。
这三个要素构成了对数据的可视化。
待可视化的数据类型包括:
偽澀锟攢鴛擋緬铹鈞錠。
(1)一维数据
一维数据通常有一个密度维,典型的一维数据的例子是时序数据。
在每一个时间点有一个或多个数据值相关联。
(2)二维数据
二位数据有两个不同维。
一个典型的例子是地理数据,有两个不同的维——精度和纬度。
X-Y坐标是典型的现实二位数据的方法。
在数据量不是很大的情况下,可以很容易的处理时序数据或地理数据。
緦徑铫膾龋轿级镗挢廟。
(3)多维数据
许多数据集包括超过三个的属性,这样就不能简单的作为二维或三维数据来显示。
多维数据的典型例子是关系数据库中的表,标的每一列都表示一个属性。
可以对多维数据进行描述的方法有:
平行坐标、密集像素显示技术、散点图矩阵、星型坐标等等。
騅憑钶銘侥张礫阵轸蔼。
(4)文本和超文本,不是所有的数据都可以靠维数来表示。
文本和超文本是一种重要的数据类型,这些数据不能轻易的被描述为数字,因此许多标准的可视化技术不能被应用。
多数情况下,首先把该数据转化为向量描述,然后再应用可视化技术。
疠骐錾农剎貯狱颢幗騮。
(5)还有一些数据类型,如图形、层次数据、算法和软件等等。
图形可以表示一般数据之间的内部依赖关系。
层次数据类型可视化在专门的论文中有叙述。
算法和软件的可视化目的是为了帮助对算法的理解,以此来支持软件的开发,例如流程图、代码结构图等等。
镞锊过润启婭澗骆讕瀘。
图2.1数据可视化的三个方面
2.1.2可视化技术
可视化技术包含几个方面,下面逐个介绍每种可视化技术。
(1)标准的2D/3D技术:
如X-Y(X-Y-Z)坐标,散点图(Scatterplots),条形图(BarCharts),线条图(LineGraphs)等等,这也是我们最常用到的数据可视化表达方式。
榿贰轲誊壟该槛鲻垲赛。
散点图又叫散布图,相关图,它是将两个可能相关的变数资料用点画在座标图上,用成对的资料之间是否有相关性。
这种成对的资料或许是特性——原因,特性——特性——原因的关系。
通过对其观察分析,来判断两个变数之间的相关关系。
这种生产中也是常见的,例如热处理时淬火温度与工件硬度之间的关系,某种元素在材料中的含量与材料强度的关系等。
这种关系虽然存在,但又难以用精确的公式或函数,在这种情况下用散点图来分析就是很方便的。
假定有一对变数x和y,x影响因素,y表示某一质量特征值,通过实验或收集到的x和y的资料,上用点表示出来,根据点的分布特点,就可以判断x和y的相关情况。
在我们的生活及工作中,许多现象和原因,有些呈规则的关联,有些呈不规则连。
我们要了解它,就可借助散点图统计手法来判断它们之间的相关关系。
散点图表示因变量随自变量而变化的大致趋势,据此可以选择合适的函数对数据点进行拟合。
邁茑赚陉宾呗擷鹪讼凑。
散点图将序列显示为一组点。
值由点在图表中的位置表示。
类别由图表中的不同标记表示。
散点图通常用于比较跨类别的聚合数据。
嵝硖贪塒廩袞悯倉華糲。
图2.2散点图
折线图是用直线段将各数据点连接起来而组成的图形,以折线方式显示数据的变化趋势。
折线图可以显示随时间(根据常用比例设置)而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势。
在折线图中,类别数据沿水平轴均匀分布,所有值数据沿垂直轴均匀分布。
该栎谖碼戆沖巋鳧薩锭。
另外,在折线图中,数据是递增还是递减、增减的速率、增减的规律(周期性、螺旋性等)、峰值等特征都可以清晰地反映出来。
所以,折线图常用来分析数据随时间的变化趋势,也可用来分析多组数据随时间变化的相互作用和相互影响。
例如可用来分析某类商品或是某几类相关的商品随时间变化的销售情况,从而进一步预测未来的销售情况。
在折线图中,一般水平轴(X轴)用来表示时间的推移,并且间隔相同;而垂直轴(Y轴)代表不同时刻的数据的大小。
劇妆诨貰攖苹埘呂仑庙。
下图显示了一个包含三个序列的折线图。
图2.3折线图
(2)几何转化显示技术(Geometrically-TransformedDisplays):
几何转化显示技术旨在发现多维数据集的有趣的转化。
几何显示技术据研究统计主要包括:
点图矩阵(Scatterplotsmatrices)、解剖视图(ProsectionViews)、平行坐标法(ParallelCoordinates)、星型坐标法(StarCoordinates)臠龍讹驄桠业變墊罗蘄。
(3)可视化技术还包括图标显示技术(IconicDisplays)、密集象素显示技术(DensePixelDisplays)、层叠式显示技术(StackedDisplays)等。
鰻順褛悦漚縫冁屜鸭骞。
散点图与折线图也是本工具所使用的主要可视化技术。
2.1.3交互和变形技术
除了数据可视化技术,对于有效的数据研究还需要一些交互和变形技术。
交互和变形技术可以使数据分析人员直接和视图交互,并且按照研究对象动态地改变试图。
用户根据领域知识和主观判断利用交互变形技术可以使视图以不同的效果显示出来,从不同的角度对数据进行分析观察,达到很好的数据分析效果。
不同的数据可视化方法,对视图的交互和变形技术也有所不同,如上面介绍的各个数据可视化方法,都有各自的可视化技术供用户在于数据视图进行交互式使用。
穑釓虚绺滟鳗絲懷紓泺。
下图展示了一个可视化模型:
图2.4可视化模型
2.1.4数据挖掘可视化
数据挖掘是从大量的数据中提取或“挖掘”知识。
广义的观点是,数据挖掘是从存放在数据库、数据仓库或其他信息库中的大量数据中挖掘有意义的知识的过程。
数据挖掘被视为数据管理与分析技术自然进化的产物。
可视化在数据挖掘中是一个多面手,能使人在视觉上理解多维数据中的复杂模式,通过观察数据在多重维数和多重图形窗体中的存在形态,可以直观、迅速地揭示数据趋势,帮助验证数据挖掘模型的可信度。
传统的数据挖掘过程以机器为中心,而融和了可视化技术的数据挖掘过程是以人为中心的。
这样做的好处是,提高了整个数据挖掘过程的灵活性、有效性、与用户的交互性。
隶誆荧鉴獫纲鴣攣駘賽。
可视化技术在数据挖掘中能起到以下作用:
(1)通过提供对数据和知识的可视化,可以利用人类的模式识别能力评估和提高挖掘出的结果模式的有效性;
(2)利用可视化技术建立用户与数据挖掘系统交互的良好沟通通道,使用户能够使用自己丰富的行业知识来规整、约束挖掘过程,改善挖掘结果;浹繢腻叢着駕骠構砀湊。
(3)提供对挖掘结果的可视化显示,使用户对结果模式能够有深刻直观的理解,从而打破传统挖掘算法的黑盒子模式,使用户对挖掘系统的信赖程度大大提高。
下图分别说明了可视化技术在数据挖掘不同阶段的应用。
鈀燭罚櫝箋礱颼畢韫粝。
图2.5可视化技术在数据挖掘中的应用
2.2时间序列数据挖掘和时间序列分析
2.2.1时间序列数据挖掘简介
时序数据挖掘是数据挖掘的重要内容。
数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在的有用信息和知识的过程。
而时序数据挖掘则是挖掘时序数据中潜在的有用的知识或信息。
时序数据挖掘已经受到众多学者的关注,并已成为信息领域的研究热点之一。
近几年来,从事时序数据挖掘研究的学者的研究重点主要集中在如何建立时序预测或分析模型,这些研究的共同特点是建立以数学公式形式表示的模型对时间序列执行趋势分析或预测,如基于人工神经网络的时序预测模型,Box-JenkinsModel以及ARIMAModels,各种混合模型(HybridModel)等。
为建立模型,先把时序数据的一部分作为训练集,然后对模型进行有指导的学习,当认为模型的准确率可以接受时,模型就以数学公式的形式确定下来,并用它对未知的时序对象进行预测。
本文主要使用时间序列分析中的统计学方法来进行数据的挖掘,以下具体介绍时间序列分析的主要内容以及本文所使用的数学模型。
惬執缉蘿绅颀阳灣熗鍵。
2.2.2时间序列分析
时间序列分析是一种根据动态数据揭示系统动态结构和规律的统计方法,是统计学科的一个分支。
其基本思想是根据系统有限长度的运行记录(观察数据),建立能够比较精确地反映时间序列中所包含的动态依存关系的数学模型,并借以对系统的未来行为进行预报。
贞廈给鏌綞牵鎮獵鎦龐。
时序分析具有以下特点:
(1)时序分析是根据预测目标过去至现在的变化趋势预测未来的发展,它的前提是假设预测目标的发展过程规律性会继续延续到未来,即以惯性原理为依据。
嚌鲭级厨胀鑲铟礦毁蕲。
事物的现实是历史发展的结果,而事物的未来又是现实的延续,现实与未来是有联系的。
时间序列分析法正是根据客观事物发展的这种连续性,利用历史数据推测预测对象未来的发展趋势。
但事物未来的变化趋势会受到多种因素的影响,而各种影响因素又在不断发展变化,因此对象的未来发展也不可能是过去历史的简单重复。
随着时间的推移,环境因素的制约和影响也在积累,因此时间序列预测用于短期预测精度较高,中期预测其次,长期预测最低。
薊镔竖牍熒浹醬籬铃騫。
(2)时间序列数据的变化存在着规律性与不规律性。
时间序列中每一时期的数据,都是由许多不同的因素同时发生作用的综合结果。
通常根据各种因素的特点或影响效果可将这些因素分为四类:
齡践砚语蜗铸转絹攤濼。
长期趋势(T)
是指由于某种关键因素的影响,时间序列在较长时间内连续不断地向一定的方向持续发展(上升或下降),或相对停留在某一水平上的倾向,反映了事物的主要变化趋势,是事物本质在数量上的体现,它是分析预测目标时间序列的重点。
绅薮疮颧訝标販繯轅赛。
季节变动(S)
是指由于自然条件和社会条件的影响,时间序列在某一时期依一定周期规则性地变化。
它一般归因于一年内的特殊季节、节假日,典型的如农产品的季节加工、化肥、空调、服装、某些食品的销售等。
饪箩狞屬诺釙诬苧径凛。
循环变动(C)
变动以数年为周期,而变动规律是波动式的变动。
它与长期趋势不同,不是朝单一方向持续发展,而是涨落相间的波浪式起伏变动。
与季节变动也不同,它的波动时间较长,变动周期长短不一。
市场经济条件下由于竞争,出现一个经济扩张时期紧接着是一个收缩时期,再接下来又是一个扩张时期等变化,通常在同一时间内影响到大多数经济部门,如对农产品的需求量、住宅建筑、汽车工业的发展、资本主义国家经济危机的变化周期等。
这种循环往往是由高值到低值,再回到高值的波浪型模式。
烴毙潜籬賢擔視蠶贲粵。
不规则变动(I)
是指各种偶然性因素引起的变动。
不规则变动又可分为突变和随机变动。
所谓突变,是指诸如战争、自然灾害、意外事故、方针政策等的改变所引起的变动;随机变动是指由于各种随机因素所产生的影响。
鋝岂涛軌跃轮莳講嫗键。
上述各类影响因素的共同作用,使时间序列数据发生变化,有的具有规律性,如长期趋势变动和季节性变动;有些就不具有规律性,如不规则变动以及循环变动(从较长的时期观察也有一定的规律性,但短时间的变动又是不规律的)。
时间序列分析法,就是要运用统计方法和数学方法,把时间序列数据分解为T,S,C,I四类因素或其中的一部分,据此预测时间序列的发展规律。
撷伪氢鱧轍幂聹諛詼庞。
(3)时间序列是一种简化。
时间序列预测方法,假设预测对象的变化仅仅与时间有关,根据它的变化特征,以惯性原理推测其未来状态。
事实上,预测对象与外部因素有着密切而复杂的联系。
时间序列中的每一个数据都是许多因素综合作用的结果,整个时间序列则反映了外部因素综合作用下预测对象的变化过程。
因此,预测对象仅与时间有关的假设,是对外部因素复杂作用的简化,这种简化使预测更为直接和简便。
踪飯梦掺钓貞绫賁发蘄。
2.2.3时间序列的分析模型
一个时间序列通常包括上述的四种或其中几种变动因素,因此分析时间序列的基本思路就是将其中的变动因素一一分解出来,测定其变动规律,然后再综合反映它们的变动对时间序列变动的影响。
婭鑠机职銦夾簣軒蚀骞。
采用何种方法分析和测定时间序列中各因素的变动规律或变动特征取决于对四种变动因素之间相互关系的假设。
一般可对时间序列各变动因素关系做二种不同的假设,即加法关系假设或乘法关系假设,由此形成了相应的加法模型或乘法模型。
譽諶掺铒锭试监鄺儕泻。
(1)加法模型
加法模型假设时间序列中四个变动因素之间是相互独立且其数值可依次相加,即
Xt=Tt+St+Ct+It(2.1)
这种形式要求满足条件:
Xt,Tt,St,Ct,It均有相同的量纲;
k为季节性周期长度;
It是独立随机变量序列,服从正态分布。
显然,加法模型假设季节因素,周期因素和不规则因素的变动均围绕长期趋势值上下波动,它们可表现为正值或负值,以此测定其在长期趋势值的基础上增加或减少若干个单位,并且反映其各自对时间序列值的影响和作用。
俦聹执償閏号燴鈿膽賾。
(2)乘法模型
乘法模型假设时间序列中四个变动因素之间为相乘关系,即变量的时间序列值是各因素的连乘积。
以公式表示
Xt=Tt×St×Ct×It,(2.2)
其中,
Xt与Tt有相同的量纲,St为季节指数,Ct为循环指数,两者皆为比例数;
,
It是独立随机变量序列,服从正态分布。
显然,乘法模型也假设季节因素,周期因素和不规则因素的变动围绕长期趋势值上下波动,但这种波动表现为一个大或小于1的系数或百分比,以此测定其在t时间的长期趋势值的基础上增加或减少的相对程度,并且反映其各自对时间序列值的影响和作用。
缜電怅淺靓蠐浅錒鵬凜。
2.2.4时间序列的分析步骤
一个时间序列通常存在长期趋势变动、季节变动、周期变动和不规则变动因素。
时间序列分析的目的就是逐一分解和测定时间序列中各项因素的变动程度和变动规律,然后将其重新综合起来,预测统计指标今后综合的变化和发展情况。
骥擯帜褸饜兗椏長绛粤。
时间序列的综合分析步骤如下:
(1)确定时间序列的变动因素和变动类型;
(2)计算调整月(季)指数,以测定季节变动因素的影响程度;
(3)调整时间序列的原始指标值,以消除季节变动因素的影响;
(4)根据调整后的时间序列的指标值(简称调整值)拟合长期趋势模型;
(5)计算趋势比率或周期余数比率,以度量周期波动幅度和周期长度;
(6)预测统计指标今后的数值。
2.2.5长期趋势的分析方法
长期趋势是统计指标在较长一段时期内发展变化的基本形式和方向。
长期趋势的分析方法主要有移动平均法和回归分析法,二者可依据时间序列的变动特点分别使用或搭配使用。
癱噴导閽骋艳捣靨骢鍵。
(1)移动平均法
一次移动平均法是在算术平均法的基础上加以改进的。
其基本思想是,每次取一定数量周期的数据平均,按时间顺序逐次推进。
每推进一个周期时,舍去前一个周期的数据,增加一个新周期的数据,再进行平均。
设Xt为t周期的实际值,一次移动平均值鑣鸽夺圆鯢齙慫餞離龐。
=(Xt+Xt-1+……+Xt-N+1)/N=
(2.3)
其中N为计算移动平均值所选定的数据个数。
t+1期的预测