首页> 中国专利> 基于改进K均值算法的异常项目筛选方法

基于改进K均值算法的异常项目筛选方法

摘要

本申请实施例提出了基于改进K均值算法的异常项目筛选方法,包括获取全部项目对应的待处理的项目数据,剔除项目数据中的异常值,对剩余的项目数据进行归一化处理;计算归一化后项目数据的基准值,获取待处理的项目数据与基准值之间的偏差值,对基准值和偏差值分别进行聚类分析,基于两个聚类分析后的结果进行加权得到结果;根据得到的结果筛选得到异常数据。在对项目数据进行依托于K均值聚类算法时,还对每类项目数据的偏差值进行同类型的聚类处理。由于引入了基于偏差值的聚类处理过程,相对于现有技术中的单一K均值聚类算法能够更为精准的进行数据聚类,缩小单一K均值聚类的范围,从而提升了项目数据异常筛选的精度。

著录项

  • 公开/公告号CN114862337A

    专利类型发明专利

  • 公开/公告日2022-08-05

    原文格式PDF

  • 申请/专利权人 上海电力大学;

    申请/专利号CN202210351061.7

  • 申请日2022-04-02

  • 分类号G06Q10/10(2012.01);G06N3/00(2006.01);G06K9/62(2022.01);

  • 代理机构杭州华鼎知识产权代理事务所(普通合伙) 33217;

  • 代理人任翠月

  • 地址 200000 上海市杨浦区平凉路2103号

  • 入库时间 2023-06-19 16:16:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-23

    实质审查的生效 IPC(主分类):G06Q10/10 专利申请号:2022103510617 申请日:20220402

    实质审查的生效

  • 2022-08-05

    公开

    发明专利申请公布

说明书

技术领域

本申请涉及数据处理领域,尤其涉及基于改进K均值算法的异常项目筛选方法。

背景技术

企业经营过程中产生的项目数据较多,且由于人为因素、市场政策变动以及不可抗力等因素影响会导致项目数据产生波动甚至异常。项目数据存在一定的波动范围,并且绝大部分数据分布在该波动范围之内,当某一数据出现在该波动范围之外时,则认为该数据为异常数据。但工程方法往往阈值设置单一机械,无法准确区分正常波动和异常偏差,造成较大的识别误差。

当前引入k均值算法可以实现对多个数据的聚类处理,继而找出异常项目。现有的k均值算法的应用中,大多针对一维数据进行聚类分析,同时,都针对定量的数字语言进行直接处理,而在处理项目数据时,多维数据占多数,且含有定性的文字语言表示的字段,因此需要同时对多维数据进行处理并对文字语言进行恰当的定性-定量转换。

由于k均值算法存在一定的局限性,部分专利对其进行了改进,如对算法初始聚类点设定的优化,数据间距离的计算的优化等,或是利用层次分析等方法与其融合进行使用。

发明内容

本申请实施例提出了基于改进K均值算法的异常项目筛选方法,通过分别对项目数据和偏差距离进行聚类,基于聚类后的偏差距离对项目数据的聚类结果进行过滤,从而提升基于K均值聚类算法进行异常项目筛选的准确性。

具体的,本申请实施例提出的基于改进K均值算法的异常项目筛选方法,包括:

S1,获取全部项目对应的待处理的项目数据,剔除项目数据中的异常值,对剩余的项目数据进行归一化处理;

S2,确定聚类簇数,基于融合蝴蝶-粒子群算法对传统K均值算法进行改进;

S3,利用改进的K均值算法对归一化后的项目数据进行自适应聚类处理,得到稳定簇中心对应的中心项目数据;

S4,计算归一化后项目数据的基准值,获取待处理的项目数据与基准值之间的偏差值,对基准值和偏差值分别进行聚类分析,基于两个聚类分析后的结果进行加权得到结果;

S5,根据得到的结果筛选得到异常数据。

可选的,所述S1包括:

S11,从当前全部项目表格中以列为单位对数据进行分组抽取;

S12,剔除不具有聚类价值的项目数据;

S13,按预设转换关系将剔除后剩余数据中的非数字字段转换为数字字段;

S14,对以数字字段表示的项目数据进行归一化处理。

可选的,所述S12包括:

S121,计算隶属于同一列中项目数据之间的相关性;

S122,剔除相关性低于预设阈值的项目数据。

可选的,所述S2包括:

S21,根据项目类别的数量确定聚类簇数上限、下限;

S22,利用融合蝴蝶-粒子群算法对现有的K均值算法进行改进;

S23,迭代计算,直到簇中心在不同的迭代之间变化量处于接受区间内,得到每类项目数据的聚类中心;

S24,运用肘方法,分析聚类算法的效率与效果,输出聚类簇数和结果。

可选的,所述S22包括:

S221,构建蝴蝶优化算法的目标函数为f(x)=cI

式中,f(x)表示香味强度函数,I表示刺激强度,即函数适应度值,a表示强度系数,取值范围为[0,1],c表示感官形态系数,取值范围为[0,∞)内任意值;

