时间:2024-05-04
骆文辉
摘要:为了解决管理人员对城市信用数据查询效率和质量问题,实现信用画像快速、准确圈定数据的要求,提出了一种基于自动标签的城市信用画像系统。通过自动化标签技术来构建市场主体的信用画像,并基于标签结合集成学习算法实现了信用风险的自动预警,有效提升了信用监管工作的效率。
关键词:自动标签;信用画像;集成学习;风险预警;系统
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2022)06-0001-03
开放科学(资源服务)标识码(OSID):
1 概述
近年来,多地以信用信息平台为支撑,以推进诚信文化建设、建立守信激励和失信惩戒机制为重点,以联合奖惩、信用服务为主要手段,全面推进社会信用体系建设工作[1]。在大数据时代,汇聚企业基本信息、经营状况、经营风险、知识产权、发展状况等数据,可以勾勒出企业整体特征与轮廓,建立起立体的企业全息画像[2]。信用画像是指将企业所有的信用标签综合起来,对其信用等级做出全面精确的评价。
传统的数据查询与统计模式无法洞悉数据全貌,也无法满足同类信用群体识别及多维度的分析比较,更无法完成在对信用主体智能识别的基础上实现信用风险自动化预警[3]。本文面向社会信用领域研发一款集标签开发、管理与服务业务于一身的信用画像系统,支持从海量数据中挖掘和计算标签,并通过良性的标签运营机制,促进标签在信用业务中应用。以信用业务需求为导向,让业务与标签深度结合,通过标签增强业务,信用业务需求拉动标签开发,从而进入一种良性循环,让标签体系在信用管理业务中持续迭代。
2 系统架构与功能
2.1 系统总体架构
城市信用画像系统采用了层次化的设计思想,结合了国家有关标准和实际业务需求,构建了信用风险预警模型预置在系统中,并基于机器学习等算法技术实现了企业标签的自动化提取。城市信用画像系统由数据源、数据层、计算层和应用层四部分组成。数据源主要包括各类政务数据和公开社会数据,经规整汇集到指定数据库。计算层针对用户自定义的标签、指标、信用分等进行计算,此外还针对用户指定的标签进行聚类计算以查找相似群体。数据层包括两类数据:第一类是用户创建的存储在系统相应目录下的实时数据;第二类为基于标签规则集和预警规则集产生的数据,包括信用标签数据、信用风险预警数据;第三类是基于第一类、第二类的基础之上产生的画像数据,包括企业单体画像、群体画像。应用层在计算层之上是向用户提供服务,包括画像可视化、风险预警监控等。系统架构如图1所示。
城市信用画像系统前端采用VUE和Layui,通过nginx负载,依托JWT和Spring Security实现权限认证体系,服务层分为系统后台服务和计算服务,系统后台服务主要使用SpringBoot、Mybatis Plus和Jasypt加密等技术;计算服务依托HDFS、Hive、Azkaban、Sqoop等大数据框架实现分布式计算和数据查询。调度工具有xxl-job系统调度平台和Azkaban大数据调度平台。数据存储层使用Redis缓存数据库、Mysql数据库、Hive数据库。文件存储采用FastDFS。系统技术架构图如图2所示。
用户请求通过前端Nginx负载分发到后端服务,后端服务部署至少两个节点,保证服务的高可用;部署Druid监控数据库、Springboot admin监控应用、Prometheus和Grafana监控系统;xxl-job任务调度平台调用后端服务实现定时任务,后端服务通过Azkaban对大数据集群进行调用;大数据集群5个节点,主节点上部署hive、azkaban、sqoop、hadoop,四个数据节点部署hadoop;数据库层面使用关系型数据库Mysql存储系统数据、NoSql数据库redis和Hive数据库。运行环境为linux、Docker容器或者云服务器上,Git负责项目版本控制,jekins持续集成部署。城市信用画像系统部署架构图3所示。
2.2 數据库设计
政务数据、公开社会数据经过汇集后,进入系统目录,以企业的统一社会信用代码作为唯一标识码,目录按照配置的更新周期定时更新数据。由目录数据通过系统配置生成的标签、预警规则集,被系统自动转化为SQL语句文本或python代码文本,并以指定的表结构存储。同时,判断标签、预警数据是否初次版本,初次版本数据全量保留;若已存在初次版本数据,则异步分析差异数据,存储每个版本差异数据。当系统需要查询具体某一版本的数据时,根据初次版本数据和历次版本的差异数据,汇集计算得到想要版本的全量数据提供给具体的查询业务场景。
2.3 功能设计
城市信用画像系统具体由目录管理、行为事件管理、标签管理、风险预警管理等功能模块构成。用户可通过目录管理功能模块将清洗数据上传为数据目录,在行为事件管理、标签管理、风险预警管理功能模块实现将目录构建为行为事件、标签、预警等,并在以上功能模块基础上构建企业信用画像,支持实时查询查看,同时通过大数据可视化技术将企业画像各个维度信息做出可视化处理供用户查看。
3 自动化标签
3.1 企业竞争力标签
企业竞争力是在竞争的市场上,通过发展企业资源和能力,实现自身价值的综合性能力,企业竞争力与企业创新能力、企业产品生产及质量优劣、企业文化、企业招投标数量、企业知识产权数量等息息相关,这些因素越高,企业发展动力越足,企业的竞争力就越强。通常企业竞争力影响着企业风险状况,企业竞争力越强,相应的企业风险状况就越低。自动标签构建步骤如下。
1) 数据预处理
企业竞争力标签的数据处理主要包括脏数据的清洗、空数据的填充、数据类型转换等。数据分为字符型和数值型,判断数据类型,数值型进行归一化处理,非数值型LabelEncoder()并归一化处理。
2) 特征工程
从数据集中挑选出包括企业从业人员人数、股东信息、变更信息、裁判文书信息、专利信息、软著信息、招投标信息、经营状况信息、知识产权信息等特征,经过特征多项式、特征组合等方式得到212个特征字段。
统计计算各个字段特征的max、min、mean等,对相关字段特征进行标准化操作。然后,基于多项式的、基于指数函数的、基于对数函数的进行特征變换,同时日期型数据处理成年、月、日等多个字段。
3) 数据集和模型选择
整理和收集芜湖市工业100强企业、商业100强企业、制造业100强企业等其他百强企业名单作为竞争力强的企业,数据集分为训练集和测试集,总数据量为3万条,训练集和测试集以5:1的比例划分。
采用决策树作为模型训练的算法,对训练集数据进行模型训练,其中不纯度计算方法criterion使用基尼系数,树深max_depth设为6,特征切分点splitter设为“best”。
4) 模型调参
采用网格搜索GridSearchCV()方法进行调参,设置参数取值区间,循环调用参数训练模型,寻找最优参数,调整决策树算法的各个参数为最优。
3.2 企业发展潜力标签
企业的发展潜力包含企业的对外投资信息和分支机构信息,企业的软件著作权、专利、对外网站和商标信息说明企业具有一定的创新能力,企业的资质证书和行政许可可以看出企业的发展动力。自动标签构建步骤如下:
1) 数据预处理
整理出数据集3万条,主要包含企业类型、企业所属行业、企业营收等字段数据。数据的预处理包括数据填充、文本分割、数据清洗、类型转换等操作,经过数据的预处理,整理出145个字段特征。
2) 特征工程
特征工程包含对时间特征的转换和编码处理、交叉特征的处理、占比特征的处理。经过特征工程和初步的特征选择后形成94个特征。将94个特征经过多项式变换之后,形成4185个特征。
3) 特征选择
方差选择:给定方差阈值,计算特征方差,删除低于方差阈值的特征;卡方、F检验选择:根据卡方检验、F检验进行特征与分类结果的相关性检验筛选特征。
4) 模型训练和调参
标签采用决策树算法作为分类器,进行模型的训练,调整特征选择函数的参数步骤如下:
①方差选择中的方差阈值(VarianceThreshold),最优值为0;
②卡方检验/F分布中的比例值,最优0.85;
③互信息(mutual_info_classif),最优阈值为0;
④正则化选取L1正则化,最优C=0.01。
4 信用风险预警
4.1 信用风险标签
系统产生的风险类标签包含自身风险类标签、周边风险类标签、预警提醒类标签、经营风险类标签,构建成围绕企业风险信息的标签体系,具体的标签说明如表1所示。本文通过这些标签来进行企业风险预警。
4.2 信用风险预警
集成学习(Ensemble learning)通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统(multi-classifier system)、基于委员会的学习(committee-based learning)等。根据个体学习器的生成方式,目前的机器学习集成方法主要分为两大类。
1) 个体学习器间存在强依赖关系、必须串行生成的序列化方法,代表为Boosting。
2) 个体学习器间不存在强依赖关系、可同时生成的并行化方法,代表为Bagging和随机森林。
①随机森林
随机森林(Random Forest,RF)算法是基于bagging算法与决策树结合的集成算法,在分类、预测和缺失值检测等方面的多个场景下均得到了广泛的应用。其核心思想是利用每棵决策树对袋外数据的输入矩阵进行预测,将各决策树预测结果均值作为最终预测输出结果。相比于传统的决策树算法,该算法能够平衡分布不均匀样本的误差,分类精度高,对异常值和噪声有很好的容忍度。
在RF算法中,对基决策树中的每个企业节点,先从该节点的候选属性集合中随机选择一个包含k个属性的子集S,然后再从这个子集中选择一个最优属性用于数据集的划分。k的选择对模型的效果起着比较重要的影响,一般选择[k=log2d]作为子集大小。
②XGBoost
XGBoost(eXtreme Gradient Boosting)是一种基于梯度提升树的集成算法[4],通过在模型构建过程中引入正则化损失函数来构建若干弱评估器,整合弱分类器的分类结果,得到一个准确率较高的强分类器,利用多模型整合的优势降低了模型过拟合的风险。由于 XGBoost 使用了预排序、加权分位数、稀疏矩阵识别以及缓存识别等技术,故其拥有可以并行运算、算法的复杂度可控、泛化能力强的优点,其目标函数如下所示。
[L=i=1nl(yi,yi)+k=1kΩ(fk)]
其中,l是损失函数,yi是第i个样本xi的真实值,[yi]是第i个样本xi的预测值,fk表示第k棵树的预测函数。
③LightGBM
LightGBM(Light Gradient Boosting Machine,LGBM)是基于决策树算法的梯度提升框架,相比于 XGBoost算法,速度更快,内存占用率更低[5]。其原理是利用最速下降法,把损失函数的负梯度在当前模型的值当作残差的近似值,进而拟合出一棵回归树。经过多轮迭代,最后将所有回归树的结果累加得到最终结果。与XGBoost的节点分裂方式不同的是,LightGBM先将企业特征进行分桶,构建多个直方图,再进行节点分裂计算。对于当前模型的每个叶子节点,需要遍历所有的特征,来找到增益最大的特征及其划分值,以此来分裂该叶子节点。
4.3 结合策略
本文使用投票法(voting)的结合策略来融合RandomForest、XGBoost和lightGBM模型结果,其具体过程如下。
1) 将输入数据分割成Train Set和Test Set,使用Train Set分別训练RandomForest、XGBoost和lightGBM模型。
2) 分别使用RandomForest、XGBoost和lightGBM模型对Test Set进行预测得到对应predrf、predxgb和predlgb。
3) 使用加权投票法(weighted voting)对三个模型的预测结果进行处理得到最终的预测结果:
[pred=λ1*predrf+λ2*predxgb+λ3*predlgb]
其中,[λ1,λ2,λ3]分别为对应模型的投票权重且满足[λ1+λ2+λ3=1]。
4.4 预警大屏
基于集成学习的信用风险预警模算法,通过区域信用风险地图对各类风险事件进行多维呈现,分析各类主体的历史数据,遍历主体信用变化的痕迹,对市场主体信用异常波动情况进行及时预警,如图5所示。
5 结束语
本文提出了基于大数据研究信用标签和画像体系,能够对信用主体进行全方位、多维度地刻画、洞察,通过不断拓展数据维度:基于自动化智能标签实现对信用主体或目标群体的快速圈定;基于集成学习的信用风险预警算法,智能识别同类群体实现对信用主体的深度挖掘,实现信用风险的实时预警;基于对信用主体全维度的解析、综合评估,辅助智能化信用监管。
参考文献:
[1] 张远.社会治理视角下的社会信用体系建设问题探讨[J].征信,2021,39(11):46-50.
[2] 陈钢,佘祥荣,秦加奇,等.面向精准政务服务的自然人全息画像[J].电子技术与软件工,2021(15):209-210.
[3] 李珂琦.大数据技术助力社会信用体系建设[J].网络安全技术与应用,2020(08):81-82.
[4] T. Chen and C. Guestrin, “XGBoost: A Scalable Tree Boosting System,” in Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining - KDD 16, San Francisco, California, USA, 2016, pp. 785-794, doi: 10.1145/2939672.2939785.
[5] Ke G,Meng Q,Finley T,et al.Light GBM:a highly efficient gradient boosting decision tree[C]. Proceedings of the 31st International Conference on Neural Information Processing Systems,2017:3149-3157.
【通联编辑:谢媛媛】
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!