2020年数学建模国赛C题Demo【准确率只有61%,仅供参考】

2020年数学建模国赛C题Demo【准确率只有61%,仅供参考】

MPai下载链接:www.mpaidata.com

关注公众号:【万灵数据】可以看很多很多建模资料噢

附件数据下载:https://mpaidata.lanzoui.com/iC1kAgk03ba

讲解视频:https://www.bilibili.com/video/BV1154y1C7ZC?from=search&seid=8443983732512492584

改进策略:

1,调整模型参数(效果微小)

2,扩充特征指标(效果中等)

3,扩充样本数量(效果卓越)

思路如下:

该题目可使用评分卡(量化)+机器学习解决

可以使用MPai数据科学平台 量化分析-AHP或熵权法 与监督机器学习-分类解决

C题 中小微企业的信贷决策

在实际中,由于中小微企业规模相对较小,也缺少抵押资产,因此银行通常是依据信贷政策、企业的交易票据信息和上下游企业的影响力,向实力强、供求关系稳定的企业提供贷款,并可以对信誉高、信贷风险小的企业给予利率优惠。银行首先根据中小微企业的实力、信誉对其信贷风险做出评估,然后依据信贷风险等因素来确定是否放贷及贷款额度、利率和期限等信贷策略。

某银行对确定要放贷企业的贷款额度为万元;年利率为4%~15%;贷款期限为1年。附件1~3分别给出了123家有信贷记录企业的相关数据、302家无信贷记录企业的相关数据和贷款利率与客户流失率关系的2019年统计数据。该银行请你们团队根据实际和附件中的数据信息,通过建立数学模型研究对中小微企业的信贷策略,主要解决下列问题:

(1) 对附件1中123家企业的信贷风险进行量化分析,给出该银行在年度信贷总额固定时对这些企业的信贷策略。

问题可以简单理解为,对123家企业的信贷风险进行量化(将定类数据转化为定量数据),然后给出怎么对这些企业进行评级与分配信用贷款。

我们可以看到上图,这是银行已经对这些企业打的信用评级与确认出来的是否违约,我们需要做的就是把目前所能拿到的数据转化一个定量的数据用于评价信贷风险,然后根据这个比例来按进行分配贷款。

到这里,大家应该知道要解决什么问题了,那怎么去做这件事情呢?

这里我给大家提出一种解决方案:

Step1:对数据进行缺失值和异常值处理;

(可通过MPai数据科学平台【特征工程—数据清洗—缺失值处理】、【特征工程—数据清洗—异常值处理】)

Step2:对【是否违约】建立特征工程,以特征工程为X,以【是否违约】为Y, 建立一个信誉评级分类模型,特征工程的里的字段可以是,【信誉评级】,

(1,需要转化为数值标签,可通过MPai数据科学平台【特征工程—数据清洗—数据标签转化】

2,onehot编码,可通过MPai数据科学平台【特征工程—数据清洗—独热编码】处理)

对于【进项发票信息】,可以构造特征【金额】,【税额】,【价税合计】,【发票状态】这些明面上的指标,也可以是【对企业代号进行分组,拿到的总金额、平均金额、中位数金额】,【对企业代号进行分组,拿到的总税额、平均税额、中位数税额】,【对企业代号进行分组,拿到的总价税合计、平均价税合计、中位数价税合计】,同时还可以是【对开票日期(日周月年)进行分组,拿到开票的频数(日周月年)】,【累计开票数】,【累计有效发票个数】,【累计无效开票次数】

对于【销项发票信息】,同理与上

同时我么也可以根据企业名称来进行聚类,例如科技公司,地产公司,可以通用词向量聚类,也可以通过关键词进行聚类,这样又多了一个指标,【公司类别】

以后还有【(日周月年)均净收入,净支出】(收入发票减支出发票)

总之,尽可能扩充特征工程,就我上面列出来的就有共计50特征,当然,我们还是可以尽可能地多扩充,先不管这些特征是否存在共线性。

Step3:接着,我们需要对样本数据进行均衡处理,因为我们肉眼可以看到【是否违约】存在极大的样本不均衡,这些直接训练一个分类模型会导致模型过拟合,例如我有一百个样本,99个样本是1,那么即使我瞎分类,全部判为1,准确率也是99%,样本均衡可以通过上采样或者下采样

 (可通过MPai数据科学平台【特征工程—样本均衡处理】)

Step4:由于构造的特征太多了,我们需要对特征进行筛选,这里我们需要减少特征,可以选择诸如主成分分析等降维技术进行数据降维,也可以使用递归消除特征法等筛选方法来进行特征筛选,

  (1,可通过MPai数据科学平台【特征工程—数据降维处理】,

2,可通过MPai数据科学平台【特征工程—特征筛选处理】)

Step5:准备工作就绪,我们可以把他丢进一个分类模型进行序列,推荐逻辑回归或者XGBOOST与随机森林,需要对数据进行切分训练,评价指标可以选择F1,可以进行各种自由调参,保证模型的最优

查看模型输出(这里只看概率),我们可以得到每个模型的【是否违约_否】的概率,这个概率就可以作为信贷风险的量化得分,然后我们这里可以进行归一化,然后按比例分配贷款。

以上方法简单粗暴,如果想要更突出的小伙伴可以使用评分卡或者AHP模型,这里举例AHP模型,信贷风险的评价指标可以分为三个内容:信誉评级,是否违约,企业流水或收入支出比,我们可以设计2个分类模型(是否违约),一个回归模型(企业流水或收入支出比),采用AHP构建判断矩阵(用德尔菲法确定输入,可以不用),然后加权来得出来信贷风险的量化得分

(1,可通过MPai数据科学平台【监督机器学习—分类】,

2,可通过MPai数据科学平台【量化分析—层次分析法】)

(2) 在问题1的基础上,对附件2中302家企业的信贷风险进行量化分析,并给出该银行在年度信贷总额为1亿元时对这些企业的信贷策略。

问题1解决了,问题二不就是重新构建特征工程X,然后把X丢进问题一训练好的模型,可以得到量化结果,按比例即可分配。

这里注意一点,由于附件2没有【信誉评级】,那么在问题1种,我们不能把【信誉评级】放入特征工程。

(3) 企业的生产经营和经济效益可能会受到一些突发因素影响,而且突发因素往往对不同行业、不同类别的企业会有不同的影响。综合考虑附件2中各企业的信贷风险和可能的突发因素(例如:新冠病毒疫情)对各企业的影响,给出该银行在年度信贷总额为1亿元时的信贷调整策略。

这里要求给出信贷调整策略,原因是突发因素会对不同行业、不同类别的企业会有不同的影响,例如对互联网行业,新冠病毒疫情是促进的,但是对于旅游业,新冠病毒疫情则导致了其大萧条,因此这里需要分不同行业来进行调整:

基于企业名的关键词同过问题1的方法可以得到行业的区分,可以通过AHP或者熵值法(需要自行爬取数据)等量化模型对不同行业构建判断矩阵,得到他们的权重比,然后加权在问题2的信贷风险量化得分上,即为一个比较有理,简单的解决方案。

猜你喜欢

转载自blog.csdn.net/qq_41686130/article/details/108551121