发明内容
发明目的:本发明的目的在于针对现有技术的不足,提供一种基于数据关联性模型的异常数据探测及修正方法,使工业生产的统计分析工作更加准确,为下一步的生产计划提供数据保障。
技术方案:本发明所述的一种基于数据关联性模型的异常数据探测及修正方法,包括彼此进行数据通信的源指标数据库、数据访问模块、业务逻辑模块和展示模块,包括如下步骤:
S1、展示模块定义异常数据判断条件,并将异常数据判断条件存储至源指标数据库中,同时,源指标数据库中还存储业务指标定义和业务指标数据;
S2、数据访问层遍历源指标数据库中的业务指标数据,判断其是否符合异常数据判断条件,将符合异常数据判断条件的业务指标数据在展示模块进行展示,同时执行步骤S3;
S3、业务逻辑模块对符合异常数据判断条件的业务指标数据进行修正,并根据需要将修正后的数据存储至源指标数据库。
本发明技术方案的进一步限定为,步骤S1中,展示模块定义的异常数据判断条件包括:阈值标定条件、历史趋势纵向校准条件和关联性横向校准条件,所述阈值标定条件为定义业务指标的最大值和最小值;所述历史趋势纵向校准条件为通过分析特定时间周期内的历史数据变化趋势,归纳出的线性回归方程式;所述关联性横向校准条件为分析指标之间的依赖关系确定的函数依赖表达式。
进一步地,步骤S3中,对符合异常数据判断条件的业务指标数据进行修正时,判断是否选择系统推荐的修正算法,如果选择,则执行所选择的修正算法,如果不选择,则重新定义修正算法进行修正。
进一步地,步骤S3中,对符合异常数据判断条件的业务指标数据进行修正的修正算法包括阈值中值修正,具体方法为:
Y1、取得符合异常数据判断条件的业务指标数据后,判断源指标数据库中是否存在该业务指标对用的阈值,如果存在,则取出该业务指标对应的最大值Vmax和最小值Vmin,如果不存在,则定义该指标对应的阈值存入源指标数据库中;
Y2、业务逻辑层计算阈值中值做为修正值,修正值V=(Vmax+Vmin)/2。
进一步地,步骤S3中,对符合异常数据判断条件的业务指标数据进行修正的修正算法包括函数依赖关系式修正,具体方法为:
H1、取得符合异常数据判断条件的业务指标数据后,判断源指标数据库中是否存在该业务指标对应的函数依赖关系式,如果存在,则提取该函数依赖关系式;如果不存在,则定义该业务指标对应的函数依赖关系式存入源指标数据库中;
H2、业务逻辑层根据取得的函数依赖关系式对异常数据进行修正,得到修正值。
进一步地,步骤S3中,对符合异常数据判断条件的业务指标数据进行修正的修正算法包括EM填充法,具体方法为:
E1、取得符合异常数据判断条件的业务指标数据后,判断指标数据库中是否存在该指标对应的样本预测群,如果存在,则提取该样本预测群;如果不存在,则定义该业务指标的样本预测群;
E2、以提取的样本预测群为基础,计算期望E,并对计算得到的期望E进行最大化处理,判断最大化处理后的结果是否满足方案中已经制定好的线性回归方程式,若不满足,则重新执行步骤E2,若满足,则此最大化处理的期望E即为修正值。
进一步地,所述计算期望E,并对计算得到的期望E进行最大化处理的方法为:
I、设fX(x/θ)表示观测数据密度,fJ(y/θ)表示完全数据的密度,修正数据的假设等同一个边际化模型,z是修正值,亦可看作是某种多到少的映射X=M(Y)的应用,则X的密度为
修正值的条件密度为:fZ/X(z/x,θ)=fJ(y/θ)/fX(x/θ);
II、设θ(t)表示在迭代t时估计的最大值点,t=0,1…,定义Q(θ/θ(t))为观测数据X=x条件下的完全数据的联合对数似然的期望,即:
III、EM算法从θ(0)开始,然后在两步之间交替:E表示期望,M表示最大化,算法具体为:
E步:计算Q(θ/θ(t);
M步:关于θ的最大化Q(θ/θ(t)),设θ(t+1)是最大值点,则θ(t+1)满足:
Q(θ(t+1)/θ(t))>Q(θ/θ(t)),对;
重负执行E步和M步,直到满足如下规则,对于给定ε>0,有|Q(θ(t+1)/θ(t))-Q(θ(t)/θ(t))|<ε或(θ(t+1)-θ(t))T(θ(t+1)-θ(t))<ε,此时得到期望E及期望E的最大值。
进一步地,步骤III的E步时,当该期望值难以解析计算时,第t次E步操作可以由
(1)从fZ/X(z/x,θ(t))中抽取独立同分布的修正数据集每个是用来修正观测阵的所有异常数据的一个向量,这样Yj=(x,Zj)表示一个填充完整的数据阵,其中修正值由Zj代替;
(2)计算,那么就是Q(θ/θ(t))的近似值。
有益效果:本发明提供的一种基于数据关联性模型的异常数据探测及修正方法,采用阈值中值、函数依赖关系式计算、EM填充和专家修正为越界数据进行修正,大大的提高了电网业务数据的准确性,提高了计算统计数据群的精度,使得统计分析结果更为可靠,为企业投资评价、效益分析等方面提供更为有利的数据支持,应用于工业生产、医疗保健、农业现代化等诸多领域,例如,在工业生产领域,具有广泛的应用前景;可通过方案中涉及到修正方法来修正某些工业生产方面的异常数据,使工业生产的统计分析工作更加准确,为下一步的生产计划提供数据保障,在医疗保健领域,可以利用本方案涉及到的越界数据修正方法来修正某些失真的医疗数据,提高统计分析工作的精度,为后续的医疗服务工作的评估和提升提供完善的数据基础,因此,本技术具有很高的推广价值。
实施例:
异常数据指的是存在较大误差的业务数据。数据误差是指获取的数据与客观现象实际数据特征之间的离差。数据误差可分为两类:一是登记性误差;二是代表性误差。所谓登记性误差是指在搜集数据资料的过程中,由于记录错误、计量错误、计算错误以及有意虚报、瞒报所造成的统计数据失真。登记性误差完全由人为因素所造成,其在全面调查和非全面调查中都有可能产生;所谓代表性误差泛指随机性误差和系统性误差。随机性误差是抽样调查过程不可避免的由随机因素所引起的误差。而系统性误差是在调查或抽样技术运用过程中,因与主观因素相关的种种因素而引起的误差。
国内的电网企业业务数据收集普遍采用相关的数据采集平台和人工报送相结合的方式进行。在采集过程中,由于人工操作失误、部门未及时上报相关业务数据,部门虚报、瞒报某些业务数据等因素,常常会导致指标数据出现异常情况,指标数据的准确性大大受损。由于电网行业对数据的精度要求较高,在准确性比较低的情况下,统计数据群的精度会严重受损,统计结果也会受到影响。因此,在这种情况下,为了提高统计数据群的精度,首先应检测出准确性较差的异常数据,然后对异常数据进行科学的修正,提高统计分析结果的可靠度。电网企业的大部分业务数据之间具有很强的依赖关系,历史数据和某些平行业务数据之间的可追溯性也比较强,且呈正态分布的样本数据比例比较高。
鉴于以上特点,本发明提供一种基于数据关联性模型的异常数据探测及修正方法,包括彼此进行数据通信的源指标数据库、数据访问模块、业务逻辑模块和展示模块,包括如下步骤:
S1、展示模块定义异常数据判断条件,并将异常数据判断条件存储至源指标数据库中,同时,源指标数据库中还存储业务指标定义和业务指标数据。
展示模块定义的异常数据判断条件包括:阈值标定条件、历史趋势纵向校准条件和关联性横向校准条件。
所述阈值标定条件为定义业务指标的最大值和最小值。阈值又称为临界值,是指某个领域的数据所能够到达的最小值或最大值。阈值标定是通过判断数据值是否在数据的合理波动区间范围内,来衡量数据的准确性。阈值的确定可以采用两种方式:一是利用专家所具有的领域知识,由专家或技术人员制定数据的阈值;二是通过对规律数据进行相应的统计分析,总结出数据的分布规律作为数据的阈值。如参照负荷数据在不同时间区段的波动范围分别设定阈值的最大、最小值。
所述历史趋势纵向校准条件为通过分析特定时间周期内的历史数据变化趋势,归纳出的线性回归方程式。电网的许多运行数据具有连续性、周期性的特点,随着时间的推移数据会不断发生变化,但是数据的整体变化趋势符合惯性原理。通过对历史运行数据的趋势分析可以得出数据的变化规律,从而预测出某一时刻或时段区间的数据在不受外界因素影响时按现有的变化趋势而发展的结果,从而实现数据的纵向校准。
所述关联性横向校准条件为分析指标之间的依赖关系确定的函数依赖表达式。电网的业务数据之间除了可能具有的直接函数依赖关系之外,也可能存在着模糊的依赖关系,即数值间相互作用的关联性关系并不能通过函数直接推导得出。通过目标数据值与相关联数据值变化的一致性检验法,可以实现数据横向校准,当目标数据值出现变化时,检查同时刻相关联数据值的变化,若两者的变化趋势符合规律,则认为目标数据值准确,可以利用业务领域知识设定一致性检验的规则,或者利用机器学习的方法对历史数据进行挖掘获取其中的知识即规律。
另外,除上述判断条件外,本发明还采用人工经验值校准,相关业务领域的专家技术人员具有丰富的领域知识,不难发现业务数据中所存在的问题,但是基于人工经验值的校准,需要大量的专业技术人员参与、工作量大、效率比较低、可与其它方式配合使用,对关键数据进行校准。
S2、数据访问层遍历源指标数据库中的业务指标数据,判断其是否符合异常数据判断条件,将符合异常数据判断条件的业务指标数据在展示模块进行展示,同时执行步骤S3。
S3、业务逻辑模块对符合异常数据判断条件的业务指标数据进行修正,并根据需要将修正后的数据存储至源指标数据库。
对符合异常数据判断条件的业务指标数据进行修正时,判断是否选择系统推荐的修正算法,如果选择,则执行所选择的修正算法,如果不选择,则重新定义修正算法进行修正。
对符合异常数据判断条件的业务指标数据进行修正的修正算法包括阈值中值修正,具体方法为:
Y1、取得符合异常数据判断条件的业务指标数据后,判断源指标数据库中是否存在该业务指标对用的阈值,如果存在,则取出该业务指标对应的最大值Vmax和最小值Vmin,如果不存在,则定义该指标对应的阈值存入源指标数据库中;
Y2、业务逻辑层计算阈值中值做为修正值,修正值V=(Vmax+Vmin)/2。
对符合异常数据判断条件的业务指标数据进行修正的修正算法包括函数依赖关系式修正,具体方法为:
H1、取得符合异常数据判断条件的业务指标数据后,判断源指标数据库中是否存在该业务指标对应的函数依赖关系式,如果存在,则提取该函数依赖关系式;如果不存在,则定义该业务指标对应的函数依赖关系式存入源指标数据库中;
H2、业务逻辑层根据取得的函数依赖关系式对异常数据进行修正,得到修正值。
对符合异常数据判断条件的业务指标数据进行修正的修正算法包括EM填充法,具体方法为:
E1、取得符合异常数据判断条件的业务指标数据后,判断指标数据库中是否存在该指标对应的样本预测群,如果存在,则提取该样本预测群;如果不存在,则定义该业务指标的样本预测群;
E2、以提取的样本预测群为基础,计算期望E,并对计算得到的期望E进行最大化处理,判断最大化处理后的结果是否满足方案中已经制定好的线性回归方程式,若不满足,则重新执行步骤E2,若满足,则此最大化处理的期望E即为修正值。
所述计算期望E,并对计算得到的期望E进行最大化处理的方法为:
I、设fX(x/θ)表示观测数据密度,fJ(y/θ)表示完全数据的密度,修正数据的假设等同一个边际化模型,z是修正值,亦可看作是某种多到少的映射X=M(Y)的应用,则X的密度为
修正值的条件密度为:fZ/X(z/x,θ)=fJ(y/θ)/fX(x/θ);
II、设θ(t)表示在迭代t时估计的最大值点,t=0,1…,定义Q(θ/θ(t))为观测数据X=x条件下的完全数据的联合对数似然的期望,即:
III、EM算法从θ(0)开始,然后在两步之间交替:E表示期望,M表示最大化,算法具体为:
E步:计算Q(θ/θ(t));
M步:关于θ的最大化Q(θ/θ(t)),设θ(t+1)是最大值点,则θ(t+1)满足:
Q(θ(t+1)/θ(t))>Q(θ/θ(t)),对;
重负执行E步和M步,直到满足如下规则,对于给定ε>0,有|Q(θ(t+1)/θ(t))-Q(θ(t)/θ(r))|<ε或(θ(t+1)-θ(t))J(θ(t+1)-θ(t))<ε,此时得到期望E及期望E的最大值。
步骤III的E步时,当该期望值难以解析计算时,第t次E步操作可以由下面的两个
(1)从fZ/X(z/x,θ(t))中抽取独立同分布的修正数据集每个是用来修正观测阵的所有异常数据的一个向量,这样Yj=(x,Zj)表示一个填充完整的数据阵,其中修正值由Zj代替;
(2)计算
(2)计算那么就是Q(θ/θ(t))的近似值。
上述方法中,实现异常数据探测及修正方法的具体实现步骤如图1所示,具体为:
步骤101,开始进行异常数据项探测操作。
步骤102,在显示模块制定异常数据的判定规则,将其存入底层数据库。
步骤103,根据相应指标的异常数据判定规则,从底层数据库中查找异常数据。
步骤104,将存在异常数据项的指标在前端显示出来。
步骤105,用户根据其具体需求,选择合适的修正方案对越界数据进行修正。
步骤106,判断用户是否选择系统推荐使用的修正算法。
步骤107,用户不使用系统推荐的修正算法,由用户自己选择修正算法。
步骤108,用户使用系统推荐的修正算法,根据该算法计算出越界数据修正值,并判断是否保存该修正值。
步骤109,用户不保存该修正值。
步骤110,保存该修正值到底层数据库。
步骤111,方案执行结束。
以上描述了从后台发现异常数据到异常数据修正的基本步骤。不同的指标数据具有不同的特性,应根据指标数据本身的特性选择合适的越界数据修正方案,因此,在底层数据库中,要对每条指标加以判断,确定最适合它的越界数据修正方案。在本方案中,在指标定义表中定义字段“revise”,字段类型为整型,其中:“1”表示推荐采用“阈值中值修正”、“2”表示推荐采用“函数依赖关系式修正”、“3”表示推荐采用“EM填充”、“4”表示推荐采用“专家修正”。
修正算法在后台成功实现后,要在显示层为用户提供友好的交互修正界面中供用户选择。考虑到修正数据可能出现的偏差以及用户统计分析的现实需要,在修正界面上允许用户自主选择修正算法。用户选择所要修正的指标数据后,根据自身需要选择修正算法。设阈值中值修正法的标识为“1”、函数依赖关系式修正法的标识为“2”、EM填充法的标识为“3”,专家修正法的标识为“4”,业务逻辑层根据显示层传递的算法标识,来执行相应的算法,并将执行结果传给显示层。用户点击“确定”按钮后,修正值则通过业务逻辑层和数据访问层更新底层数据库。更新完毕后,即可执行后续的统计分析运算。
各个修正算法的执行均在业务逻辑层进行,所需要的数据则通过数据访问层获得。下面描述各个修正算法的执行过程。
当用户选择阈值中值修正法时,修正算法的执行流程图如图2所示,具体为:
步骤如图2所示:
步骤201,用户选择了阈值中值修正法对越界数据进行修正,开始执行方案。
步骤202,访问数据库,查找越界数据项的阈值。
步骤203,判断越界数据项是否存在阈值。
步骤204,不存在阈值,则由相关专家或技术人员给出阈值并存入底层数据库中,然后执行步骤202。
步骤205,从数据库中取出越界数据项的阈值。
步骤206,取阈值中值作为越界数据的修正值。
步骤207,用户选择是否保存该修正值。
步骤208,保存该修正值到底层数据库。
步骤209,用户不保存该填充值。
步骤210,方案执行结束。
当用户选择函数依赖关系式修正法时,修正算法的执行流程图如图3所示,具体为:
步骤301,用户选择了函数依赖关系式修正法对越界数据进行修正,开始执行方案。
步骤302,访问数据库,查找与该数据越界项有关的函数依赖关系式。
步骤303,判断是否存在这样的函数依赖关系式。
步骤304,不存在这样的关系式,则由有关人员制定函数依赖关系式并存入底层数据库中,然后执行步骤302。
步骤305,存在这样的函数依赖关系式,取出该关系式和已知参数,供后续计算使用。
步骤306,根据该函数依赖关系式,计算出数据越界项的修正值。
步骤307,用户选择是否保存该修正值。
步骤308,保存该修正值到底层数据库。
步骤309,用户不保存该修正数据。
步骤310,方案执行结束。
当用户选择EM填充法时,修正算法的执行流程图如图4所示,具体为:
步骤401,用户选择了EM期望修正法对越界数据进行修正,开始执行方案。
步骤402,查询数据库中的样本预测群。
步骤403,判断数据库中是否存在样本预测群
步骤404,数据库中不存在样本预测群,由相关专家确定样本预测群,将其存入数据库,重新执行步骤402。
步骤405,数据库中存在样本预测群,以该样本预测群为基础,计算期望E。
步骤406,对计算得到的期望E进行最大化处理。
步骤407,判断最大化处理后的结果是否满足方案中已经制定好的判断规则,若不满足,则重新执行步骤405。
步骤408,满足既定规则,得到了越界数据项的修正值。
步骤409,判断用户是否保存该修正值。
步骤410,保存该修正值到底层数据库。
步骤411,用户不保存该修正值。
步骤412,结束。
另外,本发明还提供一种补充的修正方法,即为专家修正法:针对某些比较孤立且关键的异常数据,可采用专家修正法。具体做法是由相关业务领域的专家技术人员,在显示层上直接对越界数据进行修正,然后通过数据访问层更新底层数据库。方案执行步骤如图5所示:
步骤501,用户选择了专家修正法对异常数据进行修正,开始执行方案。
步骤502,在指定界面对异常数据项进行专家修正。
步骤503,用户选择是否保存该修正值。
步骤504,保存该修正值到底层数据库。
步骤505,用户不保存该修正值。
步骤506,结束。
综上所述,本发明提供了一种对于电网企业异常业务数据进行有效治理的实现方法。同时,此方案可以应用于工业生产、医疗保健、农业现代化等诸多领域,例如,在工业生产领域,可通过方案中涉及到修正方法来修正某些工业生产方面的异常数据,使工业生产的统计分析工作更加准确,为下一步的生产计划提供数据保障,在医疗保健领域,可以利用本方案涉及到的越界数据修正方法来修正某些失真的医疗数据,提高统计分析工作的精度,为后续的医疗服务工作的评估和提升提供完善的数据基础,因此,本技术具有很高的推广价值。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。