式中,T

式中,

S222,确定粒子群优化算法的两个重要特征:粒子的位置p和速度v,

其中个体被称为粒子,每个粒子在搜索空间的初始位置和速度采用随机初始化;

粒子的速度和位置更新为:

式中,

S223,采用混合算法进行数据处理;

设D维搜索空间中,随机生成初始解的表达式为:

X

式中,X

混合算法PSOBOA的全局搜索阶段可表示为:

式中,

混合算法PSOBOA的局部搜索阶段可表示为:

式中,

PSOBOA中控制参数c的表达式为:

c(t)=4·c(1-c),

惯性权重系数ω对PSO算法的粒子飞行速度有着直接的影响,采用自适应的调整策略为:

ω=0.9-0.7·T

式中,T

可选的,所述S221包括:

构建函数适应度值I为k均值算法的目标函数:

式中,m表示聚类簇数,n表示样本数x

可选的,所述S4包括:

S41,根据项目属于隶属企业同类项目的历史平均数据,结合参考权重得到基准值;

S42,计算当前列中每个项目数据与基准值的偏差值;

S43,分别对基准值对偏差值进行聚类处理,得到聚类后的基准值聚类中心以及偏差值聚类中心;

S44,根据偏差值聚类中心对基准值聚类中心进行调整,得到调整后的基准值聚类中心。

可选的,所述S44包括:

S441,根据每列数据赋予不同的权重值;

S442,将基准值聚类中心基础上叠加权重值与偏差值聚类中心后和值作为调整后的基准值聚类中心。

可选的,所述S5包括:

S51,根据每列数据的类型不同设置对应的筛选范围;

S52,将超出基准值聚类中心筛选范围外的数据视为异常数据进行删除。

有益效果:

在对项目数据进行依托于K均值聚类算法时,还对每类项目数据的偏差值进行同类型的聚类处理。由于引入了基于偏差值的聚类处理过程,相对于现有技术中的单一K均值聚类算法能够更为精准的进行数据聚类,缩小单一K均值聚类的范围,从而提升了项目数据异常筛选的精度。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提出的基于改进K均值算法的异常项目筛选方法的流程示意图。

具体实施方式

为使本申请的结构和优点更加清楚,下面将结合附图对本申请的结构作进一步地描述。

具体的,本申请实施例提出的基于改进K均值算法的异常项目筛选方法,如图1所示,包括:

S1,获取全部项目对应的待处理的项目数据,剔除项目数据中的异常值,对剩余的项目数据进行归一化处理;

S2,确定聚类簇数,基于融合蝴蝶-粒子群算法对传统K均值算法进行改进;

S3,利用改进的K均值算法对归一化后的项目数据进行自适应聚类处理,得到稳定簇中心对应的中心项目数据;

S4,计算归一化后项目数据的基准值,获取待处理的项目数据与基准值之间的偏差值,对基准值和偏差值分别进行聚类分析,基于两个聚类分析后的结果进行加权得到结果;

S5,根据得到的结果筛选得到异常数据。

在实施中,为了完成对企业生产过程中涉及的项目数据中异常数据的筛选,本申请实施提出了一种异常项目筛选方法,以及改进后的K均值算法。与现有对数据进行单一K均值算法完成聚类过程不同,本申请提出的筛选方法中在对项目数据进行依托于K均值聚类算法时,还对每类项目数据的偏差值进行同类型的聚类处理,最终基于针对偏差值的聚类结果对项目数据的聚类结果进行筛选,从而完成对项目数据中异常数据的筛选处理。由于引入了基于偏差值的聚类处理过程,相对于现有技术中的单一K均值聚类算法能够更为精准的进行数据聚类,缩小单一K均值聚类的范围,从而提升了项目数据异常筛选的精度。

具体的,用于对聚类所需项目数据进行预处理的步骤S1包括:

S11,从当前全部项目表格中提取以列为单位进行分组抽取;

S12,剔除不具有聚类价值的项目数据;

S13,按预设转换关系将剔除后剩余数据中的非数字字段转换为数字字段;

S14,对全部以数字字段表示的项目数据进行归一化处理。

在实施中,如下表所示,原始数据共有项目名称、营销流程编号、产业单位、业务承接模式、业务承揽时间、申请类别、容量(kVA)、电压等级、工程类别、工程子类、工程状态、时长(天)、是否超期、合同金额、营销流程状态等15个字段,累计2609行。(标准数据长度,五位或者六位)保留数据如下:

数据转换:

产业单位取值如下,分别转换为:

'东阳光明电建':1;

'义乌输变电':2;

'八达路灯分公司':3;

'时通分公司':4;

'武义电气安装':5;

'永康光明送变电':6;

'浙江捷安公司':7;

'浦江光远电建',:8;

'磐安星诚建设',9;

'金华三为公司',10;

'金华电力设计院':11;

业务承接模式数据变换为:

