CN111581185B - 基于规则的数据相对时效修复与异常检测方法 - Google Patents
基于规则的数据相对时效修复与异常检测方法 Download PDFInfo
- Publication number
- CN111581185B CN111581185B CN202010396337.4A CN202010396337A CN111581185B CN 111581185 B CN111581185 B CN 111581185B CN 202010396337 A CN202010396337 A CN 202010396337A CN 111581185 B CN111581185 B CN 111581185B
- Authority
- CN
- China
- Prior art keywords
- rule
- aging
- data
- repair
- algorithm
- 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/21—Design, administration or maintenance of databases
-
- 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/2477—Temporal data queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
数据时效性是反映数据时间特征的属性,对数据质量和价值有重要影响。数据的时间标记一旦丢失或篡改,很难进行绝对的精确修复。基于一些规律规则,修复数据相对时效,满足数据质量和数据挖掘对数据时序关系的需求是可行的。在数据时效规则相关研究基础上,对基本的时效规则进行了扩展,实现了规则的并行提取和增量更新;针对数据时效修复中遇到的问题和需求,提出基于规则的数据相对时效修复和异常检测方法,建立了评估修复结果的度量模型,同时探讨了应用数据时效修复检测时效异常数据的方法。实验结果和分析表明,扩展时效规则可行可用,相对时效修复算法可以有效地进行数据时序修复和异常时效数据的检测。
Description
技术领域
本发明涉及数据的时效性修复技术领域,尤其是涉及基于规则的数据相对时效修复与异常检测方法研究。
背景技术
大数据和人工智能时代,数据质量反映了数据的可用性和价值,是影响数据资产价值的核心因素之一。数据质量的评价是个复杂的问题,涉及到主观、客观等众多影响因素的多维度综合评估。一般来讲,数据的价值往往在数据挖掘、分析使用过程中得到更好的体现,国内外学者更多倾向是从数据可用性角度认识与定义数据质量,Sargent将数据质量定义为“使所有数据都能满足实际需求的能力”,Wang和Strong提出了“数据质量取决于这些数据是否适用于上下文并适合数据使用者的想法”。丁小欧等针对影响数据质量的4个关键性质完整性、精确性、一致性、时效性提出了综合评估框,确定了数据质量多维关联关系评估策略,李建中等深入总结研究了数据可用性判定问题,在国内外相关研究基础上总结提出一致性、精确性、完整性、时效性和实体同一性等5个实际可行的数据可用性度量指标,对其中“时效性”的解释是“每个信息都与时俱进,不过时”,并且指出数据精确性和数据时效性方面研究工作较少,亟需深入系统研究。
时效性是数据的重要属性,是数据有关时间的特征,反映了数据在其建模的世界中“新”的程度,关系到数据质量、数据可用性和数据价值。在数据分析、数据挖掘和数据增值应用中,如时间序列分析、流程挖掘、关联和推荐等算法中,数据时效的准确与否通常会决定数据分析结果的可靠性和可用性,使用过期或者时间错乱的数据可能会做出错误的决策。早在2002年,有专家报告指出,在商业和医疗领域,数据质量退化非常快,由于客户信息的变化,每月至少有2%的数据因过时失效,并且经过测算,如果这些过时数据没有被有效修复,在2年内会有近一半的数据记录因过时而不可用。面对纷繁芜杂的数据,如果无法确定数据的新旧,无法判断数据是否过时,数据查询可能会返回错误的结果,分析挖掘可能会得到相悖的结论,造成数据质量下降、可用性降低、生产要素地位被削弱和数据资产贬值。
数据时效的判定是改善提高数据质量的重要手段。在大数据和人工智能时代,人们的各类数据非集中化地分布在各类平台和系统中,形成很多数据孤岛,无法进行统一管理和更新、维护,数据时效不精确、数据过时带来的问题愈加严重。由于缺乏及时有效的维护或数据集成融合等原因,很多数据的时间戳经常不可用或不精确,很难完全依赖精确的时间戳进行数据的时效性判定。虽然时间戳有可能缺失或不精确,但是记录人们生产生活的数据是有一定的规律性的。例如一个人不同时期两条记录,学位状态分别为“学士”和“硕士”,即使没有时间戳,我们也可以确定“硕士”的记录要新一些,或者即便“学士”记录的时间戳更新一些,我们几乎也可以判定是时间戳有误或数据异常。婚姻状态、年龄、薪酬等很多属性都有类似的特征。通过在数据中学习和提取这些规律,虽然很难进行绝对的时效性判定、还原数据精确的时间戳,但是我们可以进行相对时效的判定、修复记录的先后顺序,判定数据的新旧,发现数据中的时效异常,提高数据时效质量和数据可用性,满足数据挖掘、创新应用的数据质量要求。
本发明研究了基于时效规则的数据相对时效修复和异常数据检测等问题,主要在以下几方面取得了一些进展和成果:
(1)对基本时效规则形式进行了扩展,进一步明确了时效规则相关概念和性质,扩展后的时效规则可支持并行算法和增量更新;
(2)提出了可并行的时效规则抽取算法,包括规则抽取,规则合并,增量更新算法;
(3)提出了基于规则的数据相对时效修复方法,明确了有冲突与无冲突时效修复两类问题,并分别建立了针对这两类问题的修复度量模型;
(4)探讨了基于时效修复的异常数据检测方法,可以用于发现实体的异常行为,或过程中的异常事件和流程;
(5)在真实数据集上进行了相关实验,结果表明时效规则抽取并行算法是有效的,数据相对时效修复是可用的,异常数据检测方法可以有效发现异常数据。
发明内容
本发明旨在提出一种基于规则的数据相对时效修复与异常检测方法。
本发明解决其技术难题所采用的技术方案如下:
1)基本时效规则的扩展
在时效规则的定义中,每一条规则有一个支持度属性,其基本形式为:BASE_RULE(规则,支持度);这里的时效规则是一种二元规则,表示两个状态的先后顺序,支持度sr可以表示为:
对于某时效规则r,Sr表示支持度,O(r)为服从该规则的实体的集合,|O(r)|为服从该规则的实体的数量,V(r),|V(r)|分别表示违背该规则的实体集合和违背该规则的实体的数量,f(r)表示为强度函数,是一个表示服从该规则实体的频数的函数,如可选取Logistic函数作为强度函数:
其中k是变化率,r0为平移常数,r=r0时,f(r)函数值为0.5;如设置r0=10,则服从频数小于等于10时,f(r)函数值域为(0,0.5],服从频数大于10时,f(r)函数值域为(0.5,1.0);
为了实现规则的增量更新和算法的并行化、保留更多规则信息以利于时效修复和数据质量评价,对基本时效规则形式进行了扩展,每一条规则保留了更多信息,扩展后的规则形式为:
EXTEND_RULE(规则,服从数,违背数,平均长度)
其中,服从数o为数据集中满足该规则的实体数,违背数v表示数据集中违背该规则的实体数,平均长度len表示规则的状态节点经过的边的数量;扩展后的时效规则与原规则是相容的,不影响原时效规则支持度的计算,且满足以下重要性质:
性质1规则的可加性:不同记录集扫描得到的两条相同规则,可以合并为一条规则;
R1(pre→post,o1,v1,len1)
R2(pre→post,o2,v2,len2)
R1+R2=R(pre→post,o,v,len)
其中,pre和post表示规则中的两个状态,o=o1+o2,v=v1+v2,
规则的可加性是实现规则库增量更新和并行化计算的重要条件;
性质2规则的逆反性:某规则R(pre→post,o,v,len),其逆规则为R'(post→pre,v,o,-len);
规则的逆反性可有效减少需要存储的规则数量,如规则a→b和规则b→a是可逆的;
2)可并行的时效规则抽取算法
·时效规则抽取算法
算法1时效规则抽取算法:
输入:包含多个实体的记录集,每个实体对应具有时间戳属性的多条记录,实体集为E,在记录集的属性A上提取状态类型时效规则;
输出:形式为EXTEND_RULE(规则,服从数,违背数,平均长度)的时效规则集合CRS;
算法步骤:
①对于实体集E中每一个实体e,在记录集中选出实体e的所有元组按照时间戳升序排序,并给每个元组设定一个排序序号,从1开始依次递增,时间戳相同的元组的排序序号相同;N表示实体e的所有元组数目;
②对于实体e中的所有元组,如果第i个元组的排列序号小于第j个元组,则建立规则R,R的名称为“Ti[A]→Tj[A]”,其中Ti[A]表示第i个元组的属性A的值,Tj[A]表示第j个元组的属性A的值,i的取值范围是从1到N-1的整数,j的取值范围是从i+1到N的整数;R的服从数为1,违背数为0,平局长度为第j个元组与第i个元组排序序号的差值;将规则R插入到集合CRS中;
③规则R的插入:在集合CRS中,如果规则R已经存在,对规则R进行更新(算法3);如果规则R不存在但其逆规则存在,计算规则R的逆规则R′(算法2),对规则R′进行更新(算法3);如果规则R以及它的逆规则R′都不存在,则直接添加规则R;
④将实体集E中每一个实体的所有元组都按照步骤②和③抽取规则并插入到集合CRS中;
算法2计算逆规则算法
输入:时效规则R(pre→post,o,v,len)
输出:原规则的逆规则R'(pre'→post',o',v',len')
算法步骤:给pre'赋值为post,post'赋值为pre,o'赋值为v,v'赋值为o,len'赋值为-len;
算法3时效规则更新算法
输入:更新前的时效规则集合CRS,根据规则R属性值对CRS进行更新;
输出:更新后的时效规则集合CRS;
算法步骤:
①从集合CRS中选出与规则R(pre→post,o,v,len)名称相同的规则R1(pre→post,o1,v1,len1);
②给o1重新赋值为o1+o,v1重新赋值为v1+v,len1重新赋值为:
len1=((o1+v1)*len1+(o+v)*len)/(o1+v1+o+v) (3)
③对规则R1的更新写入到集合CRS中;
·规则抽取算法的增量更新
算法4时效规则集合增量更新算法
输入:已有的时效规则集合CRS,新增的包含多个实体的数据记录集合IRS,新增的实体集为E,在记录集的属性A上提取状态类型时效规则;
输出:更新后的时效规则集合CRS;
算法步骤:
①根据算法1,在记录集合IRS中抽取属性A的状态时效规则,记为ICRS;
②对于ICRS中的每一个规则R,将R插入到集合CRS中;如果规则R已经存在,对规则R进行更新(算法3);如果规则R不存在但其逆规则存在,计算规则R的逆规则R′(算法2),对规则R′进行更新(算法3);如果规则R以及它的逆规则R′都不存在,则直接添加规则R;
·规则抽取算法的并行化
时效规则的提取,可以在多个节点上并行执行;首先对需要提取规则的数据集按记录的实体进行分割(同一实体的记录尽量不分散到多个节点),多个结点上同时运行算法1抽取时效规则集合,对抽取到的n个规则集合CRS1,CRS2,CRS3,…,CRSn,可以在单个结点或多个结点上按一定策略执行算法4进行合并;
在对规则集进行合并时,可以采用两种合并策略:
第一种合并策略是在单个结点上非并行执行,依次将第2,3,…,n个规则集合并到第1个规则集,第n个集合处理完成后,得到的第1个集合即为完备的规则集,无法并行执行,时间复杂度为O(n-1);
第二种策略合并规则集合分别在不同结点上完成,不同集合合并可以同时进行,最后合并成一个完备的规则集合,时间复杂度为O(log(n));
3)基于规则的数据相对时效修复与异常检测
·数据时序修复
在一个数据记录集中,如果某实体的数据集时间标签丢失,可以通过提取其他实体的状态时效规则,计算并修复丢失时间标签的数据集的数据相对时序;
算法5数据相对时效修复算法
输入:已提取的时效规则集合CRS,待修复记录时序的实体e的缺失时效标签的数据集T,指定的时效属性A;
输出:修复完成的按相对时序排列的实体e的记录集合T′;
算法步骤:
①记集合T中的元组数目为n,从第一个元组开始,计算每个元组的属性A的值作为规则名称中左边部分的所有规则路径长度之和;
②路径长度之和的计算:对于第i个元组,其路径长度之和Li初始为0,依次选择第1,2,…,i-1,i+1,…,n个元组的属性A的值作为规则名称的右边部分,更新路径长度之和;假如选择到了第j个元组,则组成的规则名称为’Ti[A]→Tj[A]’,如果该规则及其逆规则不存在于集合CRS中,Li的值不变,如果该规则或其逆规则存在于集合CRS中且平均长度和支持度分别为len(r)和sr,则Li更新为:
Li=Li+len(r)*sr (4)
其中,支持度sr由公式(1)计算得到;
③当计算得到每个元组的属性A的值作为规则名称左边部分的所有路径长度之和后,按照路径长度之和降序对元组排序,排序后的元组即为按照相对时序排列的数据集;
·有冲突与无冲突时效修复
无冲突时序修复,是指某实体待修复的记录本质上是按时间标签严格递增或递减的序列,由于某种原因造成时间标记不准确或者缺失,顺序错乱,需要进行时序修复;
有冲突时序修复,是指某实体待修复的记录本质上是并非是按时间标签严格递增或递减的序列,有一部分记录的状态的值是相同的,顺序错乱,需要进行时序修复;
针对这两类数据时效修复问题,分别引用或定义一些修复度量标准,用作评价修复算法有效性的模型;
模型1肯德尔相关系数
使用τA对无冲突时序修复效果进行评价:
其中,其中nc表示两个随机变量中拥有一致性的顺序元素对的个数;nd表示不一致性的元素对的个数,n0为所有的二元顺序对的个数;
模型2一致规则比例
适用于无冲突和有冲突时序修复;考虑两个可能存在相同元素的、有序的随机变量X和Y,nX表示随机变量X的二元顺序对的个数,nc表示两个随机变量中拥有一致性的元素对数,一致规则比例表示为:
模型3分段正确率
适用于有冲突时序修复评价;元素个数为n,每一部分重复元素划分为一个区间段,一共有ns个区间,修复后序列按对应区间段统计相应元素落入这个区间段的个数,第i个区间的正确元素个数为nci,最后统计所有划分到正确区间的元素所占比例:
·基于时效修复的异常数据检测
对于待检测的实体集E中的每一个实体e,判断实体e的数据记录是否存在异常的检测过程如下:
①检索e的所有数据记录,按时间标签升序排列,时间缺失的记录可置于最先或最后,得到序列S1;
②对序列S1进行随机乱序,然后基于时效规则,对其进行时序修复,得到修复后的序列S2;
③根据序列S1判断是有冲突还是无冲突修复,根据修复类型选择合适的度量标准,计算修复前序列和修复后序列的时序相关性(度量模型值),根据设定的阈值判定实体e是否异常。
附图说明
图1规则提取算法的并行测试结果
图2时效规则集合的并行合并策略
图3规则合并算法的并行测试结果
图4无冲突时效修复两个模型的对比
图5有冲突时效修复两个模型的对比
图6两个模型的F1评分对比
具体实施方式
下面结合实例对本发明作进一步的说明:
1)数据与试验配置
实验所用的服务器配置为CPU Intel T7700 2.4GHz,20核心,16G RAM,.NetFramework 4.5,测试代码全部用C#编写;数据和规则均存储在数据库中,数据库MySQL5.7.
测试数据集来源于某高校教务系统,数据记录字段包括课程名、课程性质、编号、学号、选课学期等。该高校学生选课过程较为灵活,学生可不严格按培养方案既定学期提前选修本专业或其他专业必修、选修课,转专业学生部分修读课程跨多个专业,个别学生的存在重修、再修等情况。因此,数据集虽然无异常数据,但是从学生的不同学期选课的迁移这一数据时效角度来看,可视为存在大量噪音数据。
根据不同实验需求,整理出以下4个基本数据集用于实验测试:
①数据集1,学校2014-2016级28076名学生1771292条选课记录,平均每人63条记录,用于规则提取性能测试。
②数据集2,学校2015级9501人8个学期668481条选课数据,平均每人约71条记录,用于时效规则提取。
③数据集3,某学院2014级一个典型班级38人8个学期2745条选课记录,用于对有冲突和无冲突时效修复效果进行评估。
④数据集4,选取某学院2016级某专业4个班133人总计8628条记录,其中正常班级2个,共71人,标记为正常状态;转专业班级2个,共62人,状态标记为异常.该数据集用于异常检测实验。
2)并行算法性能测试
在并行算法性能测试分为两部分进行,一部分是时效规则提取算法的并行测试,另一部分是规则集合合并测试,实验在数据集1上完成。
时效规则提取并行算法的共测试10轮,每轮分别设置规则提取算法并行运行线程数为1-24,分别记录不同线程数量并行时在“数据集1”上完成规则提取的时间.10轮结束测试后,统计不同并行线程数执行时间均值。实验结果表明,并行化对算法效率有明显的提高。对于测试任务,单线程操作需要90352.75毫秒,双线程并行时,耗时51502.0毫秒,效率提升幅度最大,达43.0%;测试中,15个线程并行时取得最小值22399.22毫秒,此时运行效率提升75.2%,效果显著。实验结果如图1所示。
时效规则合并并行算法性能测试进行10轮。每轮测试使用30个数据集,每个数据集包含10~5000个实体的所有记录,数据集中实体是按一定规则从“数据集1”中随机选择的。相应地,从30个测试数据集中提取30个时效规则集合,规则数量范围是12254~867139.
在并行测试中,对于每一轮测试,设置1到24个并行线程,按图2所示策略合并30个规则集合,10轮结束测试后,统计不同并行线程数量执行时间均值。在非并行情况下,合并30个规则集合平均要花费3802.25毫秒;两线程并行运行时,耗时2644.0毫秒,效率提升幅度最大,达到30.5%;测试中,并行22个线程时,得到一个最小值1702.67毫秒,此时相较于单线程运行,算法效率提高了55.23%,实验表明,并行算法是有效的,并行化可以显着提高合并效率.时效规则合并并行算法测试结果如图3所示。
实验模拟了规则提取算法、规则合并算法并行运行情况,证明了并行算法的可用性和可行性,但实验环境存在一定局限性,并未真正在分布式系统上进行并行算法测试.并行的线程、数据虽然在逻辑上进行了合理分割,但是运行时依然在单一的物理服务器上运行,多线程运行时涉及到CPU,内存,IO等系统资源争用情况,因此两个实验中都可以发现,当并行线程数量大于10时,由于系统资源瓶颈所限,继续增加线程数量未再持续减少时间消耗,耗时反而有所波动。在分布式系统上并行运行且系统资源充分的情况下,结果应更为接近理想情况。
3)无冲突时序修复
通过实验验证无冲突时序修复可行性,并对其修复效果应用“肯德尔相关系数”和“一致规则比例”两个评价模型进行评价。
首先,在“数据集2”上完成所需时效规则集合的提取,基于提取出的时效规则集合,在“数据集3”上完成无冲突时效修复实验并评价结果.实验方案如下:
①在“数据集3”中,每一个学生(实体),每学期随机选取一门课(8个学期,8门课),形成按学期顺序组织的课程序列;
②对①中每个实体的课程序列先执行随机乱序操作,再基于时效规则进行时序修复.修复时,依次使用支持度不小于0.3,0.35,0.4,…,0.9,0.95的时效规则进行修复,每个支持度水平分别计算“肯德尔相关系数”和“一致规则比例”;
③重复步骤①~②共10次,完成后统计均值。
实验结果显示,规则支持度阈值为0.55(即支持度≥0.55)时,时效规则对乱序的选课序列进行修复效果最好,修复后与原序列的肯德尔相关系数平均达98.1%,一致的规则比例平均达99.05%.由于数据时序修复是在视同有噪音的数据上完成的(参见数据与试验配置),规则支持度的定义可有效屏蔽数据噪音,此实验结果证实基于数据时效规则的无冲突时效修复方法是有效可靠的.实验结果如图4所示,支持度0.5~0.9的部分实验结果见表1.
表1无冲突修复实验结果
实验结果还显示,在进行数据时效修复时,支持度阈值的选取不是非常关键,尽管在支持度阈值为0.55的规则进行修复时取得最好结果,但实际上支持度从0.3~0.85这样大一个范围区间修复的结果区别并不大,只有在支持度阈值为0.85时两项评价模型才出现较明显下降,侧面反映本文所提出的数据相对时效修复方法适应性较广,对一些参数的选择不是很敏感,鲁棒性较强。
4)有冲突时序修复
通过实验验证有冲突时序修复可行性,并对其修复效果应用“一致规则比例”和“分段正确率”两个评价模型进行评价。
使用上述实验已经提取的时效规则集合,在“数据集3”上完成有冲突时效修复实验并评价结果。实验方案如下:
①在“数据集3”中,选择每一个学生(实体)全部学期课程,得到按学期排序组织的课程序列,相同课程的学期序号相同;
②对①中每个实体的课程序列先执行随机乱序操作,再基于时效规则进行时序修复。修复时,依次使用支持度不小于0.3,0.35,0.4,…,0.9,0.95的时效规则进行修复,每个支持度水平分别计算“一致规则比例”和“分段正确率”。由于使用了所有课程,无论如何随机乱序,修复结果都是一致的,未再设置重复轮数。
实验显示,所有实体的平均课程为48.26门(状态数),每个实体平均提取994.06条规则。规则支持度为0.55时,规则一致比例最大,达98.45%,支持度为0.65时,分段正确率最高,达89.77%.部分实验数据结果见表2,实验结果如图5所示。
表2有冲突时效修复实验结果
使用不同的规则支持度进行有冲突时效修复,“一致规则比例”走势平稳,变化不大,在使用高支持度规则时略有下降,对参数区之不敏感;“分段正确率”在支持度为0.65处达到最大且出现拐点,总体上来说,基于时效规则的有冲突时序修复方法也是有效的、可靠的。
在无冲突时效修复中,“一致规则比例”和“肯德尔相关系数”略有差异,但走向趋势是一致的;“一致规则比例”和“分段正确率”走向趋势较大,“一致规则比例”仅体现数据的时序特征,“分段正确率”根据其定义,是从相对时序和绝对位置两个角度评价综合评价,还体现了数据的区间位置特征。考虑学生的选课数据,有些同学的选课“时序”可能是对的,但选课学期可能有偏差,是造成这两个模型走向差异的原因.综合考虑,进行有冲突或无冲突时效修复时,支持度阈值不宜过大,取0.6左右进行修复可能会达到潜在的最优修复效果。
5)数据异常检测
验证基于规则的时效修复算法发现异常数据的能力。使用在“数据集2”提取的时效规则集合,在“数据集4”进行异常数据检测,实验流程如下:
①在“数据集4”中,选择每一个学生(实体)全部学期课程,得到按学期排序组织的课程序列,相同课程的学期序号相同;其中标记为正常的实体71个,标记为异常的实体62个。
②对①中每个实体的课程序列先执行随机乱序操作,再基于时效规则进行时序修复,设定的规则支持度阈值为0.55,分别计算“一致规则比例”和“分段正确率”两个评价模型值。
③设定召回率水平50%~100%(异常实体62个,召回实体数为31,32,33,…,62),分别依据两个模型对修复序列进行升序排列,分别计算在不同召回率水平下的精确率和精确率召回率的调和平均值F1评分。
④评估两个评价模型的异常数据检测阈值。
因为实验目的是检测异常数据,因此标记为异常的数据为正类.实验中所用的召回率(R),精确率(P),F1等指标定义如下:
其中,R表示召回率,P表示精确率,TP表示正类(标记异常数据,检测异常),FP表示假正类(标记正常数据,检测认为异常),FN表示假负类(标记异常数据,检测认为正常)。
部分实验统计结果见表3,其中召回率R<75%时,“一致规则比例”和“分段正确率”两个模型评价的精确率全部为100%,未列出。
表3基于时效修复的异常检测实验结果
实验结果显示,当使用“一致规则比例”时,其值不超过0.8527,精确率均为100%,即当模型阈值设定为0.8527,此时召回率为77.4%,精确率100%.待评价实体的所有记录经时序修复后,“一致规则比例”值小于阈值认为是异常数据,大于阈值认为是正常数据。召回率91.9%时,F1最大。
当使用“分段正确率”时,其值不超过0.5370,精确率均为100%,即当设定阈值为0.5370,此时召回率为75.8%,精确率100%.召回率93.5%时,F1最大。
不同召回率水平下,两个模型的F1变化趋势如图6所示,用于异常数据监测效果区别不大。对于我们的实验数据,召回率为92%左右时,两个模型的F1均开始下降,且“一致规则比例”的F1呈断崖式下降,精确率从93.44%跌落到69.88%,因此,用作异常数据检测中,召回率阈值取值应尽量保守和谨慎,不注意的话风险较大。相对而言“分段正确率”模型的F1波动较为平缓,对召回率阈值的选择较不敏感。
Claims (1)
1.基于规则的数据相对时效修复与异常检测方法,其特征在于该方法的技术步骤如下:
1)基本时效规则的扩展
在时效规则的定义中,每一条规则有一个支持度属性,其基本形式为:BASE_RULE(规则,支持度);这里的时效规则是一种二元规则,表示两个状态的先后顺序,支持度sr可以表示为:
对于某时效规则r,Sr表示支持度,O(r)为服从该规则的实体的集合,|O(r)|为服从该规则的实体的数量,V(r),|V(r)|分别表示违背该规则的实体集合和违背该规则的实体的数量,f(r)表示为强度函数,是一个表示服从该规则实体的频数的函数,如可选取Logistic函数作为强度函数:
其中k是变化率,r0为平移常数,r=r0时,f(r)函数值为0.5;如设置r0=10,则服从频数小于等于10时,f(r)函数值域为(0,0.5],服从频数大于10时,f(r)函数值域为(0.5,1.0);
为了实现规则的增量更新和算法的并行化、保留更多规则信息以利于时效修复和数据质量评价,对基本时效规则形式进行了扩展,每一条规则保留了更多信息,扩展后的规则形式为:
EXTEND_RULE(规则,服从数,违背数,平均长度)
其中,服从数o为数据集中满足该规则的实体数,违背数v表示数据集中违背该规则的实体数,平均长度len表示规则的状态节点经过的边的数量;扩展后的时效规则与原规则是相容的,不影响原时效规则支持度的计算,且满足以下重要性质:
性质1规则的可加性:不同记录集扫描得到的两条相同规则,可以合并为一条规则;
R1(pre→post,o1,v1,len1)
R2(pre→post,o2,v2,len2)
R1+R2=R3(pre→post,o,v,len)
其中,pre和post表示规则中的两个状态,o=o1+o2,v=v1+v2,
规则的可加性是实现规则库增量更新和并行化计算的重要条件;
性质2规则的逆反性:某规则R(pre→post,o,v,len),其逆规则为R'(post→pre,v,o,-len);
规则的逆反性可有效减少需要存储的规则数量,如规则a→b和规则b→a是可逆的;
2)可并行的时效规则抽取算法
·时效规则抽取算法
算法1时效规则抽取算法:
输入:包含多个实体的记录集,每个实体对应具有时间戳属性的多条记录,实体集为E,在记录集的属性A上提取状态类型时效规则;
输出:形式为EXTEND_RULE(规则,服从数,违背数,平均长度)的时效规则集合CRS;
算法步骤:
①对于实体集E中每一个实体e,在记录集中选出实体e的所有元组按照时间戳升序排序,并给每个元组设定一个排序序号,从1开始依次递增,时间戳相同的元组的排序序号相同;N表示实体e的所有元组数目;
②对于实体e中的所有元组,如果第i个元组的排列序号小于第j个元组,则建立规则R,R的名称为“Ti[A]→Tj[A]”,其中Ti[A]表示第i个元组的属性A的值,Tj[A]表示第j个元组的属性A的值,i的取值范围是从1到N-1的整数,j的取值范围是从i+1到N的整数;R的服从数为1,违背数为0,平局长度为第j个元组与第i个元组排序序号的差值;将规则R插入到集合CRS中;
③规则R的插入:在集合CRS中,如果规则R已经存在,对规则R进行更新,如算法3;如果规则R不存在但其逆规则存在,计算规则R的逆规则R′,如算法2,对规则R′进行更新,如算法3;如果规则R以及它的逆规则R′都不存在,则直接添加规则R;
④将实体集E中每一个实体的所有元组都按照步骤②和③抽取规则并插入到集合CRS中;
算法2计算逆规则算法
输入:时效规则R(pre→post,o,v,len)
输出:原规则的逆规则R'(pre'→post',o',v',len')
算法步骤:给pre'赋值为post,post'赋值为pre,o'赋值为v,v'赋值为o,len'赋值为-len;
算法3时效规则更新算法
输入:更新前的时效规则集合CRS,根据规则R属性值对CRS进行更新;
输出:更新后的时效规则集合CRS;
算法步骤:
①从集合CRS中选出与规则R(pre→post,o,v,len)名称相同的规则R1(pre→post,o1,v1,len1);
②给o1重新赋值为o1+o,v1重新赋值为v1+v,len1重新赋值为:
len1=((o1+v1)*len1+(o+v)*len)/(o1+v1+o+v) (3)
③对规则R1的更新写入到集合CRS中;
·规则抽取算法的增量更新
算法4时效规则集合增量更新算法
输入:已有的时效规则集合CRS,新增的包含多个实体的数据记录集合IRS,新增的实体集为E,在记录集的属性A上提取状态类型时效规则;
输出:更新后的时效规则集合CRS;
算法步骤:
①根据算法1,在记录集合IRS中抽取属性A的状态时效规则,记为ICRS;
②对于ICRS中的每一个规则R,将R插入到集合CRS中;如果规则R已经存在,对规则R进行更新,如算法3;如果规则R不存在但其逆规则存在,计算规则R的逆规则R′,如算法2,对规则R′进行更新,如算法3;如果规则R以及它的逆规则R′都不存在,则直接添加规则R;
·规则抽取算法的并行化
时效规则的提取,可以在多个节点上并行执行;首先对需要提取规则的数据集按记录的实体进行分割,同一实体的记录尽量不分散到多个节点,多个结点上同时运行算法1抽取时效规则集合,对抽取到的n个规则集合CRS1,CRS2,CRS3,…,CRSn,可以在单个结点或多个结点上按一定策略执行算法4进行合并;
在对规则集进行合并时,可以采用两种合并策略:
第一种合并策略是在单个结点上非并行执行,依次将第2,3,…,n个规则集合并到第1个规则集,第n个集合处理完成后,得到的第1个集合即为完备的规则集,无法并行执行,时间复杂度为O(n-1);
第二种策略合并规则集合分别在不同结点上完成,不同集合合并可以同时进行,最后合并成一个完备的规则集合,时间复杂度为O(log(n));
3)基于规则的数据相对时效修复与异常检测
·数据时序修复
在一个数据记录集中,如果某实体的数据集时间标签丢失,可以通过提取其他实体的状态时效规则,计算并修复丢失时间标签的数据集的数据相对时序;
算法5数据相对时效修复算法
输入:已提取的时效规则集合CRS,待修复记录时序的实体e的缺失时效标签的数据集T,指定的时效属性A;
输出:修复完成的按相对时序排列的实体e的记录集合T′;
算法步骤:
①记集合T中的元组数目为n,从第一个元组开始,计算每个元组的属性A的值作为规则名称中左边部分的所有规则路径长度之和;
②路径长度之和的计算:对于第i个元组,其路径长度之和Li初始为0,依次选择第1,2,…,i-1,i+1,…,n个元组的属性A的值作为规则名称的右边部分,更新路径长度之和;假如选择到了第j个元组,则组成的规则名称为’Ti[A]→Tj[A]’,如果该规则及其逆规则不存在于集合CRS中,Li的值不变,如果该规则或其逆规则存在于集合CRS中且平均长度和支持度分别为len(r)和sr,则Li更新为:
Li=Li+len(r)*sr (4)
其中,支持度sr由公式(1)计算得到;
③当计算得到每个元组的属性A的值作为规则名称左边部分的所有路径长度之和后,按照路径长度之和降序对元组排序,排序后的元组即为按照相对时序排列的数据集;
·有冲突与无冲突时效修复
无冲突时序修复,是指某实体待修复的记录本质上是按时间标签严格递增或递减的序列,由于某种原因造成时间标记不准确或者缺失,顺序错乱,需要进行时序修复;
有冲突时序修复,是指某实体待修复的记录本质上是并非是按时间标签严格递增或递减的序列,有一部分记录的状态的值是相同的,顺序错乱,需要进行时序修复;
针对这两类数据时效修复问题,分别引用或定义一些修复度量标准,用作评价修复算法有效性的模型;
模型1肯德尔相关系数
使用τA对无冲突时序修复效果进行评价:
其中,其中nc表示两个随机变量中拥有一致性的顺序元素对的个数;nd表示不一致性的元素对的个数,n0为所有的二元顺序对的个数;
模型2一致规则比例
适用于无冲突和有冲突时序修复;考虑两个可能存在相同元素的、有序的随机变量X和Y,nX表示随机变量X的二元顺序对的个数,nc表示两个随机变量中拥有一致性的元素对数,一致规则比例表示为:
模型3分段正确率
适用于有冲突时序修复评价;元素个数为n,每一部分重复元素划分为一个区间段,一共有ns个区间,修复后序列按对应区间段统计相应元素落入这个区间段的个数,第i个区间的正确元素个数为nci,最后统计所有划分到正确区间的元素所占比例:
·基于时效修复的异常数据检测
对于待检测的实体集E中的每一个实体e,判断实体e的数据记录是否存在异常的检测过程如下:
①检索e的所有数据记录,按时间标签升序排列,时间缺失的记录可置于最先或最后,得到序列S1;
②对序列S1进行随机乱序,然后基于时效规则,对其进行时序修复,得到修复后的序列S2;
③根据序列S1判断是有冲突还是无冲突修复,根据修复类型选择合适的度量标准,计算修复前序列和修复后序列的时序相关性,即度量模型值,根据设定的阈值判定实体e是否异常。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010396337.4A CN111581185B (zh) | 2020-05-12 | 2020-05-12 | 基于规则的数据相对时效修复与异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010396337.4A CN111581185B (zh) | 2020-05-12 | 2020-05-12 | 基于规则的数据相对时效修复与异常检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581185A CN111581185A (zh) | 2020-08-25 |
CN111581185B true CN111581185B (zh) | 2022-04-15 |
Family
ID=72115622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010396337.4A Active CN111581185B (zh) | 2020-05-12 | 2020-05-12 | 基于规则的数据相对时效修复与异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581185B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112101468B (zh) * | 2020-09-18 | 2024-04-16 | 刘吉耘 | 一种在序列组合中判定异常序列的方法 |
CN113987190B (zh) * | 2021-11-16 | 2023-02-28 | 国网智能电网研究院有限公司 | 一种数据质量校验规则提取方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156524B (zh) * | 2014-08-01 | 2018-03-06 | 河海大学 | 交通数据流的聚集查询方法及系统 |
CN106023592A (zh) * | 2016-07-11 | 2016-10-12 | 南京邮电大学 | 一种基于gps数据的交通拥堵检测方法 |
US10884876B2 (en) * | 2018-02-27 | 2021-01-05 | Veritas Technologies Llc | Systems and methods for performing a database backup for repairless restore |
CN108664603B (zh) * | 2018-05-09 | 2022-06-03 | 北京奇艺世纪科技有限公司 | 一种修复时序数据的异常聚合值的方法及装置 |
-
2020
- 2020-05-12 CN CN202010396337.4A patent/CN111581185B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111581185A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rhemtulla et al. | Worse than measurement error: Consequences of inappropriate latent variable measurement models. | |
Verco et al. | Software for detecting suspected plagiarism: Comparing structure and attribute-counting systems | |
US8170894B2 (en) | Method of identifying innovations possessing business disrupting properties | |
Bell et al. | The limited impact of individual developer data on software defect prediction | |
CN111581185B (zh) | 基于规则的数据相对时效修复与异常检测方法 | |
Komuro | Experiences of applying SPC techniques to software development processes | |
Brenner et al. | A taxonomy of inference in simulation models | |
Petropoulos et al. | Using a rolling training approach to improve judgmental extrapolations elicited from forecasters with technical knowledge | |
Pospíšil et al. | Process mining in a manufacturing company for predictions and planning | |
Zaied et al. | The relationship between the sources of knowledge management, organisational innovation and organisational performance | |
Cecconi et al. | A temporal logic-based measurement framework for process mining | |
Carr-Hill et al. | Problems in the analysis of life histories | |
Xu et al. | A comparison of the multimemory and detection theories of know and remember recognition judgments. | |
CN113313344A (zh) | 一种融合多模式的标签体系构建方法和系统 | |
Duan et al. | Process mining of duplicate tasks: A systematic literature review | |
Vijaya et al. | Monitoring the stability of the processes in defined level software companies using control charts with three sigma limits | |
Pourmohammadshahini et al. | Identifying decision-making styles and components of succession planning capabilities and examine their relationship | |
Becker et al. | Using KDD to analyze the impact of curriculum revisions in a Brazilian university | |
Tarnai et al. | Methods for Testing and Evaluating Computer‐Assisted Questionnaires | |
Gocht et al. | A new approach for automated feature selection | |
Robb et al. | Quantitative assessment of perceived value of geological collections by ‘experts’ for improved collections management | |
Bolzern-Konrad et al. | Trust as an enduring organizational value for competitive advantage in a constantly changing business world: Theoretical analysis and empirical findings from two research studies | |
Böckenholt | Measuring change: Mixed Markov models for ordinal panel data | |
Studer | Validating sequence analysis typologies using bootstrapping | |
Kaner | Software testing as a social science |
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 |