【技术实现步骤摘要】
一种基于时态联动挖掘的时间序列预测方法及其装置
本专利技术涉及大数据挖掘
,尤其是涉及一种基于时态联动挖掘的时间预测方法及其装置。
技术介绍
时间序列就是一组按照一定的时间间隔排列的一组数据,其时间间隔可以是任意的时间单位,如小时、日、周、月等。如果你是一个股民,某只股票的股价就是一类时序数据,其记录着每个时间点该股票的股价。如果你是一个运维人员,监控数据是一类时序数据,例如对于机器的CPU的监控数据,就是记录着每个时间点机器上CPU的实际消耗值。另外还有用电量时间序列、电商销售量时间序列、脑电时间序列、气温时间序列等等。时间序列的分析预测问题一直是一个研究热点。采用时间序列分析进行预测时需要用到一系列的模型,这种模型统称为时间序列模型。在使用时间序列模型时,总是假定某一数据变化模式或某一种组合模式会重复发生。因此需要首先识别出这种模式,然后采用外推的方式进行预测。依据其建模理论不同,可将这些预测模型划分为两个大类:一类是以统计原理为基础的传统型波动率预测模型,目前较为流行且具有代表性的模型包括ARCH模型和SV模型;另一类是以神经网络、灰色理论、支持向量机等为基础的创新型预测模型。这两类模型在进行预测时各有特点,但其预测的准确度仍有待提高。
技术实现思路
本专利技术公开了一种基于时态联动挖掘的时间序列预测方法及其装置。方法是一种针对多个时间序列进行短期预测的方法,方法可以应用于各种常规的时间序列的短期预测,比如应用于天气时间序列,则可以对短期的天气走势进行更加有效的预测;应用于电量 ...
【技术保护点】
1.一种基于时态联动挖掘的时间序列预测方法及其装置,其特征在于所述方法包括如下步骤:/n方法分为两个阶段,规则挖掘阶段和规则应用阶段,/n一、规则挖掘阶段/n(1)对基础统计数据及映射数据进行准备;/n1.1获取所有时间序列的列表,并为每只时间序列从0开始进行顺序编号,形成时间序列与编号的哈希映射表Hash(Series:ID),和编号与时间序列的哈希映射表Hash(ID:Series);/n1.2获取某个最长时间序列某个时间期以来所有时间期,并对时间期从小到大排序后,从0开始顺序编号,形成时间期与编号的哈希映射表Hash(Date:ID),和编号与时间期的哈希映射表Hash(ID:Date);/n1.3获取每只时间序列在历史的大涨次数和大跌次数,形成时间序列与大涨次数的哈希映射表Hash(Series:UpCount),和时间序列与大跌次数的哈希映射表Hash(Series:DownCount);/n获取每只时间序列的总次数,形成时间序列与总次数的哈希映射表Hash(Series:Count);/n(2)加载大涨和大跌的时间序列数据,并各自填充到二维统计数组里面;/n2.1定义两个二 ...
【技术特征摘要】
1.一种基于时态联动挖掘的时间序列预测方法及其装置,其特征在于所述方法包括如下步骤:
方法分为两个阶段,规则挖掘阶段和规则应用阶段,
一、规则挖掘阶段
(1)对基础统计数据及映射数据进行准备;
1.1获取所有时间序列的列表,并为每只时间序列从0开始进行顺序编号,形成时间序列与编号的哈希映射表Hash(Series:ID),和编号与时间序列的哈希映射表Hash(ID:Series);
1.2获取某个最长时间序列某个时间期以来所有时间期,并对时间期从小到大排序后,从0开始顺序编号,形成时间期与编号的哈希映射表Hash(Date:ID),和编号与时间期的哈希映射表Hash(ID:Date);
1.3获取每只时间序列在历史的大涨次数和大跌次数,形成时间序列与大涨次数的哈希映射表Hash(Series:UpCount),和时间序列与大跌次数的哈希映射表Hash(Series:DownCount);
获取每只时间序列的总次数,形成时间序列与总次数的哈希映射表Hash(Series:Count);
(2)加载大涨和大跌的时间序列数据,并各自填充到二维统计数组里面;
2.1定义两个二维统计数组:StatUp[n,m]和StatDown[n,m],其中n代表所有时间序列的数量,m代表最长时间序列某段时间以来总的时间期的数量;
2.2获取每只时间序列大涨的时间期,以1填充StatUp[n,m]的相应位置,具体为:对于每只时间序列,在得到其时间序列代码及大涨的时间期后,通过Hash(Series:ID)获取行编号,通过Hash(Date:ID)获取列编号,最后设置StatUp数组的行列编号对应位置为1,其余位值设置为0;
2.3获取每只时间序列大跌的时间期,以1填充StatDown[n,m]的相应位置,具体为:对于每只时间序列,在得到其时间序列代码及大跌的时间期后,通过Hash(Series:ID)获取行编号,通过Hash(Date:ID)获取列编号,最后设置StatDown数组的行列编号对应位置为1,其余位值设置为0;
(3)基于统计数组进行时态间隔时间为1时间期、2时间期和3时间期的联动统计,包括大涨联动统计和大跌联动统计;对StatUp和StatDown两个数组分别进行时态联动统计,时态间隔时间仅取3种情况:间隔1时间期,间隔2时间期,间隔3时间期;
3.1大涨联动统计:分别对时态间隔时间的3种情况进行大涨的联动统计,具体为:
a.设置3个一维跟踪数组Stat1[n]、Stat2[n]、Stat3[n],n为所有时间序列的数量;
b.对于StatUp中的每一行,逐位进行扫描,如果位值为1,则进入下一步,否则跳过;
c.获取该1位置所对应的列编号,对该列位置减1,减2和减3的三列进行竖的扫描,如果位值为1,则将该值累加统计到跟踪数组中;列位置减1,减2和减3的三列的扫描统计数据分别记录到Stat1[n]、Stat2[n]、Stat3[n];跟踪数组的每行实际上是与每只时间序列一一对应的;
d.计算支持度和置信度;对于3个跟踪数组的每一行,通过Hash(ID:Series)获取时间序列代码,通过Hash(Series:UpCount)获取大涨次数,通过Hash(Series:Count)获取总次数;最后大涨联动统计的支持度和置信度定义为:
支持度up=100*大涨次数/总次数;
置信度up=100*跟踪数组的统计次数/大涨次数;
3.2大跌联动统计:分别对时态间隔时间的3种情况进行大跌的联动统计;具体过程与大涨联动统计过程类似;统计对象为StatDown二维数组,大跌次数通过Hash(Series:DownCount)获得,最后大跌联动统计的支持度和置信度定义为:
支持度down=100*大跌次数/总次数;
置信度down=100*跟踪数组的统计次数/大跌次数;
(4)基于联动统计结果,挖掘生成大涨的正反面规则和大跌的正反面规则;
4.1大涨正面规则生成:设定最小支持度minSupport、最小置信度minConfidence和最少时间期次数minPeriodCount参数,基于大涨联动统计和计算的结果,获取支持度大于minSupport,置信度大于minConfidence,时间期次数大于minPeriodCount的元组,这些元组构成大涨正面规则的元组组合:
UpRule+={SeriesASeriesB,Interval,Support,Confidence}
其中,每条元组代表时间序列SeriesA大涨,在间隔时间Interval后,在支持度Support下,时间序列SeriesB大涨的置信度(或概率)为Confidence;
4.2大涨反面规则生成:设定最小支持度minSupport、最大置信度maxConfidence和最少时间期次数minPeriodCount参数,基于大涨联动统计和计算的结果,获取支持度大于minSupport,置信度小于maxConfidence,时间期次数大于minPeriodCount的元组,这些元组构成大涨反面规则的元组组合:
UpRule-={SeriesA,SeriesB,Interval,Support,Confidence}
其中,每条元组代表时间序列SeriesA大涨,在间隔时间Interval后,在支持度Support下,时间序列SeriesB不会大涨的置信度(或概率)为Confidenc...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。