发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种测点数据的补缺系统及补缺方法。
技术方案:为解决上述技术问题,本发明的一种测点数据的补缺系统,包括业务指标数据探测系统以及与业务指标数据探测系统相连接的数据填充系统,所述业务指标数据探测系统包括源业务指标数据库模块、与源业务指标数据库模块相连的数据访问模块、连接于数据访问模块的业务逻辑模块、连接于业务逻辑模块的数据显示模块;所述数据填充系统中设有线性回归填充系统、均值填充系统和人工填充系统。
优选的,所述源业务指标数据库模块为设于综合数据系统中的负责存储业务指标定义表和通过实时数据采集平台收集以及人工报送的周期性的源业务指标数据的模块;所述数据访问模块为用于查找和记录缺失数据的模块。
作为优选,所述均值填充系统包括横向均值填充系统和纵向均值填充系统。
本发明还公开了一种测点数据的补缺系统的补缺方法,包括以下步骤:
(1)使用数据访问模块遍历综合数据系统,查找并记录存在的业务指标数据的缺失项,根据缺失项查找业务指标定义表,确定各指标间的横向关联范围;
(2)在数据显示模块中显示数据访问模块所记录的缺失项,并提供针对缺失项的三种数据填充系统的接口;
(3)用户根据需求,从线性回归填充系统、均值填充系统和人工填充系统中选择一种系统对业务指标数据的缺失项进行填充处理,业务逻辑模块接收到用户的指令,开始执行相对应的填充算法,并将计算出的缺失项填充值返回给数据显示模块;其中,所述业务逻辑模块执行包括以下四种的填充算法:
a)线性回归填充算法:该算法通过历史数据或横向指标数据对指标数据缺失值进行预测,需通过最小二乘法建立以下线性回归模型来计算填充值:
式中,k为自变量的个数,即用来进行填充值估算的样本数据群的容量,Y为所求的填充值,xi为样本数据群中每一个样本的数值,e为随机参数;
相关系数a和bi可采用如下公式进行估算:
其中,xj为样本数据群中每一个样本的数值,为各xj的均值;yj为需要填充的指标的历史数据值,为各yj的均值;
b)横向均值填充算法:将在业务指标数据探测系统查找到的数据的缺失项标识为INDEX_ID,使用INDEX_ID访问指标分类表,取得其父分类指标的标识记为PARENTID,通过数据访问模块取得所有父指标ID为PARENTID的指标,并按照以下公式进行计算:
式中,vi为各父指标ID为PARENTID的指标的数值,n为相应的指标个数,v即为数据缺失项的横向均值填充值;
其中,该算法的适用对象为在横向指标之间具有较大关联性的指标,横向指标指的是具有同一父指标的所有指标;
c)纵向均值填充算法:该算法的适用对象为在指标纵向历史数据之间具有较大相似性的指标,纵向数据是指同一指标在连续递增的时间内的历史数据,该算法采取的统计时间为12个月,将在业务指标数据探测系统查找到的数据的缺失项标识为INDEX_ID,再取得缺失项所在记录的时间,记为DATATIME,使用该标识再次访问指标数据表,取DATATIME所标识时间点的前12个月的指标数据记录,然后则按照以下公式进行计算:
式中,v即为数据缺失项的纵向均值填充值;
d)人工填充算法:由用户在数据显示模块的填充界面上对数据缺失项进行添加;
(4)此时数据显示模块中出现是否保存该填充值的选项,若用户选择保存,则该填充值通过业务逻辑模块和数据访问模块保存至源业务指标数据库模块中。
有益效果:本发明的一种测点数据的补缺系统及补缺方法,大大的提高电网企业业务数据的正确性,提高计算统计数据群的精度,使统计分析结果更为可靠,为企业投资评价、效益分析等工作提供更为有利的数据支持。本发明还可应用于医疗、农业等诸多领域,例如,在医疗领域,可以利用本方案涉及到的缺失数据填充方法来估算某些缺失的医疗数据,提高统计分析工作的精度,为后续的医疗服务工作的评估和提升提供完备的数据基础;在农业现代化领域,可通过本发明涉及到填充方法来估算某些农作物产量的缺失值,使农作物产量的统计分析工作更加准确,帮助制定下一步的农业生产计划。因此,本发明具有很高的市场推广价值。
具体实施方式
为方便理解本发明,现做如下解释说明:本发明涉及到的数据表包括指标定义表(DA_INDEXDEF)、指标分类表(DA_INDEXSORT)、指标数据表(DA_INDEXDATA)。其中,指标定义表用来存储指标的基本定义,包括指标数据单位、采集周期、指标编码、所属部门等;指标分类表存储分类后的指标在该分类下的信息,包括指标分类编码、父分类编码等;指标数据表则存储由数据采集平台采集和人工报送的指标数据,也是我们执行填充算法的数据来源。
本发明的一种测点数据的补缺系统,包括业务指标数据探测系统以及与业务指标数据探测模块相连接的数据填充系统,所述业务指标数据探测系统包括源业务指标数据库模块、与源业务指标数据库模块相连的数据访问模块、连接于数据访问模块的业务逻辑模块、连接于业务逻辑模块的数据显示模块;所述数据填充系统中设有线性回归填充系、均值填充系统和人工填充系统。
优选的,所述源业务指标数据库模块为设于综合数据系统中的负责存储业务指标定义表和通过实时数据采集平台收集以及人工报送的周期性的源业务指标数据模块;所述数据访问模块为用于查找和记录缺失数据的模块。
作为优选,所述均值填充系统包括横向均值填充系统和纵向均值填充系统。
本发明还公开了一种测点数据的补缺系统的补缺方法,包括以下步骤:
(1)使用数据访问模块遍历综合数据系统,查找并记录存在的业务指标数据的缺失项,根据缺失项查找业务指标定义表,确定各指标间的横向关联范围;
(2)在数据显示模块中显示数据访问模块所记录的缺失项,并提供针对缺失项的三种数据填充系统的接口;
(3)用户根据需求,从线性回归填充系统、均值填充系统和人工填充系统中选择一种系统对业务指标数据的缺失项进行填充处理,业务逻辑模块接收到用户的指令,开始执行相对应的填充算法,并将计算出的缺失项填充值返回给数据显示模块;其中,所述业务逻辑模块执行包括以下四种的填充算法:
a)线性回归填充算法:该算法通过历史数据或横向指标数据对指标数据缺失值进行预测,需通过最小二乘法建立以下线性回归模型来计算填充值:
式中,k为自变量的个数,即用来进行填充值估算的样本数据群的容量,Y为所求的填充值,xi为样本数据群中每一个样本的数值,e为随机参数;
相关系数a和bi可采用如下公式进行估算:
其中,xj为样本数据群中每一个样本的数值,为各xj的均值;yj为需要填充的指标的历史数据值,为各yj的均值;
其中,随机参数e可防止样本扭曲分布,防止得到相同的估计值,构造随机成分e的方法有很多种,最典型的有三种:1)残差(Residuals)估计调整;2)正态变异估计调整;3)Student t变异;可根据不同指标的特性来选择不同的方式,当然,也可以通过人工经验值来确定e。
b)横向均值填充算法:将在业务指标数据探测系统查找到的数据的缺失项标识为INDEX_ID,使用INDEX_ID访问指标分类表,取得其父分类指标的标识记为PARENTID,通过数据访问模块取得所有父指标ID为PARENTID的指标,并按照以下公式进行计算:
式中,vi为各父指标ID为PARENTID的指标的数值,n为相应的指标个数,v即为数据缺失项的横向均值填充值;
c)纵向均值填充算法:该算法采取的统计时间为12个月,将在业务指标数据探测系统查找到的数据的缺失项标识为INDEX_ID,再取得缺失项所在记录的时间,记为DATATIME,使用该标识再次访问指标数据表,取DATATIME所标识时间点的前12个月的指标数据记录,然后则按照以下公式进行计算:
式中,v即为数据缺失项的纵向均值填充值;
d)人工填充算法:由用户在数据显示模块的填充界面上对数据缺失项进行添加;
(4)此时数据显示模块中出现是否保存该填充值的选项,若用户选择保存,则该填充值通过业务逻辑模块和数据访问模块保存至源业务指标数据库模块中。
下面结合附图对本发明作更进一步的说明。
如图1所示,
步骤101,开始进行数据缺失项探测操作;
步骤102,遍历底层数据库,确定存在缺失数据项的指标,数据访问模块遍历存储业务指标数据的指标数据表,记录下含有数据缺失项的业务指标唯一标识INDEX_ID;
步骤103,将存在缺失数据项的指标在数据显示模块中显示出来;用JSON数组的方式将数据传往前台进行展示,方便用户进行填充,在组装JSON的过程中,每条指标被视为一个对象,每个对象中都存在一个标识字段,若该条指标存在数据缺失项,则标识出该缺失项的位置,使用户直观的看到哪些指标存在缺失项以及缺失数据产生的位置,方便填充;
步骤104,用户根据其具体需求,选择合适的填充方法进行填充;
步骤105,判断用户是否选择系统推荐使用的缺失数据项填充算法;
步骤106,用户不使用系统推荐的填充算法,由用户自己选择填充算法;
步骤107,用户使用系统推荐的缺失项填充算法,根据该算法计算出缺失项填充值,并判断是否保存该填充值;
步骤108,用户不保存该填充值。
步骤109,保存该填充值到源业务指标数据库模块;
步骤110,方案执行结束。
以上描述了从后台发现数据缺失项到选择缺失项填充方案的基本步骤。数据填充方案的实现与探测过程是相辅相成相互渗透的,不同的指标数据具有不同的特性,因此,应根据指标数据本身的特性选择合适的填充方案。如:指标“利润总额”的数据随着月份的增长呈递增关系,比较容易建立线性回归模型,因此采用“线性回归填充法”;对于“xx公司购电价”指标,其与平行公司购电价的关联度比较大,因此采用横向的均值填充法。而对于某项设备的参数设置,则对准确度要求比较高,在这种情况下比较适合采用人工经验值填充。因此,在底层数据库中,要对每条指标加以判断,确定最适合它的缺失项填充方式。
本实施例中,在指标定义表中定义字段“fill”,字段类型为整型,其中:“1”表示推荐采用“横向均值填充法”、“2”表示推荐采用“纵向均值填充法”、“3”表示推荐采用“线性回归填充法”、“4”表示推荐采用“人工经验值”填充法。虽然已经定义了每条指标最合适的填充方式,但考虑到填充数据可能出现的偏差以及用户统计分析的现实需要,数据显示模块的界面上除了为用户推荐最合适的填充算法外,也允许用户选择其他的填充算法。用户选择所要填充的指标数据后,根据自身需要选择填充算法,如设横向均值填充法的标识为“1”,纵向均值填充法的标识为“2”,线性回归填充法的标识为“3”,人工经验值填充法的标识为“4”,业务逻辑模块根据数据显示模块传递的算法标识,来执行相应的算法,并将执行结果返回给数据显示模块,用户点击“确定”按钮后,填充值通过业务逻辑模块和数据访问模块保存到源业务指标数据库模块中;填充完毕后,即可执行随后的统计分析运算。下面描述各个填充算法的执行过程:
如图2所示,
步骤201,用户选择了线性回归填充法对缺失数据项进行填充,开始执行方案;
步骤202,访问数据库,查找与数据缺失项相关的线性回归方程式;
步骤203,判断是否存在这样的线性回归方程式;
步骤204,不存在这样的方程式,则根据指标之间的线性约束关系,归纳出线性回归方程式并存入底层数据库中,然后执行步骤202;
步骤205,存在这样的方程式,取出该方程式和已知参数,供后续计算使用;
步骤206,根据该线性回归方程式,计算出数据缺失项的填充值;
步骤207,用户选择是否保存该填充值;
步骤208,保存该填充值到源业务指标数据库模块;
步骤209,用户不保存该填充值;
步骤210,方案执行结束。
如图3所示,
步骤301,用户选择了均值填充法对缺失数据项进行填充,开始执行方案;
步骤302,选择均值填充类型;
步骤303,用户选择横向均值填充法,取所有同类别指标的该数据项,计算其均值作为数据缺失项的填充值;
步骤304,用户选择是否保存该填充值;
步骤305,保存该填充值到源业务指标数据库模块;
步骤306,用户不保存该填充值;
步骤307,用户选择纵向均值填充法,取该指标数据项连续十二个月的数据,计算其均值作为数据缺失项的填充值;
步骤308,用户选择是否保存该填充值;
步骤309,保存该填充值到源业务指标数据库模块;
步骤310,用户不保存该填充值;
步骤311,结束。
如图4所示,
步骤401,用户选择了人工填充法对缺失数据项进行填充,开始执行方案;
步骤402,在指定界面对缺失数据项进行人工填充;
步骤403,用户选择是否保存该填充值;
步骤404,保存该填充值到源业务指标数据库模块;
步骤405,用户不保存该填充值;
步骤406,结束。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。