一种大数据量的趋势曲线绘制方法技术

技术编号:7809505 阅读:372 留言:0更新日期:2012-09-27 08:52
本发明专利技术提出了一种大数据量的趋势曲线绘制方法,用于计算机数据统计分析。该方法首先确定取样间隔,将时间段等分,然后确定特征值,首先对时间段的采样值进行预处理,忽略一些值,然后在时间段中选取三个质心K1、K2和K3,对保留下的值进行聚类,将每个值归类到离它最近的那个质点所代表的聚类中,聚类完成后,将K2和K3的聚类中的第一个值及最后一个值取作特征值,并对K2和K3的聚类中剩余值进行筛选,得到特征值;最后,确定特征值个数,利用贝塞尔曲线逼近算法,绘制曲线。本发明专利技术采样最少采样值绘制了最为逼近的曲线,不用一次查询所有的数据,不用一次将所有数据读入内存,大大节省系统开销,实现了大数据量的快速绘制。

【技术实现步骤摘要】

本专利技术属于计算机数据统计分析领域,具体是针对大数据量的趋势曲线的绘制方法。
技术介绍
趋势图是按一定的时间间隔统计数据,利用曲线的连续变化来反映事物动态变化的图形。趋势图借助于连续曲线的升降变化,来反映事物的动态变化过程。随着信息技术的高速发展,行业数据量急剧增长。对数据进行统计分析可以帮助制定行业决策。例如,对于以交易型数据为主的行业,例如金融、零售业等,对数据进行分 析,快速提炼出具有商业价值的信息将是此类用户面临的需求。而对于医药、气象等需要存储大量的监测信息的行业来说,同样面临的对大数据进行快速分析的挑战。这些数据具有如下特点数据量大并且具有时间相关性。在绘制趋势曲线时,有两种方式,一种是将所有数据一次性读出,逐点绘制,这种方式在将所有数据通过查询语句一次性查询至内存不仅需要较长的时间,而且对内存的大小有一定的要求,随后的逐点绘制优点是可以很好的绘制出趋势曲线,但是绘制速度慢,占用较多的系统资源。另ー种方式是取样绘制曲线,取样绘制可以提高速度,缺点是取样方法会影响到数据的反映。取样方法分为两种,一种是均匀取样,均匀取样通过自变量或參数每次増加(或減少)ー个固定的量来计算下一点的坐标值,然后,将相邻的点用直线段相连完成对曲线的逼近。均匀取样易于使用,计算量小,但是逼近程度较差;另ー种是非均匀取样,非均匀取样是根据某一点性质区别取样。非均匀取样的逼近程度较好,但是实现复杂,不易于理解且计算量较大。在2011年3月2日公开的公开号为101982820的中国专利申请“ー种大数据量的曲线显示查询方法”,提供的技术方案中是在均匀取点的基础上,同时对每个间隔段中的最大值和最小值进行取样,这样每个间隔段均匀取点,并加取最大值和最小值,点与点的连接采用直线。但是,该方法存在如下问题所取的最大值和最小值不一定就是特征值,且在每个间隔段均匀取点,不能很好地覆盖到所有的特征值,影响趋势曲线绘制的逼近度。特征值指的是一段曲线中可以反映曲线大致轮廓的点,一段曲线中最大值和最小值也是特征值,当曲线中只有ー个起伏时,最大值最小值能很好地反映曲线走势,然很多情况下,一段复杂曲线有多个起伏,这样,特征值就不仅仅局限在最大值和最小值上了。如图I所示,曲线I中,A、B为端点值,C点为最大值点,D为最小值点,但是在曲线I中,最大值点和最小值点与其余点相差不大,不会显著影响到趋势曲线的绘制,在采样时,可以忽略。曲线2中,A’、B’为端点,<为最大值点,D’为最小值点,但是在这一段曲线中还有ー个很重要的点,就是匕,它不是最大值点,也不是最小值点,但是它是ー个特征值点,会影响到曲线的走势,是不可以忽略的。
技术实现思路
本专利技术所要解决的技术问题是针对大数据量,采用均匀取样逼近程度较差,采用非均匀取样计算量较大,在实现的曲线显示查询中没有考虑ー个间隔段中多个特征值的情况使得曲线表述的准确性有限;针对这些问题,本专利技术提出ー种大数据量的趋势曲线绘制方法。本专利技术ー种大数据量的趋势曲线绘制方法,包括如下步骤步骤I :获取用户指定的曲线绘制时间区间T ,将T等分成N个时间段[TiJiJ,i=0…N-I ;步骤2 :构造查询SQL语句,从数据库中获取第一个时间段的首个采样值Dtl以及每个时间段[Ti, Ti+1]的最后ー个采样值Di+1,i =O-N-I ;步骤3 :构造查询SQL语句,从数据库中获取时间段[TdIV1]中所有采样值的数据,将数据读入内存后,转入步骤4执行;初始i = O ;步骤4 :对读入内存的数据作预处理,具体是针对每ー个采样值,确定该采样值减去其前ー个采样值的差值,以及该采样值减去其后ー个采样值的差值,判断两个差值是否同为正数或者负数,若是,则保留该采样值,否则舍弃该采样值;步骤5 :在当前获取的时间段[Ti, Ti+1]中选取三个质心K1, K2和K3 ;步骤6 :对时间段[Ti, Ti+1]中保留的每个采样值,计算采样值到每个质心的距离,将每个采样值归类到离它最近的质心所代表的聚类中;步骤7 :聚类完成后,在以K2和K3为质心的两个聚类中,标记弟Iv米样值及最后ー个采样值为特征值;步骤8 :对以K2和K3为质心的两个聚类中的数据进一歩筛选,具体是针对每个聚类中的每个非特征值的采样值,判断该采样值も与其前ー个采样值もべ作差的绝对值Sj-Sj^1 I,或者采样值A与其后ー个样本值sj+1作差的绝对值ISj-SjJ,是否大于或等于阀值A,若是,则取该采样值A为特征值,否则,舍弃该采样值A ;步骤9 :记录当前时间段[TiJw]在步骤7和步骤8中所取得的特征值,并统计特征值的总个数Ci ;步骤10 :根据时间段[TiJiJ中的第一个样本值Di、最后ー个样本值Di+1以及Ci个特征值,共Q+2个样本值,构造Ci+Ι次贝塞尔曲线B (t),曲线绘制后,清除内存中时间段[Ti, Ti+1]的数据,然后i递增加1,判断i是否等于N,若否,转步骤3执行,若是,结束本方法。所述步骤5中的三个质心为K1=(DJDw)/^; K2= ((Di+Di+1) + ((Dw-Di)2+ (Tw-Ti)2)1/2) /2 ;K3= ((D^Dw) - ((Dw-Di)2+ (Tw-Ti)2)1/2) /2 ;Di为时间段[Ti, Ti+1]的第一个米样值,Di+1为时间段[Ti, Ti+1]的最后ー个米样值。所述步骤10中的所述的贝塞尔曲线B (t),具体为B(t)=》’(ヤA Pjtjfl - t)ci+1—i其中,Pj是Ci+2个样本值中的第j个样本值;參数t e 。本专利技术方法的优点与积极效果在于(I)本专利技术方法在均匀取点的基础上,特征点的取样与其它部分的取样区别对待,结合了均匀取点和非均匀取点的优点,具有均匀取点易于使用,计算量小的优点,又有非均匀取点逼近程度较好的优点;(2)用最少的取样点,最大程度地反映数据所要表达的信息;(3)借鉴数据挖掘中数据聚类的方法,更准确地判断出特征点; (4)针对每个时间段,根据采样点,构造贝塞尔曲线,不仅保证了曲线的平滑效果,而且由于时间段内采样点数有限,构造贝塞尔曲线计算量相对较小,可以大大提高曲线绘制的效率;( 5 )对数据是分段处理的,不仅不用一次查询所有的数据,而且不用一次将所有数据都读入内存,可以大大的节省系统开销。附图说明图I是曲线特征值点的示例图;图2是本专利技术的趋势曲线绘制方法的整体步骤流程图;图3是数据聚类的示意图;图4是本专利技术实施例采用本专利技术方法所得到的曲线示意图。具体实施例方式下面将结合附图和实施例对本专利技术作进ー步的详细说明。如图2所示,本专利技术提出的ー种大数据量的趋势曲线绘制方法,具体包括如下步骤。步骤一获取用户指定的曲线绘制时间区间T,将T等分成N段,每个时间段为[Ti, Ti+1] (i=0…N-1),N默认为50,可被重新设置。时间段[1\,1\+1]中对应的采样值的个数为Qi,每个采样值可看作曲线上的ー个点。步骤ニ 构造查询SQL语句,从数据库中获取N+1个数据;所述的N+1个数据包括第一个时间段[TwT1]的第一个采样值Dtl以及每个时间段[1\,1\+1] (i=0…N-1)的最后ー个采样值Di+1,共N+1个值。端点值的保留保证了曲线的流畅性。步骤三构造查询SQL语句,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.ー种大数据量的趋势曲线绘制方法,其特征在于,具体包括如下步骤 步骤I :获取用户指定的曲线绘制时间区间T,将T等分成N个时间段[TiJw], i=(l···N-I ; 步骤2 :构造查询SQL语句,从数据库中获取第一个时间段的首个采样值Dtl以及每个时间段[Ti, Ti+1]的最后ー个采样值Di+1,I=O-N-I ; 步骤3 :构造查询SQL语句,从数据库中获取时间段[TiJiJ中所有采样值的数据,将数据读入内存后,转入步骤4执行;初始i = O ; 步骤4 :对读入内存的数据作预处理,具体是针对每ー个采样值,确定该采样值减去其前ー个采样值的差值,以及该采样值减去其后ー个采样值的差值,判断两个差值是否同为正数或...

【专利技术属性】
技术研发人员:李睿吕江花马世龙
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1