'EC项目(设计+施工)':1;

'EPC项目(设计+采购+施工)':2;

'PC项目(采购+施工)':3;

'单施工':4;

'单设计':5;

工程子类数据变换为:

'房产公变项目':1;

'高供低计':2;

'高供高计单电源':3;

'高供高计多电源':4;

是否超期转换为:

'未超期':1;

'超期':2;

数据转换之后为下表:

在实施中,为了剔除不具有聚类价值的项目数据,具体需要执行如下操作:

S121,计算隶属于同一列中项目数据之间的相关性;

S122,剔除相关性低于预设阈值的项目数据。

可选的,所述S2包括:

S21,根据项目类别的数量确定聚类簇数上限、下限;

S22,利用融合蝴蝶-粒子群算法对现有的K均值算法进行改进;

S23,迭代计算,直到簇中心在不同的迭代之间变化量处于接受区间内,得到每类项目数据的聚类中心;

S24,运用肘方法,分析聚类算法的效率与效果,输出聚类簇数和结果。

在实施中,为了提升传统K均值算法的计算精度,还需要进行如下操作:

S221,蝴蝶优化算法的目标函数为f(x)=cI

式中,f(x)表示香味强度函数;I表示刺激强度,即函数适应度值;a表示强度系数,取值范围为[0,1];c表示感官形态系数,取值范围为[0,∞)内任意值。

式中,T

式中,

S222,粒子群优化算法的两个重要特征分别为:粒子的位置p和速度v;其中个体被称为粒子,每个粒子在搜索空间的初始位置和速度采用随机初始化。粒子的速度和位置更新为:

式中,

S223,采用混合算法进行数据处理;

1、算法的种群初始化

设D维搜索空间中,随机生成初始解的表达式为:

X

式中,X

2、算法的全局搜索

混合算法PSOBOA的全局搜索阶段可表示为:

式中,ω表示自适应调节参数;

3、算法的局部搜索

混合算法PSOBOA的局部搜索阶段可表示为:

4、控制参数c和ω

PSOBOA中控制参数c的表达式为:

c(t)=4·c(1-c),

惯性权重系数ω对PSO算法的粒子飞行速度有着直接的影响,能够调整算法的全局搜索和局部搜索能力,采用自适应的调整策略为:

ω=0.9-0.7·T

式中,T

经过上述操作后的聚类分析,对前述表的数据内容记性处理后得到的类中心为

[4.80108359e+00,2.84597523e+00,7.09938854e+02,1.00077399e+00,2.96749226e+00,4.31041022e+01,1.30688854e+00,3.88792937e+05]。

另外有24条数据不在这一类当中,如下表所示。

所述S221包括:

函数适应度值I即为k均值算法的目标函数,旨在最小化惯性即簇内平方和

式中,m表示聚类簇数,n表示样本数,x

S41,根据项目属于隶属企业同类项目的历史平均数据,结合参考权重得到基准值;

S42,计算当前列中每个项目数据与基准值的偏差值;

S43,分别对基准值对偏差值进行聚类处理,得到聚类后的基准值聚类中心以及偏差值聚类中心;

S44,根据偏差值聚类中心对基准值聚类中心进行调整,得到调整后的基准值聚类中心。

在实施中,相对于现有技术中直接基于基准值进行聚类后完成数据筛选的方案,本实施中采取了获取与基准值同一等级的偏差值。进而根据前述改进后的聚类方式分别获取基准值、偏差值对应的基准值聚类中心以及偏差值聚类中心。最终根据偏差值聚类中心再次对基准值聚类中心进行微调,将微调后的基准值聚类中心作为筛选的中心值。

之所以在上述过程中引入偏差值对基准值聚类中心进行微调,是为了避免直接获取基准值而直接忽视了其他数据本身体现出的含义。在排除明显错误数据后剩余数据即便存在与基准值较远的距离,但本身依然能够表示一定的含义,本实施例中就以获取偏差值对后续基准值聚类中心进行二次处理的方式来维持上述含义。

具体的,所述S44包括:

S441,根据每列数据赋予不同的权重值;

S442,将基准值聚类中心基础上叠加权重值与偏差值聚类中心后和值作为调整后的基准值聚类中心。

可选的,所述S5包括:

S51,根据每列数据的类型不同设置对应的筛选范围;

S52,将超出基准值聚类中心筛选范围外的数据视为异常数据进行删除。

本发明通过对含有多个关键字段的实际电力项目数据库进行预处理,将定性的文字语言转化为定量的数字语言,并对处理后的数据库进行清洗,删除掉不具备聚类价值的字段,并对残缺的记录进行补充,补充完毕后,对数据进行归一化处理,对k均值算法进行改进,不再人为的给定初始聚类值,而是有算法自动计算最优k值,聚类完成后,计算各数据点到聚类中心点距离,由此得到偏差数据集,进行二次聚类,得到偏差的波动范围大小,继而得出异常数据。以上所述仅为本申请的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号