CN106649832B - 一种基于缺失数据的预估方法及装置 - Google Patents
一种基于缺失数据的预估方法及装置 Download PDFInfo
- Publication number
- CN106649832B CN106649832B CN201611248930.4A CN201611248930A CN106649832B CN 106649832 B CN106649832 B CN 106649832B CN 201611248930 A CN201611248930 A CN 201611248930A CN 106649832 B CN106649832 B CN 106649832B
- Authority
- CN
- China
- Prior art keywords
- missing
- sub
- data
- historical data
- time period
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
Abstract
本发明实施例公开了一种基于缺失数据的预估方法及装置,其中预估方法为:获取预设时间段内采集到的全部历史数据;将预设时间段内全部历史数据划分到M个子时间段中;在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段;计算当前子时间段中缺失的历史数据的缺失密度;判断当前子时间段中历史数据的缺失密度是否大于预设阈值;如果否,返回在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段的步骤;如果是,在当前子时间段中确定满足预先设置的截断条件的待截断数据;根据时间先后顺序,至少将待截断数据之前的所有的数据截断;根据全部历史数据中剩余的历史数据进行预估。本发明能够有效地改善预估结果的偏差现象。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种基于缺失数据的预估方法及装置。
背景技术
目前,互联网已经成为人们获取信息的重要途径,随着网络数据量的不断增加,数据挖掘和分析日趋得到关注。其中,数据分析是一种商业信息处理技术,在银行、电信、保险、交通和零售等领域得到了广泛的应用。通过对大量数据进行抽取、转换、分析和模型化处理,可以预估未来一段时间内某个业务产生数据的趋势。
时间序列分析是一种动态数据处理的统计方法。该方法基于随机过程理论和数理统计学方法,研究随机数据序列所遵从的统计规律。此外,该方法还可以被应用在其他预估领域,例如:入侵检测和库存预估等。具体地,在采用时间序列分析方法对未来一段时间内的数据进行预估之前,需要采集在预设时间段内的历史数据。在理想情况下,在预设时间段内采集到的历史数据是不存在缺失的,这样就可以根据预设时间段内采集到的全部历史数据预估未来一段时间内的数据;但是在实际情况下,在预设时间段内采集到的历史数据是存在缺失的。现有基于缺失数据的预估方法主要包括以下两种:
第一、当预设时间段内采集到的历史数据存在缺失时,将预设时间段内采集到的历史数据在最后一个缺失的历史数据之后进行截断;然后根据最后一个缺失的历史数据之后的历史数据进行预估。例如,假设预设时间段内采集到的全部历史数据[a,b]中存在A、B和C三个缺失的历史数据,将预设时间段内采集到的历史数据在历史数据C之后截断;然后根据历史数据C之后的历史数据(C,b]进行预估。
第二、当预设时间段内采集到的历史数据存在缺失时,先在各个缺失的历史数据处进行插值,然后根据预设时间段内采集到的历史数据和插值后的历史数据进行预估。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
在现有第一种基于缺失数据的预估方法中,当最后一个缺失的历史数据之后的历史数据较少时,根据最后一个缺失的历史数据之后的历史数据进行预估会出现偏差;在现有第二种基于缺失数据的预估方法中,在各个缺失的历史数据中直接进行插值,当预设时间段内采集到的历史数据中缺失的历史数据较多时,预估结果会产生严重的偏差现象。
发明内容
本发明实施例的目的在于提供一种基于缺失数据的预估方法及装置,能够有效地改善预估结果的偏差现象。
为达到上述目的,本发明实施例公开了一种基于缺失数据的预估方法,所述方法包括:
获取预设时间段内采集到的全部历史数据;
根据所述全部历史数据与采集时间的对应关系,将预设时间段内所述全部历史数据划分到M个子时间段中,其中,所述M为大于或等于2的自然数;
在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段;
计算所述当前子时间段中缺失的历史数据的缺失密度;
判断所述当前子时间段中历史数据的缺失密度是否大于预设阈值;
如果否,返回所述在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段的步骤;
如果是,在所述当前子时间段中确定满足预先设置的截断条件的待截断数据;
根据时间先后顺序,至少将待截断数据之前的所有的数据截断;
根据所述全部历史数据中剩余的历史数据进行预估,其中,所述剩余的历史数据为除截断的数据以外的数据。
可选地,所述根据时间先后顺序,至少将待截断数据之前的所有的数据截断,所述的方法还包括:
根据时间先后顺序,将待截断数据所在的子时间段的最后一个数据之前的所有的数据截断。
可选地,所述在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段,包括:
在全部子时间段中选择最后一个子时间段作为第一子时间段;
按照时间倒序,在所述全部子时间段中选择与所述第一子时间段之前相邻的子时间段作为第二子时间段;
将当前选择的所述第一子时间段或者所述第二子时间段作为当前子时间段。
可选地,所述计算所述当前子时间段中缺失的历史数据的缺失密度,包括:
统计各个子时间段中缺失的历史数据的缺失数量;
根据所述各个子时间段中缺失的历史数据的缺失数量以及预先确定的各个子时间段中历史数据的总数量,计算各个时间段中缺失的历史数据的缺失密度。
可选地,所述在所述当前子时间段中确定满足预先设置的截断条件的待截断数据,包括:
判断所述当前子时间段中最后一个缺失的历史数据之后是否存在至少一个非缺失的历史数据;
当所述最后一个缺失的历史数据之后存在至少一个非缺失的历史数据时,确定所述最后一个缺失的历史数据之后第一个非缺失的历史数据为所述待截断数据;或
当所述最后一个缺失的历史数据之后不存在至少一个非缺失的历史数据,则判定所述最后一个缺失的历史数据为当前子时间段的最后一个数据时,在所述最后一个缺失的历史数据处进行插值;
确定插值后的最后一个历史数据为所述待截断数据。
可选地,所述在所述最后一个缺失的历史数据处进行插值,包括:
判断所述当前子时间段中非缺失的历史数据的非缺失数量是否大于或等于N;其中,N是大于或等于1的自然数;
当所述非缺失数量大于或等于N时,根据所述最后一个历史数据之前的N个非缺失的历史数据在所述最后一个缺失的历史数据处进行插值;
当所述非缺失数量小于N时,根据所述最后一个历史数据之前的全部非缺失的历史数据在所述最后一个缺失的历史数据处进行插值。
可选地,在所述根据所述全部历史数据中剩余的历史数据进行预估之前,所述方法还包括:
当全部历史数据中剩余的历史数据存在缺失时,在各个缺失的历史数据处进行插值;
所述根据所述全部历史数据中剩余的历史数据进行预估,包括:
根据全部历史数据中剩余的历史数据插值后的历史数据进行预估。
为达到上述发明目的,本发明还公开了一种基于缺失数据的预估装置,所述装置包括:
获取模块,用于获取预设时间段内采集到的全部历史数据;
划分模块,用于根据所述全部历史数据与采集时间的对应关系,将预设时间段内所述全部历史数据划分到M个子时间段中,其中,所述M为大于或等于2的自然数;
选择模块,用于在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段;
计算模块,用于计算所述当前子时间段中缺失的历史数据的缺失密度;
判断模块,用于判断所述当前子时间段中历史数据的缺失密度是否大于预设阈值;
返回模块,用于如果否,返回所述在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段的步骤;
确定模块,用于如果是,在所述当前子时间段中确定满足预先设置的截断条件的待截断数据;
截断模块,用于根据时间先后顺序,至少将待截断数据之前的所有的数据截断;
预估模块,用于根据所述全部历史数据中剩余的历史数据进行预估,其中,所述剩余的历史数据为除截断的数据以外的数据。
可选地,所述截断模块,还用于,根据时间先后顺序,将待截断数据所在的子时间段的最后一个数据之前的所有的数据截断。
可选地,所述选择模块,包括:
第一子时间段选择子模块,用于在全部子时间段中选择最后一个子时间段作为第一子时间段;
第二子时间段选择子模块,用于按照时间倒序,在所述全部子时间段中选择与所述第一子时间段之前相邻的子时间段作为第二子时间段;
当前子时间段选择子模块,用于将当前选择的所述第一子时间段或者所述第二子时间段作为当前子时间段。
可选地,所述计算模块,包括:
统计子模块,用于统计各个子时间段中缺失的历史数据的缺失数量;
计算子模块,用于根据所述各个子时间段中缺失的历史数据的缺失数量以及预先确定的各个子时间段中历史数据的总数量,计算各个时间段中缺失的历史数据的缺失密度。
可选地,所述确定模块,包括:
判断子模块,用于判断所述当前子时间段中最后一个缺失的历史数据之后是否存在至少一个非缺失的历史数据;
第一确定子模块,用于当所述最后一个缺失的历史数据之后存在至少一个非缺失的历史数据时,确定所述最后一个缺失的历史数据之后第一个非缺失的历史数据为所述待截断数据;或
插值子模块,用于当所述最后一个缺失的历史数据之后不存在至少一个非缺失的历史数据,则判定所述最后一个缺失的历史数据为当前子时间段的最后一个数据时,在所述最后一个缺失的历史数据处进行插值;
第二确定子模块,用于确定插值后的最后一个历史数据为所述待截断数据。
可选地,所述插值子模块,包括:
判断单元,用于判断所述当前子时间段中非缺失的历史数据的非缺失数量是否大于或等于N;其中,N是大于或等于1的自然数;
第一插值单元,用于当所述非缺失数量大于或等于N时,根据所述最后一个历史数据之前的N个非缺失的历史数据在所述最后一个缺失的历史数据处进行插值;
第二插值单元,用于当所述非缺失数量小于N时,根据所述最后一个历史数据之前的全部非缺失的历史数据在所述最后一个缺失的历史数据处进行插值。
可选地,所述预估装置还包括:
插值模块,用于当全部历史数据中剩余的历史数据存在缺失时,在各个缺失的历史数据处进行插值;
所述预估模块,具体用于,根据全部历史数据中剩余的历史数据插值后的历史数据进行预估。
本发明实施例的一种基于缺失数据的预估方法及装置中,通过获取预设时间段内采集到的全部历史数据,将全部历史数据划分到M个子时间段中,在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段,计算当前子时间段中缺失的历史数据的缺失密度,判断当前子时间段中历史数据的缺失密度是否大于预设阈值,在所述当前子时间段中确定满足预先设置的截断条件的待截断数据,根据时间先后顺序,至少将待截断数据之前的所有的数据截断,通过对缺失值严重的序列进行截断,对该序列是否适合使用时间序列分析算法进行预判,并选择不同预估方法,提高对未来数据预估的准确性。根据全部历史数据中剩余的历史数据进行预估,避免了当最后一个缺失的历史数据之后的历史数据较少时,根据最后一个缺失的历史数据之后的历史数据进行预估出现偏差。在本发明实施例的一种基于缺失数据的预估方法,根据全部历史数据中剩余的历史数据进行预估,以及在缺失数据小于预设阈值的剩余历史数据的缺失数据处进行插值,有效改善了现有基于缺失数据的预估方法中,在各个缺失的历史数据中直接进行插值,当预设时间段内采集到的历史数据中缺失的历史数据较多时,预估结果产生的偏差现象。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种基于缺失数据的预估方法流程图;
图2为本发明实施例的一种基于缺失数据的预估方法实施图;
图3为本发明实施例的一种基于缺失数据的预估方法装置图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为达到上述发明目的,本发明实施例公开了一种基于缺失数据的预估方法,如图1所示,图1为本发明实施例的一种基于缺失数据的预估方法流程图,方法包括:
S101,获取预设时间段内采集到的全部历史数据;
具体地,根据需要设定预设时间,在系统数据库中获取该预设时间段的全部历史数据,该历史数据为预估未来时间段数据情况的参考数据。具体可根据业务类型、或者实施人员需要预估未来时间段的该业务数据变化的趋势,获取相对应的历史数据。
S102,根据全部历史数据与采集时间的对应关系,将预设时间段内全部历史数据划分到M个子时间段中,其中,M为大于或等于2的自然数;
具体地,根据上述获得到的历史数据与采集时间的对应关系,在实施过程中可根据实施人员的要求,将历史数据利用分桶的方法划分成M个子时间段中。
例如,当采用过去250天的库存数据作为历史数据时,可根据业务类型以及时间顺序,将这250天的数据划分在50个子时间段内。
S103,在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段;
具体地,在得到上述的M个子时间段中,遍历查找子时间段的缺失数据。在实施过程中可根据实施人员的需要,按照时间顺序遍历历史数据,或者按照时间倒序遍历历史数据都是可取的。
S104,计算当前子时间段中缺失的历史数据的缺失密度;
具体地,在上述查找到子时间段的缺失数据后,计算出该子时间段的缺失密度。
S105,判断当前子时间段中历史数据的缺失密度是否大于预设阈值;
具体地,根据历史数据以及经验设定每个子时间段的缺失密度阈值大小,将该值定义为预设阈值。在上述计算完该子时间段的缺失密度后,将该子时间段的缺失密度与设置的预设阈值进行比较。
S106,如果否,返回在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段的步骤;
具体地,在判断出该子时间段的缺失密度小于设置的预设阈值时,说明该子时间段的缺失数据是可以接受的,对未来数据的预估影响偏差不会太大,则需要返回到划分的M子时间段中,按要求选取下一个未选择的子时间段,再判断当前选择的子时间段的缺失密度与预设阈值的关系。
S107,如果是,在当前子时间段中确定满足预先设置的截断条件的待截断数据;
具体地,在判断出该子时间段的缺失密度大于设置的预设阈值时,说明该子时间段的缺失数据过多,会影响对未来数据的预估。设置截断条件,确定出满足截断条件的数据,将该部分数据定义为待截断数据。按照此循环方式,找出待截断数据。
S108,根据时间先后顺序,至少将待截断数据之前的所有的数据截断;
具体地,在判断出待截断数据后,根据时间先后顺序,至少截断待截断数据之前的所有历史数据。
S109,根据全部历史数据中剩余的历史数据进行预估,其中,剩余的历史数据为除截断的数据以外的数据。
具体地,根据全部历史数据截断后的剩余的历史数据预估未来数据。可根据剩余历史数据量以及实施人员需要,选择合适的预估方法,例如时间序列法、统计方法或其他方法预估未来数据。
本发明实施例的一种基于缺失数据的预估方法,通过获取预设时间段内采集到的全部历史数据,根据全部历史数据与采集时间的对应关系,将预设时间段内全部历史数据划分到M个子时间段中,通过遍历查找的方式对每个子时间段查找缺失数据,根据缺失密度与预设阈值的大小关系,判定截断数据以及剩余的历史数据,对缺失值严重的序列进行截断,对该序列是否适合使用时间序列分析算法进行预判,并选择不同预估方法,提高对未来数据预估的准确性。根据剩余的历史数据预估未来时间段数据,避免了当最后一个缺失的历史数据之后的历史数据较少时,根据最后一个缺失的历史数据之后的历史数据进行预估出现偏差。
可选地,本发明实施例的一种基于缺失数据的预估方法中,根据时间先后顺序,至少将待截断数据之前的所有的数据截断,还包括:
根据时间先后顺序,将待截断数据所在的子时间段的最后一个数据之前的所有的数据截断。
具体地,根据预先设置好的截断条件确定出待截断数据。在实施过程中,可找到该待截断数据所在的子时间段的最后一个数据,在该待截断数据所在的子时间段的最后一个数据处,按照时间先后顺序、截断全部历史数据该子时间段的最后一个数据之前的全部历史数据。
可见,通过截断待截断数据所在的子时间段的最后一个数据处之前的所有历史数据,可使剩余的历史数据更趋近于当前历史数据,对未来数据的预估结果更加精准。
可选地,本发明实施例的一种基于缺失数据的预估方法中,在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段,包括:
在全部子时间段中选择最后一个子时间段作为第一子时间段;
具体地,在划分好的全部子时段间中,选择最后一个子时间段作为遍历搜索待截断数据的起始子时间段,将该子时间段定义为第一子时间段。
按照时间倒序,在全部子时间段中选择与第一子时间段之前相邻的子时间段作为第二子时间段;
具体地,在选择的第一子时间段后,按照时间倒序,将第一子时间段后的下一个时间段定义为第二子时间段,依次遍历第二子时间段,寻找待截断的历史数据的点。
将当前选择的第一子时间段或者第二子时间段作为当前子时间段。
具体地,将当前选择的第一子时间段或第二子时间段作为当前子时间段,对当前子时间段遍历搜索待截断的数据。
可见,本发明实施例中通过时间倒序的方式,在所有的子时间段中查找待截断的历史数据,可以更好的判断最近一段时间的缺失数据的情况,将最近一段时间对未来数据影响较大的数据截断,提高对未来数据预估的准确性。
可选地,本发明实施例的一种基于缺失数据的预估方法中,计算当前子时间段中缺失的历史数据的缺失密度,包括:
第一步,统计各个子时间段中缺失的历史数据的缺失数量;
具体地,在对每一个子时间段的遍历过程中,需要计算出每一个子时间段的缺失密度,计算出每个时间段的缺失密度与预设阈值作比较,判断出待截断数据。具体在实施过程中,先统计出当前遍历的子时间段的缺失的历史数据的缺失数据量。
第二步,根据各个子时间段中缺失的历史数据的缺失数量以及预先确定的各个子时间段中历史数据的总数量,计算各个时间段中缺失的历史数据的缺失密度。
具体地,在统计完当前子时间段的缺失数据的缺失数据量后,以及预先知道的该子时间段的所有历史数据量总和后,用统计的缺失数据量除以该子时间段数据总量,计算出该子时间段的缺失密度。按照此方法可计算出各个子时间段的缺失密度。
可见,通过统计各个子时间段中缺失的历史数据的缺失数量,根据各个子时间段中缺失的历史数据的缺失数量以及预先确定的各个子时间段中历史数据的总数量,计算各个时间段中缺失的历史数据的缺失密度,可快速的判断出子时间段的缺失数据情况,本发明实施例中使用分桶的方法计算缺失密度,充分考虑了缺失值自身的分布情况,可以根据不同的样条拟合方法,灵活调节缺失密度,以达到最佳的插值效果。
可选地,本发明实施例的一种基于缺失数据的预估方法中,在当前子时间段中确定满足预先设置的截断条件的待截断数据,包括:
判断当前子时间段中最后一个缺失的历史数据之后是否存在至少一个非缺失的历史数据;
具体地,在实施过程中,需要设置截断条件。具体实施过程为:找到当前子时间段的最后一个缺失的历史数据,当找到最后一个缺失的历史数据后,检测该最后一个缺失的历史数据之后是否还有非缺失的历史数据。
当最后一个缺失的历史数据之后存在至少一个非缺失的历史数据时,确定最后一个缺失的历史数据之后第一个非缺失的历史数据为待截断数据;或
具体地,当上述检测该最后一个缺失的历史数据之后还有非缺失的历史数据时,将最后一个缺失的历史数据之后的第一个非缺失的历史数据作为待截断数据。
当最后一个缺失的历史数据之后不存在至少一个非缺失的历史数据,则判定最后一个缺失的历史数据为当前子时间段的最后一个数据时,在最后一个缺失的历史数据处进行插值;
具体地,当上述检测该最后一个缺失的历史数据之后没有非缺失的历史数据时,说明该最后一个缺失的历史数据为该子时间段的最后一个历史数据,在该最后一个缺失数据处进行插值。
确定插值后的最后一个历史数据为待截断数据。
具体地,在上述该子时间段的最后一个历史数据处插完值后,确定插值后的第一个历史数据为待截断的历史数据。
可见,通过本发明实施例确定待截断数据,可以清楚地得到待截断的历史数据以及剩余有用的历史数据,方便对未来数据的预估,也使预估的结果更加准确。
可选地,本发明实施例的一种基于缺失数据的预估方法中,在最后一个缺失的历史数据处进行插值,包括:
判断当前子时间段中非缺失的历史数据的非缺失数量是否大于或等于N;其中,N是大于或等于1的自然数;
具体地,给当前子时间段非缺失数据设置一个阈值,该阈值用来检测当前子时间段非缺失的历史数据的个数与设置的阈值的关系,在本发明实施例中将该阈值设置为N。
当非缺失数量大于或等于N时,根据最后一个历史数据之前的N个非缺失的历史数据在最后一个缺失的历史数据处进行插值;
具体地,当上述检测到非缺失的历史数据的非缺失数量大于或等于设置的阈值N时,可将最后一个历史数据之前的N个历史数据的平均值计算出来,将该N个历史数据的平均值插在该最后一个缺失的历史数据处。
当非缺失数量小于N时,根据最后一个历史数据之前的全部非缺失的历史数据在最后一个缺失的历史数据处进行插值。
具体地,当上述检测到非缺失的历史数据的非缺失数量小于设置的阈值N时,计算出该子时间段最后一个历史数据之前的所有历史数据的平均值,将该平均值插在最后一个缺失的历史数据处。
可见,通过本发明实施例在最后一个缺失数据处进行插值,可根据该子时间段非缺失历史数据的个数情况,得到最终插值的结果,这样的分类插值处理方法,更能体现出插值的准确性以及对后期预估结果的准确性。
可选地,本发明实施例的一种基于缺失数据的预估方法中,在根据全部历史数据中剩余的历史数据进行预估之前,方法还包括:
当全部历史数据中剩余的历史数据存在缺失时,在各个缺失的历史数据处进行插值;
具体地,在对全部历史数据阶截断后,对剩余的历史数据的各个缺失的历史数据处进行插值。具体插值方法为:计算出缺失历史数据处前几个非缺失数据的平均数,将该平均数插在该缺失数据处。按照此方法,在剩余数据中所有缺失数据处进行插值。需要说明的是,该插值方法不限于此方法,具体可根据实施人员的需要,选择合适的插值方法,在各个缺失的历史数据处进行插值。
相应的,根据全部历史数据中剩余的历史数据进行预估,包括:
根据全部历史数据中剩余的历史数据插值后的历史数据进行预估。
具体地,在上述对剩余历史数据的所有缺失数据进行插值后,得到剩余完整的历史数据。可根据该插值后剩余的完整历史数据预估未来数据。
可见,在本发明实施例中,通过对截断后剩余的历史数据在缺失数据处进行插值,可实现数据的完整性,增加预估数据样本量。另外,对于现有技术中,在缺失数据处插入数据,当缺失的数据较多时,插入的数据量也较大,插入后的数据会影响真实数据的正确性,预估的结果偏差较大,本发明实施例通过设定阈值来判断每个子时间段的缺失数据,避免了缺失值过多时,插入的值过多后数据波动性较大,有效解决了预估偏差,利用该插值后的剩余历史数据预估未来数据,进一步提高预估结果的准确性。
可选地,本发明实施例的一种基于缺失数据的预估方法中,可采用如下的一种实施方法,如图2所示,图2为本发明实施例的一种基于缺失数据的预估方法实施图,包括;
第一步:把历史数据的日期映射到范围数组range(1,index)上,使日期与对应的历史数据的数值索引index绑定,其中,1代表日期。把日期抽象为数字,生成存储历史数据值数组data和存储历史数据的相应下标的索引数组index。
第二步:把采集到X天的历史数据用分桶的方式分为M个子时间段,即分桶的桶个数为M。用桶bucket数组存储每段缺失的历史数据的缺失数量,用截断数组cut记录每段最后一个缺失数据后第一个非缺失数据的历史数据相应下标的索引index。遍历index数组,计算每个桶bucket中缺失数量,同时更新bucket数组和cut数组。若当前桶bucket最后一个历史数据缺失,则计算出该桶bucket最后一个历史数据前面非缺失历史数据的平均值,将该平均值填充在该桶bucket最后一个缺失数据处。
第三步:从最后一个bucket数组开始遍历,若缺失密度大于或等于预设阈值时,则在该bucket数组对应的cut数组存储的index数组下标处截断。
第四步:对截断后剩余的历史数据在缺失数据处进行样条插值。
第五步:插值后若剩余历史数据量太少,则使用统计方法进行预测,否则使用时间序列预估方法预测。
为达到上述发明目的,本发明实施例还公开了一种基于缺失数据的预估装置,如图3所示。图3为本发明实施例的一种基于缺失数据的预估装置图,装置包括:
获取模块301,用于获取预设时间段内采集到的全部历史数据;
划分模块302,用于根据全部历史数据与采集时间的对应关系,将预设时间段内全部历史数据划分到M个子时间段中,其中,M为大于或等于2的自然数;
选择模块303,用于在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段;
计算模块304,用于计算当前子时间段中缺失的历史数据的缺失密度;
判断模块305,用于判断当前子时间段中历史数据的缺失密度是否大于预设阈值;
返回模块306,用于如果否,返回在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段的步骤;
确定模块307,用于如果是,在当前子时间段中确定满足预先设置的截断条件的待截断数据;
截断模块308,用于根据时间先后顺序,至少将待截断数据之前的所有的数据截断;
预估模块309,用于根据全部历史数据中剩余的历史数据进行预估,其中,剩余的历史数据为除截断的数据以外的数据。
本发明实施例的一种基于缺失数据的预估装置,通过获取预设时间段内采集到的全部历史数据,根据全部历史数据与采集时间的对应关系,将预设时间段内全部历史数据划分到M个子时间段中,通过遍历查找的方式对每个子时间段查找缺失数据,根据缺失密度与预设阈值的大小关系,判定截断数据以及剩余的历史数据,对缺失值严重的序列进行截断,对该序列是否适合使用时间序列分析算法进行预判,并选择不同预估方法,提高对未来数据预估的准确性。根据剩余的历史数据预估未来时间段数据,避免了当最后一个缺失的历史数据之后的历史数据较少时,根据最后一个缺失的历史数据之后的历史数据进行预估出现偏差。
需要说明的是,本发明实施例的装置是应用上述一种基于缺失数据的预估方法的装置,则上述基于缺失数据的预估方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
可选地,本发明实施例的一种基于缺失数据的预估装置中,截断模块308,还用于,根据时间先后顺序,将待截断数据所在的子时间段的最后一个数据之前的所有的数据截断。
可选地,本发明实施例的一种基于缺失数据的预估装置中,选择模块303,包括:
第一子时间段选择子模块,用于在全部子时间段中选择最后一个子时间段作为第一子时间段;
第二子时间段选择子模块,用于按照时间倒序,在全部子时间段中选择与第一子时间段之前相邻的子时间段作为第二子时间段;
当前子时间段选择子模块,用于将当前选择的第一子时间段或者第二子时间段作为当前子时间段。
可选地,本发明实施例的一种基于缺失数据的预估装置中,计算模块304,包括:
统计子模块,用于统计各个子时间段中缺失的历史数据的缺失数量;
计算子模块,用于根据各个子时间段中缺失的历史数据的缺失数量以及预先确定的各个子时间段中历史数据的总数量,计算各个时间段中缺失的历史数据的缺失密度。
可选地,本发明实施例的一种基于缺失数据的预估装置中,确定模块307,包括:
判断子模块,用于判断当前子时间段中最后一个缺失的历史数据之后是否存在至少一个非缺失的历史数据;
第一确定子模块,用于当最后一个缺失的历史数据之后存在至少一个非缺失的历史数据时,确定最后一个缺失的历史数据之后第一个非缺失的历史数据为待截断数据;或
插值子模块,用于当最后一个缺失的历史数据之后不存在至少一个非缺失的历史数据,则判定最后一个缺失的历史数据为当前子时间段的最后一个数据时,在最后一个缺失的历史数据处进行插值;
第二确定子模块,用于确定插值后的最后一个历史数据为待截断数据。
可选地,本发明实施例的一种基于缺失数据的预估装置中,插值子模块,包括:
判断单元,用于判断当前子时间段中非缺失的历史数据的非缺失数量是否大于或等于N;其中,N是大于或等于1的自然数;
第一插值单元,用于当非缺失数量大于或等于N时,根据最后一个历史数据之前的N个非缺失的历史数据在最后一个缺失的历史数据处进行插值;
第二插值单元,用于当非缺失数量小于N时,根据最后一个历史数据之前的全部非缺失的历史数据在最后一个缺失的历史数据处进行插值。
可选地,本发明实施例的一种基于缺失数据的预估装置中,装置还包括:
插值模块,用于当全部历史数据中剩余的历史数据存在缺失时,在各个缺失的历史数据处进行插值;
相应的,预估模块309,具体用于,根据全部历史数据中剩余的历史数据插值后的历史数据进行预估。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (12)
1.一种基于缺失数据的预估方法,其特征在于,所述方法包括:
获取预设时间段内采集到的全部历史数据;
根据所述全部历史数据与采集时间的对应关系,将预设时间段内所述全部历史数据划分到M个子时间段中,其中,所述M为大于或等于2的自然数;
在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段;
计算所述当前子时间段中缺失的历史数据的缺失密度;
判断所述当前子时间段中历史数据的缺失密度是否大于预设阈值;
如果否,返回所述在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段的步骤;
如果是,在所述当前子时间段中确定满足预先设置的截断条件的待截断数据;
根据时间先后顺序,至少将待截断数据之前的所有的数据截断;
根据所述全部历史数据中剩余的历史数据进行预估,其中,所述剩余的历史数据为除截断的数据以外的历史数据;
所述在所述当前子时间段中确定满足预先设置的截断条件的待截断数据,包括:
判断所述当前子时间段中最后一个缺失的历史数据之后是否存在至少一个非缺失的历史数据;
当所述最后一个缺失的历史数据之后存在至少一个非缺失的历史数据时,确定所述最后一个缺失的历史数据之后第一个非缺失的历史数据为所述待截断数据;或
当所述最后一个缺失的历史数据之后不存在至少一个非缺失的历史数据,则判定所述最后一个缺失的历史数据为当前子时间段的最后一个数据时,在所述最后一个缺失的历史数据处进行插值;
确定插值后的最后一个历史数据为所述待截断数据。
2.根据权利要求1所述的方法,其特征在于,所述根据时间先后顺序,至少将待截断数据之前的所有的数据截断,所述的方法还包括:
根据时间先后顺序,将待截断数据所在的子时间段的最后一个数据之前的所有的数据截断。
3.根据权利要求1所述的方法,其特征在于,所述在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段,包括:
在全部子时间段中选择最后一个子时间段作为第一子时间段;
按照时间倒序,在所述全部子时间段中选择与所述第一子时间段之前相邻的子时间段作为第二子时间段;
将当前选择的所述第一子时间段或者所述第二子时间段作为当前子时间段。
4.根据权利要求1所述的方法,其特征在于,所述计算所述当前子时间段中缺失的历史数据的缺失密度,包括:
统计各个子时间段中缺失的历史数据的缺失数量;
根据所述各个子时间段中缺失的历史数据的缺失数量以及预先确定的各个子时间段中历史数据的总数量,计算各个时间段中缺失的历史数据的缺失密度。
5.根据权利要求1所述的方法,其特征在于,所述在所述最后一个缺失的历史数据处进行插值,包括:
判断所述当前子时间段中非缺失的历史数据的非缺失数量是否大于或等于N;其中,N是大于或等于1的自然数;
当所述非缺失数量大于或等于N时,根据所述最后一个历史数据之前的N个非缺失的历史数据在所述最后一个缺失的历史数据处进行插值;
当所述非缺失数量小于N时,根据所述最后一个历史数据之前的全部非缺失的历史数据在所述最后一个缺失的历史数据处进行插值。
6.根据权利要求1所述的方法,其特征在于,在所述根据所述全部历史数据中剩余的历史数据进行预估之前,所述方法还包括:
当全部历史数据中剩余的历史数据存在缺失时,在各个缺失的历史数据处进行插值;
相应的,所述根据所述全部历史数据中剩余的历史数据进行预估,包括:
根据全部历史数据中剩余的历史数据插值后的历史数据进行预估。
7.一种基于缺失数据的预估装置,其特征在于,所述装置包括:
获取模块,用于获取预设时间段内采集到的全部历史数据;
划分模块,用于根据所述全部历史数据与采集时间的对应关系,将预设时间段内所述全部历史数据划分到M个子时间段中,其中,所述M为大于或等于2的自然数;
选择模块,用于在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段;
计算模块,用于计算所述当前子时间段中缺失的历史数据的缺失密度;
判断模块,用于判断所述当前子时间段中历史数据的缺失密度是否大于预设阈值;
返回模块,用于如果否,返回所述在全部子时间段中选择一个未被选择过的子时间段作为当前子时间段的步骤;
确定模块,用于如果是,在所述当前子时间段中确定满足预先设置的截断条件的待截断数据;
截断模块,用于根据时间先后顺序,至少将待截断数据之前的所有的数据截断;
预估模块,用于根据所述全部历史数据中剩余的历史数据进行预估,其中,所述剩余的历史数据为除截断的数据以外的数据;
所述确定模块,包括:
判断子模块,用于判断所述当前子时间段中最后一个缺失的历史数据之后是否存在至少一个非缺失的历史数据;
第一确定子模块,用于当所述最后一个缺失的历史数据之后存在至少一个非缺失的历史数据时,确定所述最后一个缺失的历史数据之后第一个非缺失的历史数据为所述待截断数据;或
插值子模块,用于当所述最后一个缺失的历史数据之后不存在至少一个非缺失的历史数据,则判定所述最后一个缺失的历史数据为当前子时间段的最后一个数据时,在所述最后一个缺失的历史数据处进行插值;
第二确定子模块,用于确定插值后的最后一个历史数据为所述待截断数据。
8.根据权利要求7所述的装置,其特征在于,所述截断模块,还用于,根据时间先后顺序,将待截断数据所在的子时间段的最后一个数据之前的所有的数据截断。
9.根据权利要求7所述的装置,其特征在于,所述选择模块,包括:
第一子时间段选择子模块,用于在全部子时间段中选择最后一个子时间段作为第一子时间段;
第二子时间段选择子模块,用于按照时间倒序,在所述全部子时间段中选择与所述第一子时间段之前相邻的子时间段作为第二子时间段;
当前子时间段选择子模块,用于将当前选择的所述第一子时间段或者所述第二子时间段作为当前子时间段。
10.根据权利要求7所述的装置,其特征在于,所述计算模块,包括:
统计子模块,用于统计各个子时间段中缺失的历史数据的缺失数量;
计算子模块,用于根据所述各个子时间段中缺失的历史数据的缺失数量以及预先确定的各个子时间段中历史数据的总数量,计算各个时间段中缺失的历史数据的缺失密度。
11.根据权利要求7所述的装置,其特征在于,所述插值子模块,包括:
判断单元,用于判断所述当前子时间段中非缺失的历史数据的非缺失数量是否大于或等于N;其中,N是大于或等于1的自然数;
第一插值单元,用于当所述非缺失数量大于或等于N时,根据所述最后一个历史数据之前的N个非缺失的历史数据在所述最后一个缺失的历史数据处进行插值;
第二插值单元,用于当所述非缺失数量小于N时,根据所述最后一个历史数据之前的全部非缺失的历史数据在所述最后一个缺失的历史数据处进行插值。
12.根据权利要求7所述的装置,其特征在于,所述预估装置还包括:
插值模块,用于当全部历史数据中剩余的历史数据存在缺失时,在各个缺失的历史数据处进行插值;
相应的,所述预估模块,具体用于,根据全部历史数据中剩余的历史数据插值后的历史数据进行预估。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611248930.4A CN106649832B (zh) | 2016-12-29 | 2016-12-29 | 一种基于缺失数据的预估方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611248930.4A CN106649832B (zh) | 2016-12-29 | 2016-12-29 | 一种基于缺失数据的预估方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106649832A CN106649832A (zh) | 2017-05-10 |
CN106649832B true CN106649832B (zh) | 2020-04-17 |
Family
ID=58836074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611248930.4A Active CN106649832B (zh) | 2016-12-29 | 2016-12-29 | 一种基于缺失数据的预估方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106649832B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11959654B2 (en) | 2018-10-11 | 2024-04-16 | Fujitsu General Limited | Air conditioner, data transmission method, and air conditioning system |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933749B (zh) * | 2017-12-19 | 2024-03-05 | 北京京东尚科信息技术有限公司 | 用于生成信息的方法和装置 |
CN108009749B (zh) * | 2017-12-22 | 2021-12-17 | 新乡新奥燃气工程有限公司 | 一种天然气数据处理方法及装置 |
CN108154005A (zh) * | 2017-12-28 | 2018-06-12 | 福州信诺通信息技术有限公司 | 一种燃气抄表异常分析方法和存储介质 |
CN110309129A (zh) * | 2018-03-19 | 2019-10-08 | 中国移动通信集团甘肃有限公司 | 一种补全位置数据的方法及装置 |
CN110794227B (zh) * | 2018-08-02 | 2022-09-02 | 阿里巴巴集团控股有限公司 | 故障检测方法、系统、设备及存储介质 |
JP6760348B2 (ja) * | 2018-10-11 | 2020-09-23 | 株式会社富士通ゼネラル | 空気調和機、データ送信方法及び空気調和システム |
CN110442557B (zh) * | 2019-07-31 | 2021-09-28 | 上海赜睿信息科技有限公司 | 数据压缩及解压缩方法、电子设备和计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207948A (zh) * | 2013-04-08 | 2013-07-17 | 同济大学 | 基于风速相关性的风电场测风仪风速缺失数据插补方法 |
CN104715292A (zh) * | 2015-03-27 | 2015-06-17 | 上海交通大学 | 基于最小二乘支持向量机模型的城市短期用水量预测方法 |
CN104766175A (zh) * | 2015-04-16 | 2015-07-08 | 东南大学 | 一种基于时间序列分析的电力系统异常数据辨识与修正方法 |
CN104766474A (zh) * | 2015-03-16 | 2015-07-08 | 上海市政工程设计研究总院(集团)有限公司 | 一种基于手机终端的城市综合交通枢纽换乘客流量检测方法 |
CN105142164A (zh) * | 2015-06-24 | 2015-12-09 | 北京邮电大学 | 待估节点的数据填补方法和装置 |
CN105678046A (zh) * | 2014-11-18 | 2016-06-15 | 日本电气株式会社 | 修补时空序列数据中的缺失数据的方法及装置 |
CN105933920A (zh) * | 2016-03-31 | 2016-09-07 | 浪潮通信信息系统有限公司 | 一种预测用户满意度的方法及装置 |
-
2016
- 2016-12-29 CN CN201611248930.4A patent/CN106649832B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207948A (zh) * | 2013-04-08 | 2013-07-17 | 同济大学 | 基于风速相关性的风电场测风仪风速缺失数据插补方法 |
CN105678046A (zh) * | 2014-11-18 | 2016-06-15 | 日本电气株式会社 | 修补时空序列数据中的缺失数据的方法及装置 |
CN104766474A (zh) * | 2015-03-16 | 2015-07-08 | 上海市政工程设计研究总院(集团)有限公司 | 一种基于手机终端的城市综合交通枢纽换乘客流量检测方法 |
CN104715292A (zh) * | 2015-03-27 | 2015-06-17 | 上海交通大学 | 基于最小二乘支持向量机模型的城市短期用水量预测方法 |
CN104766175A (zh) * | 2015-04-16 | 2015-07-08 | 东南大学 | 一种基于时间序列分析的电力系统异常数据辨识与修正方法 |
CN105142164A (zh) * | 2015-06-24 | 2015-12-09 | 北京邮电大学 | 待估节点的数据填补方法和装置 |
CN105933920A (zh) * | 2016-03-31 | 2016-09-07 | 浪潮通信信息系统有限公司 | 一种预测用户满意度的方法及装置 |
Non-Patent Citations (1)
Title |
---|
数据集缺失数据恢复算法研究;朱建斐;《中国优秀硕士学位论文全文数据库信息科技辑》;20160315(第3期);第2.4节 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11959654B2 (en) | 2018-10-11 | 2024-04-16 | Fujitsu General Limited | Air conditioner, data transmission method, and air conditioning system |
Also Published As
Publication number | Publication date |
---|---|
CN106649832A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106649832B (zh) | 一种基于缺失数据的预估方法及装置 | |
Carvalho et al. | A cookbook for using model diagnostics in integrated stock assessments | |
CN106991145B (zh) | 一种监测数据的方法及装置 | |
US8170894B2 (en) | Method of identifying innovations possessing business disrupting properties | |
CN106933956B (zh) | 数据挖掘方法和装置 | |
CN110008349B (zh) | 计算机执行的事件风险评估的方法及装置 | |
US6834266B2 (en) | Methods for estimating the seasonality of groups of similar items of commerce data sets based on historical sales data values and associated error information | |
US7587330B1 (en) | Method and system for constructing prediction interval based on historical forecast errors | |
CN110717535B (zh) | 一种基于数据分析处理系统的自动建模方法及系统 | |
CN106462583A (zh) | 用于快速数据分析的系统和方法 | |
CN102025531A (zh) | 一种性能数据的填补方法及其装置 | |
CN106354995A (zh) | 一种基于拉格朗日插值与时间序列的预测方法 | |
CN106598822B (zh) | 一种用于容量评估的异常数据检测方法及装置 | |
KR101925506B1 (ko) | 감염병 확산 예측 방법 및 장치 | |
CN112070615A (zh) | 基于知识图谱的理财产品推荐方法及装置 | |
KR20140053444A (ko) | 시장규모예측장치, 시장규모예측방법 및 시장규모를 예측하는 프로그램을 저장하는 저장매체 | |
KR101435096B1 (ko) | 소셜 네트워크 서비스 데이터에 기반한 상품 수요 예측 장치 및 방법 | |
CN111352976B (zh) | 一种针对购物节的搜索广告转化率预测方法及装置 | |
US20150088789A1 (en) | Hierarchical latent variable model estimation device, hierarchical latent variable model estimation method, supply amount prediction device, supply amount prediction method, and recording medium | |
CN114022051A (zh) | 一种指标波动分析方法,存储介质和电子设备 | |
KR101658714B1 (ko) | 온라인 활동 이력에 기초한 사용자의 온라인 활동 예측 방법 및 시스템 | |
CN113128875A (zh) | 一种面向多维数据集的指标异常的根因定位方法及装置 | |
CA3035539A1 (en) | Systems and methods for measuring collected content significance | |
CN115577991A (zh) | 一种基于大数据的商业智能数据分析系统及分析方法 | |
Kuhi et al. | Using probabilistic models for missing data prediction in network industries performance measurement systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |