车辆维修报销行为异常检测方法、设备及存储介质
技术领域
本发明涉及大数据处理技术领域,特别涉及一种车辆维修报销行为异常检测方法、设备及存储介质。
背景技术
车辆维修报销行为主要是指公司集团或者单位的公车日常行驶过程中的维修,维修记录导入数据库形成维修报销数据。随着数据量的日益增大,车辆报销管理人员无法直观的判断该车辆报销行为是否存在异常,在利益的驱动下会存在一些谎报等违规报销行为,给公司或者单位的财产带来一定的损失。目前的监管方式是通过人工感官上判断审核,经常由于缺乏有力的证据而无法进行追责与监管,导致监管效率低下。
发明内容
有鉴于此,本发明提供一种可以准确、高效对车辆维修报销行为异常检测方法、设备及存储介质。
一种车辆维修报销行为异常检测方法,包括如下步骤:
S1、对采集的车辆维修数据进行预处理,并对预处理之后的数据进行影响因子消除处理获得第一个特征列组以及第二个特征列组;
S2、对第一个特征列组、第二个特征列组中的数据分别进行孤立森林模型与主成分分析PCA模型处理,并将处理结果进行模型融合取交集处理获得模型融合结果,将模型融合结果发送到业务自过滤模块进行过滤获得报销行为异常的车辆ID结果集。
在本发明所述的车辆维修报销行为异常检测方法中,
所述步骤S2之后还包括:S3、将报销行为异常的车辆ID结果集输出到结果可视化模块进行可视化处理后显示。
在本发明所述的车辆维修报销行为异常检测方法中,
所述步骤S1中对预处理之后的数据进行影响因子消除处理获得第一个特征列组以及第二个特征列组包括:
S11、对每辆车基于车类型、归属单位、使用年限、修理厂联合细分维度统计各个特征列数值;
S12、将车类型、归属单位、使用年限、修理厂联合细分维度转化为哑变量列;在包括归属单位维度时跳转到步骤S13,否则跳转到步骤S14;
S13、针对S11中得到的每个特征列,以特征列为因变量,S12中得到的车类型、归属单位、使用年限、修理厂对应的哑变量列为自变量,建立线性回归方程,取拟合后的残差列代替因变量特征列,得到第一个特征列组;
S14、针对S11中步得到的每个特征列,以特征列为因变量,S12中步得到的车类型、使用年限、修理厂对应的哑变量列为自变量,建立线性回归方程,取拟合后的残差列代替因变量特征列,得到第二个特征列组。
在本发明所述的车辆维修报销行为异常检测方法中,
所述步骤S2中对第一个特征列组与第二个特征列组分别进行孤立森林模型处理包括:
特征列组为N维的车辆维修报销特征向量数据集,在特征列组的数据集中n条数据中进行均匀无放回抽样出m个样本,作为构建第一颗决策树的训练样本;
在m个样本中,随机筛选一个车辆维修报销特征,并在这个车辆维修报销特征的所有值范围内随机选一个数值,对样本进行二叉树划分,将样本中小于该数值的划分到节点的左边,大于等于该值的划分到节点的右边,从而完成了一次数据划分,得到了一个***条件以及左、右两边的数据集数据,接着在左右两边的数据集上重复进行以上的步骤过程,直到满足预设终止条件;
重新上述步骤直到获得t个决策树,并用生成的孤立森林模型来评估测试数据以及新增加的样本数据来确定的异常车辆ID信息。
在本发明所述的车辆维修报销行为异常检测方法中,
所述生成的孤立森林模型来评估测试数据以及新增加的样本数据包括:
一个训练样本数据x,令该数据样本x遍历每一棵以上过程的决策树,然后计算x最终落在每颗决策树第几层,即样本点x的路径长度h(x)为从决策树的根节点到叶子节点所经过的边的数量;进而可以得出x在每棵树的高度平均值E(h(x));其中
模型输出异常得分计算公式如下:
其中c(n)是n个样本的数据集,构建成树的平均路径长度,计算公式如下:
模型训练输出的异常分值越接近1表示数据异常可能性越大,越接近0表示数据正常可能性越大,如果整个数据样本异常分值都在0.5附近,则表示该数据样本集没有异常的样本。
在本发明所述的车辆维修报销行为异常检测方法中,
所述S2中对第一个特征列组和第二个特征列组中的数据分别进行主成分分析PCA模型处理包括:
特征列组为N维的车辆维修报销特征向量数据集,对N维的车辆维修报销特征向量数据集中车辆维修报销特征进行降维处理,从而将N维的特征在空间中以向量的形式展现,然后进行投影,令投影后的数据方差最大,从而使得投影后的信息损失最小;
将降维后的数据进行阀值划定,阀值由降维后的数据值TOP原则进行设定,阀值划定后输出PCA模型确定的异常车辆ID信息。
在本发明所述的车辆维修报销行为异常检测方法中,
将N维的车辆维修报销特征降为3维,每一维的数据代表了业务方面的一种方向,形成有语义的输出结果。
在本发明所述的车辆维修报销行为异常检测方法中,
所述步骤S2中第一个特征列组与第二个特征列组的孤立森林模型结果与主成分分析PCA模型结果分别进行交集融合,对融合结果再进行交并集融合,输出融合结果。
在本发明所述的车辆维修报销行为异常检测方法中,
所述步骤S2中模型融合结果发送到业务自过滤模块进行过滤包括:
判断车辆ID信息对应车辆年消费占总消费比例是否大于第一预设值,在大于时确认为异常车辆ID信息,否则进一步判断零件消费占总消费比例是否大于第二预设值,在大于时确认为异常车辆ID信息,否则进一步判断零件数量是否大于第三预设值,在大于时确认为异常车辆ID信息,否则确认为正常车辆ID信息。
本发明还提供一种计算机设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现上述任一所述的方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时以实现上述任一所述的方法的步骤。
有益技术效果:本发明的车辆维修报销行为异常检测方法、设备及存储介质相对于现有技术,采用了孤立森林与PCA模型融合方式进行异常检测,避免了单独使用孤立森林模型的异常检测带来的误差;在无监督机器学习方法中加入了PCA语义解析环节,增强了检测结果的可解析性;采用无监督机器学习方法,避免人工进行标签标注工作。
附图说明
图1是本发明实施例提供的车辆维修报销行为异常检测方法流程图;
图2是模型输入端数据分类示意图;
图3是模型构建流程图;
图4是PCA降维数据可视化图;
图5是业务自过滤规则示意图。
具体实施方式
如图1所示,在本发明实施例中,一种车辆维修报销行为异常检测方法,包括如下步骤:
S1、对采集的车辆维修数据进行预处理,并对预处理之后的数据进行影响因子消除处理获得第一个特征列组以及第二个特征列组;
可选地,对采集的车辆维修数据进行预处理包括对车辆维修报销数据经过ETL(萃取(extract)、转置(transform)、加载(load))处理。
考虑到车辆之间的差异性,比如车辆的类型、车辆使用年限、维修厂以及归属单位,直接进行数据对比运算会对结果带来严重的偏差,因此需要对数据进行影响因子消除。
S2、对第一个特征列组、第二个特征列组中的数据分别进行孤立森林模型与主成分分析PCA模型处理,并将处理结果进行模型融合取交集处理获得模型融合结果,将模型融合结果发送到业务自过滤模块进行过滤获得报销行为异常的车辆ID结果集。对第一个特征列组、第二个特征列组中的数据分别进行孤立森林模型与主成分分析PCA模型处理是指对第一个特征列组、第二个特征列组中的数据进行孤立森林模块处理;对第一个特征列组、第二个特征列组中的数据进行主成分分析PCA模型处理。
鉴于车辆归属单位或者部门使用车辆频率不一样,同时可能存在归属单位或者部门整体违规的现象,因此在模型的输入端进行了分类处理,分成消除归属单位影响因子与不消除归属单位影响因子的两份数据集。
消除归属单位可以避免高频使用车辆单位或部门与低频使用车辆单位或部门的差异,不消除归属单位可以让模型定位归属单位或者部门整体违规行为,形象的描述如图2所示。
步骤S2中模型构建的整体思路如图3所示,核心模型构建思路为将输入端已经分类的数据分别进行孤立森林模型与PCA(主成分分析)模型融合操作,模型融合结果经过处理后进入业务自过滤模块,最终输出至结果可视化模块。
在本发明所述的车辆维修报销行为异常检测方法中,
所述步骤S2之后还包括:S3、将报销行为异常的车辆ID结果集输出到结果可视化模块进行可视化处理后显示。
在本发明所述的车辆维修报销行为异常检测方法中,
所述步骤S1中对预处理之后的数据进行影响因子消除处理获得第一个特征列组以及第二个特征列组包括:
S11、对每辆车基于车类型、归属单位、使用年限、修理厂联合细分维度统计各个特征列数值;
S12、将车类型、归属单位、使用年限、修理厂联合细分维度转化为哑变量列;在包括归属单位维度时跳转到步骤S13,否则跳转到步骤S14;
S13、针对S11中得到的每个特征列,以特征列为因变量,S12中得到的车类型、归属单位、使用年限、修理厂对应的哑变量列为自变量,建立线性回归方程,取拟合后的残差列代替因变量特征列,得到第一个特征列组;
S14、针对S11中步得到的每个特征列,以特征列为因变量,S12中步得到的车类型、使用年限、修理厂对应的哑变量列为自变量,建立线性回归方程,取拟合后的残差列代替因变量特征列,得到第二个特征列组。
在本发明所述的车辆维修报销行为异常检测方法中,
所述步骤S2中对第一个特征列组与第二个特征列组分别进行孤立森林模型处理包括:
特征列组为N维的车辆维修报销特征向量数据集,在特征列组的数据集中n条数据中进行均匀无放回抽样出m个样本,作为构建第一颗决策树的训练样本;这里的特征列组为第一个特征列组与第二个特征列组。
孤立森林模型输入端数据为N维的车辆维修报销特征向量数据集,假设数据集总共有n条数据,构建第一颗决策树时,从数据集中n条数据中进行均匀无放回抽样出m个样本,这些样本作为这颗决策树的训练样本。
在m个样本中,随机筛选一个车辆维修报销特征,并在这个车辆维修报销特征的所有值范围内(最小值与最大值之间)随机选一个数值,对样本进行二叉树划分,将样本中小于该数值的划分到节点的左边,大于等于该值的划分到节点的右边,从而完成了一次数据划分,得到了一个***条件以及左、右两边的数据集数据,接着在左右两边的数据集上重复进行以上的步骤过程,直到满足预设终止条件;可选地,终止条件有两个,一个是数据集本身不可以再分(只包括一个样本,或者全部样本相同),另外一个是树的高度达到log2(m),限制树的高度主要是为了考虑算法的效率,避免数据量过大而陷入一直划分状态。
重新上述步骤直到获得t个决策树,并用生成的孤立森林模型来评估测试数据以及新增加的样本数据来确定的异常车辆ID信息。
在本发明所述的车辆维修报销行为异常检测方法中,
所述生成的孤立森林模型来评估测试数据以及新增加的样本数据包括:
一个训练样本数据x,令该数据样本x遍历每一棵以上过程的决策树,然后计算x最终落在每颗决策树第几层,即样本点x的路径长度h(x)为从决策树的根节点到叶子节点所经过的边的数量;进而可以得出x在每棵树的高度平均值E(h(x));其中
模型输出异常得分计算公式如下:
其中c(n)是n个样本的数据集,构建成树的平均路径长度,计算公式如下:
模型训练输出的异常分值越接近1表示数据异常可能性越大,越接近0表示数据正常可能性越大,如果整个数据样本异常分值都在0.5附近,则表示该数据样本集没有异常的样本。
在本发明所述的车辆维修报销行为异常检测方法中,
所述S2中对第一个特征列组与第二个特征列组中的数据分别进行主成分分析PCA模型处理包括:
特征列组为N维的车辆维修报销特征向量数据集,对N维的车辆维修报销特征向量数据集中车辆维修报销特征进行降维处理,从而将N维的特征在空间中以向量的形式展现,然后进行投影,令投影后的数据方差最大,从而使得投影后的信息损失最小;这里的特征列组为第一个特征列组与第二个特征列组。
PCA(主成分分析)模型输入端数据同为N维的车辆维修报销特征向量数据集,主要是对N维的车辆维修报销特征进行降维处理,将N维的特征在空间中以向量的形式展现,然后进行投影,要令投影后的信息损失最小,则需要令投影后的数据方差最大(数据之间越松散)。
将降维后的数据进行阀值划定,阀值由降维后的数据值TOP原则进行设定,阀值划定后输出PCA模型确定的异常车辆ID信息。PCA降维数据可视化如图4所示。
在本发明所述的车辆维修报销行为异常检测方法中,
将N维的车辆维修报销特征降为3维,每一维的数据代表了业务方面的一种方向,形成有语义的输出结果。
可选地,在本发明所述的车辆维修报销行为异常检测方法中,
所述步骤S2中第一个特征列组与第二个特征列组的孤立森林模型结果与主成分分析PCA模型结果分别进行交集融合,对融合结果再进行交并集融合,输出融合结果。
在本发明所述的车辆维修报销行为异常检测方法中,
所述步骤S2中模型融合结果发送到业务自过滤模块进行过滤包括:
判断车辆ID信息对应车辆年消费占总消费比例是否大于第一预设值,在大于时确认为异常车辆ID信息,否则进一步判断零件消费占总消费比例是否大于第二预设值,在大于时确认为异常车辆ID信息,否则进一步判断零件数量是否大于第三预设值,在大于时确认为异常车辆ID信息,否则确认为正常车辆ID信息。为了车辆维修报销行为异常检测结果召回率进一步提升,本申请提案设计了业务规则自过滤模块,该模块主要对模型输出结果集进行进一步的过滤操作,避免出现“看似异常,其实正常”的现象,可选地,过滤的规则可以如图5所示。
本发明还提供一种计算机设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现上述任一所述的方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时以实现上述任一所述的方法的步骤。
有益技术效果:本发明的车辆维修报销行为异常检测方法、设备及存储介质相对于现有技术,采用了孤立森林与PCA模型融合方式进行异常检测,避免了单独使用孤立森林模型的异常检测带来的误差;在无监督机器学习方法中加入了PCA语义解析环节,增强了检测结果的可解析性;采用无监督机器学习方法,避免人工进行标签标注工作。
可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其它各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。