1.本发明属于数据分析处理技术领域,具体涉及一种基于交叉校验置信度计算的数据可信评估方法和系统。
背景技术:[0002][0003]
央行征信业务管理办法要求将数据源统一规范至征信机构管理。作为征信机构,在实际的数据归集过程中,其数据源除了来自工商、社保、公安、司法、海关、税务、电力、交运等具有行政管理权限的部门外,还可能来自公开互联网、第三方数据公司、上下游合作伙伴等。如何结合政府部门“权威”来源的数据,对其他渠道的数据进行真实性校验和甄别,甚至在数据全部来源于公开互联网、第三方数据公司和合作伙伴的情况下,判断数据的可信度,并且以通过评估后真实可靠的数据为支撑,帮助金融机构开展风控、营销等多种业务场景下的建模工作,是摆在征信机构面前的重要问题。
技术实现要素:[0004]
有鉴于此,本发明提供了一种基于交叉校验置信度计算的数据可信评估方法和系统,用于对数据的真实性做出分析评估,并给出数据可信评估报告。
[0005]
本发明是通过以下技术手段实现上述技术目的的。
[0006]
一种基于交叉校验置信度计算的数据可信评估方法,包括:
[0007]
对对照数据进行清洗和预处理;
[0008]
选择/标定基准数据,将各对照数据表与基准数据表的字段排序对齐;
[0009]
按照匹配计算规则将各对照数据表的字段值分别与基准数据表的字段值进行匹配,为各对照数据表建立匹配结果矩阵;
[0010]
根据匹配结果对应的置信度,计算所有对照数据表的匹配结果矩阵对应的置信度。
[0011]
进一步的技术方案,所述对照数据是来自非权威渠道、待评估的真实数据,其标定基准数据的过程为:直接选择来自权威数据作为基准数据。
[0012]
进一步的技术方案,所述对照数据是来自非权威渠道的数据,其标定基准数据的过程为:
[0013]
对各对照数据表进行排列和关联,再依次遍历各对照数据表,计算每个关联键rid在所有对照数据表中出现的次数times(rid),若times(rid)=n,将关联键rid对应的数据记录加入待评估数据集中,生成临时数据集1,在临时数据集1中,依次遍历所有关联键rid,将临时数据集1中的所有字段值填充完毕,生成临时数据集2,删除临时数据集2中不可用的基准字段值,生成基准数据集;
[0014]
所述在临时数据集1中,依次遍历所有关联键rid,并计算临时数据集1中每个字段值在所有表中出现的次数times(valuei_j),若:
[0015]
times(valuei_j)》=floor(n*tp),将valuei_j作为对应基准字段值;
[0016]
同时存在多个字段值valuei_j,均满足times(valuei_j)》=floor(n*tp),先按照次数由大到小排序,然后按照对照数据表排列顺序对valuei_j进一步排序,最终选择第一顺位对应的valuei_j作为基准字段值;
[0017]
不存在valuei_j满足times(valuei_j)》=floor(n*tp),则将基准字段值标记为不可用;
[0018]
其中:n表示对照数据表的数量,floor表示向下取整,tp表示f在n份对照数据表中出现概率的阈值。
[0019]
进一步的技术方案,所述匹配计算规则包括:
[0020]
空值:空白值与其他值进行匹配,对应的置信度参考值为50%;
[0021]
精确匹配:相同类型值是否相等匹配,对应的置信度参考值为100%;
[0022]
范围匹配:大小范围、集合范围、时间范围的匹配,对应的置信度参考值为90%;
[0023]
模糊匹配:分词包含、文本相似度的匹配关系,对应的置信度参考值为70%;
[0024]
无匹配,对应的置信度参考值为0%。
[0025]
进一步的技术方案,所述置信度包括记录级/行级置信度和字段级/列级置信度;
[0026]
所述记录级/行级置信度的计算公式为:
[0027][0028]
所述字段级/列级置信度的计算公式为:
[0029][0030]
其中:vm,n为对照数据表字段的置信度,m表示关联键,n表示字段,num()表示数量。
[0031]
进一步的技术方案,还包括生成数据可信评估报告,所述数据可信评估报告根据中间过程数据生成,所述中间过程数据是在数据清洗、基准标定、基准维度对齐和匹配计算过程中产生的。
[0032]
更进一步的技术方案,所述清洗和预处理包括但不限于如下方式:字典/枚举转换、字段类型转换、异常值处理、关联键生成、去除或忽略部分无业务含义或价值的字段。
[0033]
一种基于交叉校验置信度计算的数据可信评估系统,包括:
[0034]
数据导入模块,用于将对照数据导入;
[0035]
数据清洗模块,对对照数据进行清洗和预处理;
[0036]
基准标定模块,标定基准数据;
[0037]
基准维度对齐模块,将各对照数据表与基准数据表的字段排序进行对齐;
[0038]
计算模块,将各对照数据表的字段值分别与基准数据表的字段值进行匹配,计算匹配结果对应的置信度;
[0039]
报告输出与清理模块,利用中间过程数据生成和输出数据可信评估报告,并对中间过程数据进行清除。
[0040]
一种电子设备,包括存储器和处理器;
[0041]
所述存储器用于存储计算机程序;
[0042]
所述处理器用于执行所述计算机程序并在执行所述计算机程序时实现上述数据可信评估方法。
[0043]
一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行上述数据可信评估方法。
[0044]
本发明的有益效果为:本发明以金融机构/征信机构的视角,结合现实工作中典型的两类数据归集和评估场景,设计了一种针对多源数据开展交叉比对校验的算法,并充分利用概率统计学原理,基于数据置信度概念对数据的真实性、可信度建立了一套可行的评估方法和系统,简化了由人工参与数据质量分析和可信评估的整个过程,通过输出可信评估报告,给出了精简的数据评估结论,极大提高了数据评估工作的效率和准确率。
附图说明
[0045]
图1为本发明所述基于交叉校验置信度计算的数据可信评估方法流程图;
[0046]
图2为本发明所述临时数据集1生成示意图;
[0047]
图3为本发明所述临时数据集2生成示意图;
[0048]
图4为本发明所述场景2标定后的基准数据示意图;
[0049]
图5为本发明所述基准维度对齐示意图;
[0050]
图6为本发明所述对照数据表对应的匹配结果矩阵示意图;
[0051]
图7为本发明所述记录级置信度分析结果以及字段级置信度分析结果示意图。
具体实施方式
[0052]
下面结合附图以及具体实施例对本发明作进一步的说明,但本发明的保护范围并不限于此。
[0053]
场景说明
[0054]
场景1:将多份来自非权威渠道、待评估的真实“对照数据”与一份已存在的“基准数据”进行比对校验并评估各份对照数据的置信度,称为“基准校验评估”。因基准数据来源于权威渠道,真实性高,可假定其置信度为(v表示权威数据与真实数据的偏差度),即真实世界的数据在总体上无限接近于基准数据。为简化后续的计算与评估,将基准数据的置信度定义为100%,并将评估对照数据置信度的问题转化为以下问题:将对照数据与基准数据进行比对,并在总体上评估对照数据的置信度,即在概率统计意义上,计算对照数据接近基准数据的程度。
[0055]
场景2:现存多份来自非权威渠道的数据(即待评估数据/对照数据),无法确认各份数据的真实性。将它们进行横向比对,依托多份数据自身展现出的统计学规律,评估各份数据的置信度,称为“混合校验评估”。一般来说,当n》2(即3份或3份以上)时,评估n份对照数据的置信度才有实际意义。并且,样本数越大,即n越大,评估相对越准确可靠,越能体现真实数据的情况。定义待评估数据某个特定字段的值为f,记f在n份数据中出现的次数为times(f),则times(f)《=n,记f在n份数据中出现概率的阈值为tp(百分率),且tp《=100%,当times(f)》=floor(n*tp)时(floor表示向下取整),可将f标定为基准数据。按此
方式迭代计算,得出多份数据的基准数据,并按照场景1中的步骤,最终得出各份数据接近基准数据程度的评估结果。这样,两种场景在整体处理步骤上可实现统一。
[0056]
如图1所示,本发明一种基于交叉校验置信度计算的数据可信评估方法,具体包括如下步骤:
[0057]
步骤(1),对照数据导入
[0058]
从文件(txt/csv/自定义等)、sql脚本、数据库、api(应用编程接口)等多种数据源导入数据至主流关系型数据库a,形成典型行列结构,如表1所示:
[0059]
表1关系型数据库典型行列结构表
[0060][0061]
其中:id指代数据唯一标识,f表示真实数据字段,value表示数值。
[0062]
步骤(2),数据清洗
[0063]
根据既定的数据标准(数据标准的定义来源于各类标准文件或业务领域经验),对关系型数据库a中的对照数据进行清洗、预处理,确保清洗后的对照数据标准与基准数据标准一致,并将清洗和预处理后的数据输出至关系型数据库b进行保存;以下列举部分可能的清洗、预处理的措施:
[0064]
①
字典/枚举转换
[0065]
将非标准的字典/枚举值转换为标准、统一的字典/枚举值;如民族、性别、币种、行业类型、各类业务枚举等;
[0066]
②
字段类型转换
[0067]
将非标准的字段类型或不合理的字段设计进行标准化、规范化;例如,将字段值实际为数值型的字段均统一转换为数值型字段,而非使用文本型字段指代数值含义(文本“32.6”转换为数值32.6);
[0068]
③
异常值处理
[0069]
将空值、错误值进行标准化处理;例如,将空白字符串进行trim(去空格)处理,将错误值进行null值(无值)或空白值替换(不参与计算评估)等;
[0070]
④
关联键生成
[0071]
如利用哈希算法将单数据表(例如单张对照数据表)内的组合键转化为可跨数据表(多个有联系的数据表)关联的单关联键,将关联键记为rid;
[0072]
⑤
去除或忽略部分无业务含义或价值的字段
[0073]
例如,忽略数据库中的自增id(无业务含义,不参与评估,也不影响数据置信度计算);
[0074]
⑥
其他
[0075]
如替换特定字符集文本为统一字符集文本等。
[0076]
步骤(3),基准标定
[0077]
针对场景1,基准标定过程退化为直接选择来自权威渠道的数据库表作为基准数据表。注意,除关联键外,基准数据表的字段命名不需要进行改动;如表2所示,为某特定业务维度的基准数据表t_0。
[0078]
表2某特定业务维度的基准数据表
[0079][0080][0081]
针对场景2,基准标定的过程详细描述如下:
[0082]
步骤1):按随机顺序,将若干份对照数据表进行排列,各表根据关联键rid字段进行关联,字段按照在各表中的排列顺序进行关联比对(不参与计算评估的字段已做剔除),将第一张表的字段命名作为备选基准数据字段命名;某3份排列后的数据表如表3、4、5所示,其中rid为多表关联键,表t_1的字段命名作为备选基准数据字段命名,即字段f1_1、f1_2作为备选的基准数据表字段命名;
[0083]
表3t_1对照表
[0084][0085]
表4t_2对照表
[0086][0087]
表5t_3对照表
[0088][0089][0090]
步骤2):依次遍历各对照数据表,计算每个关联键rid在所有对照数据表中出现的次数;对某特定关联键rid,记其在所有对照数据表中出现的次数为times(rid),若times(rid)=n,则将关联键rid对应的数据记录加入待评估数据集中;按此方式,生成临时数据集1,其中的关联键rid在所有对照数据表中均出现,对某3份数据特定表t(分别为表t_1、t_2、t_3),临时数据集1(表t_temp_1)的关联键rid={1,2,3,4,5},参见图2;
[0091]
步骤3):在临时数据集1中,依次遍历所有关联键rid;对某特定关联键rid=i,依次计算临时数据集1中每个字段值(记为valuei_j)在所有表中出现的次数,次数记为times (valuei_j),若times(valuei_j)》=floor(n*tp),则将valuei_j作为对应基准字段值;若同时存在多个valuei_j,均满足times(valuei_j)》=floor(n*tp),则先按照times(次数)由大到小排序,然后按照对照数据表排列顺序对valuei_j进一步排序,最终选择第一顺位对应的valuei_j作为基准字段值;若不存在valuei_j满足times(valuei_j)》=floor(n*tp),则将基准字段值标记为na(不可用);以此类推遍历计算,直到将临时数据集1中的所有字段值填充完毕,生成临时数据集2,如图3所示。
[0092]
步骤4):遍历临时数据集2,将存在na字段值的rid记录剔除,生成基准数据集,即标定后的基准数据,如图4所示。
[0093]
步骤(4),基准维度对齐
[0094]
按照各个字段的业务含义,通过建立中间表等方式将各对照数据与基准数据的字段排序进行对齐,或进行关联映射,形成若干二元组结构,例如对照表1的字段1映射到基准表字段1,即(f1_1-》f0_1),如图5所示。
[0095]
步骤(5),计算
[0096]
将各份对照数据分别与基准数据进行匹配;为各个对照数据表建立匹配结果矩阵,注意:需要根据rid对对照数据表及基准数据表进行集合求交操作(intersection),即匹配结果矩阵中仅保留基准数据集中rid对应的记录匹配结果。
[0097]
实际运行时,按照一定的匹配计算规则,对对照数据表及基准数据表中相应位置的数据进行匹配,匹配计算规则如表6所示:
[0098]
表6匹配计算规则表
[0099][0100]
依据基准数据中的rid集合,在各个对照数据表中进行遍历,对某特定rid=i,依次将各字段值与基准数据对应字段值进行匹配,输出匹配结果至对照数据表对应的匹配结果矩阵。如图6所示。
[0101]
根据匹配结果计算规则及匹配结果对应置信度设置(可借鉴参考值),对所有对照数据表的匹配结果矩阵计算对应的置信度矩阵。对某对照数据表t_1,其关联键为rid,两个业务字段分别为f1_1、f1_2,对rid=m的某特定记录/行,记其字段f1_n的置信度为vm,n,其置信度矩阵为表v_t_1,其记录级/行级置信度计算公式以及字段级/列级置信度计算公式如(1)、 (2)所示;对照表1的记录级置信度分析结果以及字段级置信度分析结果如图7所示;对对照表单表所有记录级置信度求平均,即得到该对照数据表整体置信度。
[0102][0103][0104]
其中:m表示关联键,n表示字段,num()表示数量。
[0105]
步骤(6),报告输出与清理
[0106]
在前述步骤中,通过数据清洗(包括字典转换/类型转换/关联键生成等重要处理动作)、基准标定(包括数据表排列/计算字段值出现次数即交叉率/剔除无效数据等重要处理动作)、基准维度对齐(包括字段在业务含义上的排序对齐或建立字段关联映射二元组等重要处理动作),计算(包括数据比对/集合求交/输出匹配结果矩阵/输出置信度矩阵/分析记录级及字段级置信度等重要处理动作),产生了众多中间过程数据(例如各中间表/临时表),将这些中间过程数据落库并用于最终数据可信评估报告的生成和输出。评估报告生成后,可将中间过程数据或计算资源等进行清理释放。参考前述各示意图中的数据结构,一份典型的数据可信评估报告可通过自动生成表格等方式展现如下内容:各数据表的基本面分析(包含表/字段/记录数量等)、数据质量分析(包含空值/异常值率分析等)、生成的待评估中间表基本面分析(注意包含待评估字段,剔除不参与计算的字段)、各表排列、基准标定结果表基本面分析(注意包含表、字段详情,记录数等)、基准对齐结果、各表记录级置信度分析结果/字段级置信度分析结果/表整体置信度分析结果等。
[0107]
一种基于交叉校验置信度计算的数据可信评估系统,包括:
[0108]
数据导入模块,用于将多种数据源数据导入关系型数据库a;
[0109]
数据清洗模块,对关系型数据库a中的对照数据进行清洗和预处理;
[0110]
基准标定模块,选择或标定基准数据;
[0111]
基准维度对齐模块,将各份对照数据与基准数据的字段排序进行对齐;
[0112]
计算模块,将各对照数据的字段值分别与基准数据的字段值进行匹配,并计算对应的置信度;
[0113]
报告输出与清理模块,利用中间过程数据生成和输出数据可信评估报告,并对中间过程数据进行清除。
[0114]
基于与一种基于交叉校验置信度计算的数据可信评估方法相同的发明构思,本技术还提供了一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器,存储器中存储了计算机可读代码,其中,计算机可读代码当由一个或多个处理器执行时,进行本发明一种基于交叉校验置信度计算的数据可信评估方法的实施。其中,存储器可以包括非易失性存储介质和内存储器;非易失性存储介质可存储操作系统和计算机可读代码。该计算机可读代码包括程序指令,该程序指令被执行时,可使得处理器执行任意一种基于交叉校验置信度计算的数据可信评估方法。处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器为非易失性存储介质中的计算机可读代码的运行提供环境,该计算机可读代码被处理器执行时,可使得处理器执行任意一种基于交叉校验置信度计算的数据可信评估方法。
[0115]
应当理解的是,处理器可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0116]
其中,所述计算机可读存储介质可以是前述实施例所述电子设备的内部存储单
元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述电子设备的外部存储设备,例如所述电子设备上配备的插接式硬盘、智能存储卡(smartmedia card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。
[0117]
所述实施例为本发明的优选的实施方式,但本发明并不限于上述实施方式,在不背离本发明的实质内容的情况下,本领域技术人员能够做出的任何显而易见的改进、替换或变型均属于本发明的保护范围。