在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 567245 点 威望 12 点 阅读权限 255 积分 175396 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
2020全国大学生数学建模比赛C题总结
; T/ {$ t% |! A$ k/ w* N6 X ! M0 a+ P* i/ V1 I1 k$ z- ?: H) a
首先瞎逼逼一番,吐槽一下题目和比赛经历,对这部分不感兴趣的可以跳过: k6 j. n2 M0 z1 x$ s8 @6 o8 V. {$ O2 }
虽然我是周六下午才开始做的… 总的比赛时间不到两天,不过好在一个人,不怕拖队友。至于题目,我第一眼就喜欢上了 C 题。我想,恐怕很多人都喜欢 C 题吧,因为赛后做了一个总结,发现学校选择 C 题的,比选 B、A 题的加起来还要多。 * R2 }& L$ M. V9 W( k
, z2 s2 C7 N7 k; ^# M0 ~
) a& S$ |) K3 c) _% S( n 为什么选择 C 题呢?因为有数据处理… / d. o4 j: K) ~0 i- z) v8 w2 r5 b
% E' ?1 Z' X9 ~7 s7 T4 a# r + z* t H2 O# Q- J8 W. z1 r6 I4 A
所以无论它多难,我都选它,哈哈哈。
' _; k5 {, q6 g: X/ I# D/ Y& ~ 7 l# {3 k$ A3 S4 `9 ^0 A0 r
" r: e& u0 G9 i3 S+ \+ Q. k4 M
仔细看这一题,它与机器学习好像有区别啊。说起机器学习,我会想到:
J! k& r8 G {; O! T/ Q ]; B& G- B: X/ w
$ P5 Y# C l* \% B. X 分类 ; u& s2 s" m+ H' @ |' O
回归
% e/ z2 _: b' M$ T$ n6 R$ n 拟合 2 d% n2 U2 d) y: @5 O" W
预测
3 y3 b# G5 `/ j/ ^: ^6 C. U 但是,这题… 好像不是一种,用数据拟合,然后再预测的问题啊(机器学习的通俗定义) . B6 C) e5 J3 J8 b4 V1 x1 D
5 Q) U6 G" n' x
1 g1 u* j0 `) {& z- `2 h" @ 好吧,选都选了,只能硬着头皮上了。
' G* ^8 f" y5 d& Y ) Z4 a+ S! k- g7 W% F2 Q$ x9 ~6 I
: L7 e0 O9 ~( j; V( C 问题分析 6 H# c2 Q8 p8 I* b% g
根据附件1,定制一个量化的信贷风险;
6 R8 T3 x8 f& f1 U9 N: w 为银行制定一个信贷策略
& Z& i* H: j& C 有突发状况是,上面两个问题应该怎么重新规划?
5 ]3 C$ v' x9 J* A# h* v1 T 三个问题,我们分别称之为问题一、问题二、问题三。
- K; W9 s5 s( A8 A2 m& Z
' a0 W# i m( K: v; x$ | - N! j Q( @8 G. f9 b% } ^; s2 {
数据说明
0 y2 j( [6 G! k4 U 附件1:sheet1:给出了企业的代号,企业有无违约的情况,信用等级 ( @- |( G" `. e. y9 Y
sheet2/3:给出了企业的大约 2 年的进/销 量的发票数据, a: P- k3 n1 ]% W; ^$ z- E
附件2:给出了企业的大约 2 年的进/销 量的发票数据。没有给是否违约、没有给信用等级 5 i ~% b R% U* T( P, X" {) |* H
附件3:给出了银行的利率,以及相应利率下,不同信用等级的企业,不愿意贷款的概率(原作是比率,我感觉能用比率近似概率)
3 ^+ g, b* \0 g) |! t3 R% H( A: E0 R 2 A& v- [9 [& s
) g+ W. k# P6 s& U+ I; ^, [7 K
问题一求解 - K/ R$ e6 c T8 i
你们看,附件1 比 附件 2 多了什么?信用等级、以及有无违约记录。而问题二是要我们求附件二中的企业的信用风险的。所以,仔细一想,肯定是在暗示我们,1、用进/销 量数据,来评价企业的信贷风险。2、信贷风险的量化指标,需要建立在企业信用等级、是否违约两个变量上。3、设法建立进/销 量数据与信用等级、是否违约的关系。
$ [- |( F s5 W, a8 {8 U1 H" T
6 r2 Q+ g9 j6 U+ g/ ] 4 T2 P* C% Y. c5 o3 z6 X# P
好了,第一步咱们清楚了,就是要建立信贷风险与信用等级、是否违约的联系咯~ # Q8 q8 e, |5 v8 u, k0 v
# S8 j' ` [ i8 i- i
/ R0 ^/ d6 p/ \9 K0 c! M( F. _ 我查阅了一些文献,虽然说得都很复杂,但概括来说,就是一句话,我银行借钱给你,你还的起吗?这就是信贷风险了(说得比较通俗了,有点对不起学金融的同学们) Z0 T: ]0 ^& J+ `) X. B% M
" ~$ U4 \! |, U7 H4 Q6 B+ n6 }/ y
3 {8 }7 {! P) l# H, I% [; Q8 z 于是,我将信贷风险定义为:企业违约(赖账不还)的概率。
1 ]1 m4 Q3 {0 S/ s' t : b9 _. \0 M, B- X
9 F0 V7 x( t; w: @1 { 而机器学习的知识告诉我们,分类模型除了能够自动判断个体的类别之外,还能够计算出个体,属于该类别的概率。于是,这不就是一个机器学习问题了吗?
4 K4 J; Z4 y' p( D 4 U3 Y+ B+ C$ w- `! Y
# i m y+ H5 \8 J# D" z& ?& H 这个问题就是:根据进/销 量数据,训练一个分类模型,然后将模型的输出,确切的说,概率输出,作为信贷风险,Over。 . L* K! ?! P4 Y7 U$ L1 ^7 ]1 w6 z
, t. \) P5 n1 ]% | F; }8 T2 Z8 F
但是,进/出 量数据是时序性的呀,如果按照上面的思路,那肯定是要一个企业作为一个样本个体。可是…,这个样本个体也太奇怪了吧,是一个时序数据,哇,都能构成一个表格了。。。
5 [7 h% ^/ {$ A- M 1 F+ B# H: S5 s6 C; G
; A! W. m0 R6 v4 ] 按照上面的说法,这有点接近自然语言处理了,也就是一片文章,对应一个类别。这里是一张时序数据表,对应一个类别。天!麻烦!
: l4 V, v: {0 @2 m, R
! Z6 W: v# C1 t, i0 g
) p C7 {/ h: @5 n, s; v 有些大佬可能已经豁然开朗,用 NLP 来解决啊!!!
; N& ~3 j9 v; V; x: U
* @$ K* [" x3 g/ P/ ]( ^5 ]! V 8 e/ R @& i( _
否也,这种跨越对我来说,有如天堑(虽然我是搞 NLP 的)
- w( b- C$ `( l1 I) q B
6 D, L2 M4 C- R6 X : i3 r9 D' [% j% j$ d
因此,我决定,转换一下我们的数据集。 * B7 r- M5 h. l0 C! I. a
; I2 {" m% x; `# o
* w2 ?; y5 O# ~# ]: y9 H3 k 数据处理
+ q+ ?* t/ N0 a6 S 首先,如果按照上面的思路,用机器学习模型的输出,作为信贷风险。那么就要让数据变得简单一点。 & u5 c+ d# V; X! Y
7 `' m0 |( C2 q: m
: l6 T; H& n. t) ~ 原始数据是这样的:多个企业,一个企业包含了大约 2 年的进/销数据,一个企业对应一个标签(是否违约)。
6 X. ~2 H& _, ^/ M* f
7 \# |6 z' V$ A+ n+ ?6 z8 u 4 |* l# Z9 D1 e1 J- m$ s* ]
我们希望的数据是这样的:一个企业,对应一个向量(行列都行),并对应一个标签,这样才能用机器学习模型。 4 R1 m8 N' Z6 H; l- @
; Z1 k3 s% D. N# r
6 }* H4 Z, G0 n3 w; M- H 因此,必须将时序数据弄掉!!! o/ B( W+ ~) d7 f' o
. _* s) Q6 E# K5 E
/ \4 q( C3 {2 j- y
由于数据是按天给出的,首先,为了简化,我们以 30 天为单位,将数据合并! # _$ |1 f, h* u4 S2 P( k9 m) a
0 G9 l# H; d+ f
/ T. W5 D0 S5 @- R2 Z7 }4 u2 m 然后,用一条曲线(我用的是 9 次多项式),拟合时序数据。有了曲线之后,我们不就可以用函数的系数,来替换原始数据了么? ! v* ~1 n9 D5 }. O& W8 H/ Q
4 K7 G5 v' y; H7 w1 C
; [" M2 U! f; k2 _% u$ G# a 这样,一个企业的数据,就从对对应表格(时序数据表),转换为对应函数的系数(向量)了。
" q3 r K1 g4 N& [ 2 L( Z0 I7 Q5 F& g5 u
0 ~. @9 I- B T# G# k& r2 C* L 等一等,误差怎么办?用曲线拟合数据,肯定有误差的嘛。
" F( F+ U1 e2 s: Z
3 h% _# R2 ~1 V- O5 Z7 a* c5 J ; ]8 y; W5 Y7 f8 f. X
好,误差我们是用什么来度量的? 常用的有 R 方对吧。那就计算出 R 方,然后把 R 方也作为企业的数据之一,不就得了。
) O$ m8 F" \& n0 o/ q: k " C6 Z! H/ ?8 D0 V5 Z
& x# |) ^" M& V: I8 z$ c 可能有人犹豫了,可以吗? 0 U% o. Z4 S. k$ @* E
. n6 d; L+ U- u, F) X
8 Y2 e4 b$ l- m! k( i) _. g
好,拟合的曲线可以一定程度代表企业进/销的基本规律,没问题吧?
. s9 z {$ ~* D' F. j! X1 N$ a 5 T0 L6 S' ]6 L+ F3 S% d, S
: i2 u/ z( y, ^% `5 s5 T: H4 b R 方计算了误差。换个角度想,可以代表企业的进/销,偏离拟合曲线的程度,对吧?
8 x5 z: o9 [, E3 ? , N+ l9 ^" `/ G
% E% j$ u7 ?4 Y# A% u- _' m7 y% J B
这不就得了么?
$ f% }9 n9 d7 o [
0 m9 ]' x5 D* \/ F- o( w
4 p0 H; d1 C1 c0 z3 X4 G 当然,误差是肯定会有的。但至少经过这样的计算,解决了我们的燃眉之急吧。为了方便讲解,我们将这个数据成为 一数据 吧。
~( {& Z$ S4 n2 A3 o
( r, v/ \7 N8 z* N9 S8 ?' W$ d " [, ?3 U8 X- @3 @
有人还会问,信用等级呢?我们不能忽视这个数据吧?da si ka ni。 1 D3 l8 N0 Z9 G2 W6 M$ `# ~+ ^
2 I6 t) ^+ l$ D- \
3 z* U2 ]: c/ `9 E 且看我怎么处理,我们可以像 NLP 的 Word2Vec 那样。我们用一数据为输入、信用等级为输出,训练一个模型,然后用模型的参数,或者其他东西作为 二数据 不就得了么? ; v$ V. h5 @, {9 e
. n) \6 P/ O: I
* E' @) B8 `& U* {* _6 ~7 C2 } 之后再用 二数据 为输入,建立一个机器学习模型,用来计算企业是否违约的概率。 Case Close!
. U; x5 u1 ~ z" @ ) a( \* c9 L9 f3 @) M* J$ T
' T) C1 F& g c$ c* E& U+ \ 问题二 求解
9 |1 ?* @8 K2 I; m! ^ 制定银行信贷策略是吧? 7 a1 a" s; S }0 v* G) F0 U6 y
4 s N7 @6 L/ u0 V
Q0 ?5 W5 q1 W2 t. L
怎么制定?无非是利率、期限、额度咯~ 7 s; l; L/ V6 N8 ^: n
$ [/ n+ S% D& t. I/ S2 [, Y ' m/ N/ P, ?) B- K
期限我们不管,因为没依据。利率和额度紧密相连,都是钱的问题嘛。
. ]; g( m" s$ c4 b& K3 A$ `9 ?) u 7 e+ C% W( e$ n
9 h$ v K6 O, h K8 M, q$ L 让我们想象银行是为了干什么的。商业银行肯定是为了赚钱啊,哈哈哈哈。 ( f( z6 R" b. [; e
& s u$ x8 c! ^. t+ C) {
; T6 v2 M) r, ~/ y7 q 于是,问题转换为,求解一个优化问题,即选择合适的利率、额度,使得银行的利润最高。 " [7 ]/ ?" |3 u5 ]+ e
0 \- o& g: t6 Q9 L" f$ C( }
& \: ^0 x% t4 T1 Z* S so easy?ok? 0 n2 H3 l1 f2 G
4 w1 l O2 A$ [0 V, \
8 k$ E' H; M* F+ R# T$ }9 J 于是,最根本的问题,就要对银行的利润建模咯~~
2 [" y( Z' z% u2 S+ p/ Z, U
! l# {4 s; K3 `$ A % d" j' T W, c8 H! u- p, l: t( w1 @
利润的期望 = (1+利率)^(时间) X(企业不违规的概率)X(企业愿意借钱的概率) 5 f- f, x$ v. d ]' u1 @' z
" m* K9 K' P6 g0 L / l8 v; Y- [- H2 M4 d) J
用期望近似利润,case close,say goodbye。 9 S2 [. g0 G7 |$ n" `
+ }1 V: P" K+ o! v/ A) }& n / I1 [' z7 l/ u5 a' Q+ ~5 |. j9 e
至于优化问题,加上题目约束后,就是一个约束优化问题了,怎么求解?方法实在太多了。我们训练机器学习模型,不就是求解一个优化问题吗?作为弄机器学习的,你不会连求解一个优化问题都不会吧? 9 x9 z% M6 t" i
0 U/ l) u# z. V
' j: S0 r: T. Z: k 有的人会再次反驳:可我们这次求的是一个约束优化问题啊! 3 b+ U8 V4 R+ H9 I+ g
. ]* f) x$ Z5 `- b+ h' _6 Z9 k2 B
9 c+ l) ], {1 A# t# _8 Z, `7 V
我会答:你用罚函数的方法,不就可以将约束优化问题,转化为无约束优化问题了吗?
( K( b5 i. |' K+ l+ p 5 a2 z7 B$ O: t
4 C+ N- x6 L4 b; C% Y A 问题三
: N9 o- [) L- \ 突发状况会影响企业的运营状况,所以我们只要将 一数据 的 R 方微调一下,不就得了吗????? * W6 `! L k( A& q ?0 R& O& x
4 p# Y, G3 U8 ]# o. v
3 e1 ^% }* Q) b3 J" A- _ 有点简答吧? # v* U) E |9 P, h3 N
. e5 b# B; s1 e6 S
( g2 p X' R7 \' x/ I0 ]- U 最终总结
( A- F) j% u, W, c9 Y C 题,似乎是最简单的。但处理数据,比较麻烦,可能很多人卡在这里的吧。最难的一个点就是:如何将一个时序表,对应到一个标签的问题了吧。 6 B3 b) y2 }1 I5 G; m
5 @ C( V+ ~0 [" L% J
" A, I9 x7 A0 u8 T
好了,最后一次数学建模比赛了,大家江湖再见吧。 1 o1 K5 a1 ~' V. Z' c7 v6 {' i
———————————————— 8 \0 T: G: m5 _+ D( h
版权声明:本文为CSDN博主「zhuo木鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 ! s) }4 k9 W0 o0 k$ |- | k6 w
原文链接:https://blog.csdn.net/weixin_42141390/article/details/108580140 # Z' u3 N4 s. a8 a# D0 Z, p. X7 x
# z5 G7 Q- e; B
2 d( _$ }4 o* m; S
zan