- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563338 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174224
- 相册
- 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题总结
8 s( O" o0 W' K* R# T2 |9 @
! P) w- W& h }9 I4 W5 F0 P首先瞎逼逼一番,吐槽一下题目和比赛经历,对这部分不感兴趣的可以跳过:
' x8 f8 g/ K, L- J- [虽然我是周六下午才开始做的… 总的比赛时间不到两天,不过好在一个人,不怕拖队友。至于题目,我第一眼就喜欢上了 C 题。我想,恐怕很多人都喜欢 C 题吧,因为赛后做了一个总结,发现学校选择 C 题的,比选 B、A 题的加起来还要多。
4 \1 M- ~. _' y6 h0 |8 F1 H! w2 H7 K y( [
: Z% y" ^( Z; X为什么选择 C 题呢?因为有数据处理…
) F! \; ~. g+ U" L; q: H- \6 f3 _7 a. p5 ~. u
( J5 X) @0 p# a! c1 ]/ k所以无论它多难,我都选它,哈哈哈。' A+ t/ ]' H3 `6 d1 I& ^3 ~
1 I# M: Q9 O0 A- |0 J5 z
# B: Y) u( f& z, B仔细看这一题,它与机器学习好像有区别啊。说起机器学习,我会想到:
" O( O% m, H" U0 D+ C6 J! t+ q5 { \) J$ ~& _4 l
+ M# ~0 e# K4 o/ c( D% q P分类+ L* t/ \2 b" c E' ~( I+ `, K
回归
4 s* s4 H8 C2 S, T; D/ X+ M& z- ~拟合
1 J1 G- M4 v1 ~0 E- v7 s预测
2 [- C. a# F( Y b但是,这题… 好像不是一种,用数据拟合,然后再预测的问题啊(机器学习的通俗定义)+ K& g I ~! _* |
# \# a7 d# |" g+ g1 V! @) a% c a- T2 w
好吧,选都选了,只能硬着头皮上了。7 u2 K) s4 `0 b
1 u0 J" |0 O4 {
( B' X. |" E* Y. ?9 a Y3 {. u% `; h
问题分析& g: d* k; X7 Z. X8 v7 ]3 ?
根据附件1,定制一个量化的信贷风险;. j* w) I( c6 o& Q+ s6 I8 }; N
为银行制定一个信贷策略. _+ I/ F3 B! V7 @
有突发状况是,上面两个问题应该怎么重新规划?/ n4 N) h" U/ z6 g6 c6 @
三个问题,我们分别称之为问题一、问题二、问题三。
- I% f% O e' J" U i
7 l: n% Q& x9 }: @: S6 a* `/ }8 {: K* `, |5 r
数据说明
6 n! ], b; U- u4 Q V附件1:sheet1:给出了企业的代号,企业有无违约的情况,信用等级
* c7 A, f0 i2 q! I: E1 Xsheet2/3:给出了企业的大约 2 年的进/销 量的发票数据,
% F: ] N7 J2 U, E" l) F/ B+ h附件2:给出了企业的大约 2 年的进/销 量的发票数据。没有给是否违约、没有给信用等级
+ S! ~/ }$ \3 W3 I! K4 G4 H附件3:给出了银行的利率,以及相应利率下,不同信用等级的企业,不愿意贷款的概率(原作是比率,我感觉能用比率近似概率)# O0 Y1 c$ a. O
- z9 A2 i- J% h5 \" j% g0 S1 P9 W8 g. L' C% j! T. C; P$ g; w! d
问题一求解
$ t7 s4 G c/ A! ?" u/ O* q3 I你们看,附件1 比 附件 2 多了什么?信用等级、以及有无违约记录。而问题二是要我们求附件二中的企业的信用风险的。所以,仔细一想,肯定是在暗示我们,1、用进/销 量数据,来评价企业的信贷风险。2、信贷风险的量化指标,需要建立在企业信用等级、是否违约两个变量上。3、设法建立进/销 量数据与信用等级、是否违约的关系。
% @8 y- ]8 |) e. A
1 l' T, t3 c1 V; _3 b# H1 H
- \! @( y5 o- V6 D1 ]好了,第一步咱们清楚了,就是要建立信贷风险与信用等级、是否违约的联系咯~2 O7 j/ k" w2 U" w) B5 z
- b! u- ~6 d1 r6 e; V6 ~. A. b8 ~2 t0 x. Y" [4 b8 u E
我查阅了一些文献,虽然说得都很复杂,但概括来说,就是一句话,我银行借钱给你,你还的起吗?这就是信贷风险了(说得比较通俗了,有点对不起学金融的同学们)
2 f* e6 n$ g. v, O: b3 J! a$ `
! Q9 w/ }3 A; Z3 u1 i: y0 E3 O+ ^& J% A/ S/ ^$ I, v# z* K
于是,我将信贷风险定义为:企业违约(赖账不还)的概率。
, P1 B* o; U y( D" h
% ?) O" x1 ]) d7 f) c
$ T3 ?3 {1 Q) a9 K& a而机器学习的知识告诉我们,分类模型除了能够自动判断个体的类别之外,还能够计算出个体,属于该类别的概率。于是,这不就是一个机器学习问题了吗?8 Y" M4 G/ j# z' F$ N3 A
9 C9 U a ]! N! ?7 S* g) v% G R5 }
6 w# A9 } |' l# J% F7 ?9 q
这个问题就是:根据进/销 量数据,训练一个分类模型,然后将模型的输出,确切的说,概率输出,作为信贷风险,Over。 m3 H* |- u7 o$ M
; x7 q9 l6 o# d8 a7 t
- d: q4 Y3 n6 Y' J4 _2 p但是,进/出 量数据是时序性的呀,如果按照上面的思路,那肯定是要一个企业作为一个样本个体。可是…,这个样本个体也太奇怪了吧,是一个时序数据,哇,都能构成一个表格了。。。
3 O2 A/ u* k& |
6 G. b: W5 n% V4 M7 w0 m% S
0 }/ \$ e8 q2 A% ? i# ^按照上面的说法,这有点接近自然语言处理了,也就是一片文章,对应一个类别。这里是一张时序数据表,对应一个类别。天!麻烦!
/ ]6 [* g( q! U7 ^
0 E! |. L( H7 B# x( A8 `# c! {- F7 g7 ]2 p9 b
有些大佬可能已经豁然开朗,用 NLP 来解决啊!!!7 `% d2 p# u( S( L4 b
, e! g' n8 _' \. } H5 O9 G1 ^' h; D4 V% c
否也,这种跨越对我来说,有如天堑(虽然我是搞 NLP 的)
) v& R' _3 ?: K& Z6 h
. q2 G( p) _. a/ p8 m4 [
: O7 g+ e) D& I; C. O# u7 n因此,我决定,转换一下我们的数据集。$ X* v: x g# P e4 x* x
2 \/ a0 ~( z* j6 z7 O
/ O/ v; G: S. U$ A# |' u3 {, A0 I
数据处理
1 l y- M2 H& L0 W8 J首先,如果按照上面的思路,用机器学习模型的输出,作为信贷风险。那么就要让数据变得简单一点。
5 Y8 i9 ?, ?' y( _
6 C# z6 v' t H, I0 D# c' B9 o1 P: d1 ~
原始数据是这样的:多个企业,一个企业包含了大约 2 年的进/销数据,一个企业对应一个标签(是否违约)。
; G/ `$ _& o$ t/ _0 }/ i- j
6 p3 k$ G$ w m, y' m
* g% @# Z; V' N9 M. B. R我们希望的数据是这样的:一个企业,对应一个向量(行列都行),并对应一个标签,这样才能用机器学习模型。
6 j; U+ N5 G! T8 p) [3 P' l" K. y' D( Q$ A: ^. a8 o* ^
) ?1 P& b6 d7 L7 |$ U
因此,必须将时序数据弄掉!!!& e: z8 J @: M; q+ D
$ F Q- u5 v7 D* w9 I( I0 N
, D' [. t! Y" o由于数据是按天给出的,首先,为了简化,我们以 30 天为单位,将数据合并!
. k a* y: V* |2 R. C Z: |" b7 F4 w$ W$ F
) ^' }6 H4 w: {5 \6 Z" i
然后,用一条曲线(我用的是 9 次多项式),拟合时序数据。有了曲线之后,我们不就可以用函数的系数,来替换原始数据了么?, n! E8 k- E4 W8 Z: H# \% G5 k
, U9 H9 d4 x) n6 V4 ~
; P& l6 l* K, f; a/ [4 s这样,一个企业的数据,就从对对应表格(时序数据表),转换为对应函数的系数(向量)了。2 n! L) ]5 ]/ N
% E9 U+ _4 U5 [# A, F
) q: c. y( Q8 M5 A: l
等一等,误差怎么办?用曲线拟合数据,肯定有误差的嘛。; P. i3 ]& Z8 A7 g/ ]
" E3 N! X: P, v" o4 b8 D
5 u* \; Q! d; F; [* r好,误差我们是用什么来度量的? 常用的有 R 方对吧。那就计算出 R 方,然后把 R 方也作为企业的数据之一,不就得了。& M2 t9 X0 |) L: d% Q" M# S; d
( Q% B8 ?) I: `$ X3 a
* I6 I7 z, X: `6 y& k/ O, R可能有人犹豫了,可以吗?
& I7 r% o8 `1 u( _# m" w, J" Z- I9 J7 W
' U) N$ n" F) g: `% f9 x: u% R- `& [( f! j, }1 e- I4 e
好,拟合的曲线可以一定程度代表企业进/销的基本规律,没问题吧?+ T- S" K; ?$ r" d+ }
1 A$ K+ a, F( v
4 w7 Y# j& [3 r4 Z8 e6 {R 方计算了误差。换个角度想,可以代表企业的进/销,偏离拟合曲线的程度,对吧?
: i% Z- H( c* u4 l6 c" ?* u) k" T- n
o0 |! `) K1 r. ~1 e: C6 |* Y
这不就得了么?0 W; a x3 D$ _
; q' X7 a" |5 }& N- ]
# Z+ K' w% ^8 b" m& i当然,误差是肯定会有的。但至少经过这样的计算,解决了我们的燃眉之急吧。为了方便讲解,我们将这个数据成为 一数据 吧。
, ]; C. d, ?; D; O# [9 V: k; q o$ j6 M; s+ h' M4 h$ M
6 p/ f1 C+ V& ~# M' W. k
有人还会问,信用等级呢?我们不能忽视这个数据吧?da si ka ni。, i* q. Z8 f( A& C+ P
8 S. U" t1 T9 m$ y( v) Z1 s8 D9 m/ O$ a! _! H/ ?
且看我怎么处理,我们可以像 NLP 的 Word2Vec 那样。我们用一数据为输入、信用等级为输出,训练一个模型,然后用模型的参数,或者其他东西作为 二数据 不就得了么?
4 X Z. r. {+ T
5 g7 Q* h( ], \" F" m1 Q9 o5 O: O+ x- x2 {& P1 U- Y4 z. m4 F
之后再用 二数据 为输入,建立一个机器学习模型,用来计算企业是否违约的概率。 Case Close!
) v: J1 ?6 n3 u# }: J, b2 l& f+ ] u$ u4 f; ~
) ?2 H: t4 L R. B% i+ R
问题二 求解& E5 f. ?7 c2 y; S0 N
制定银行信贷策略是吧?
7 e' g* Z7 L3 O7 @, _; l) x
) f* P$ j! ]' E9 b# ?3 f- r% d) D+ B
怎么制定?无非是利率、期限、额度咯~/ \5 i" p& S; d' f3 c* v2 L
- h+ R W" |$ l; H3 @' C9 T. [3 C
) G2 B% f& F9 ^& ?: C# `+ k% p- U期限我们不管,因为没依据。利率和额度紧密相连,都是钱的问题嘛。
5 ?9 q! X% H1 n! B* v* S1 _! U
4 ?$ [" j+ }- B0 o( S$ a& E1 t! k. F, d7 i3 c
让我们想象银行是为了干什么的。商业银行肯定是为了赚钱啊,哈哈哈哈。3 |/ ~. {8 L# ~3 v
: H) {' R) ?& }; u& X5 `# A- H
% r2 [6 M! E) w- S( z) ?6 {# {于是,问题转换为,求解一个优化问题,即选择合适的利率、额度,使得银行的利润最高。0 z- \0 ]4 t/ M/ q
& m) q: l) ^# h
3 D: S) p9 ~8 K: X
so easy?ok?
' U/ Q y& C: H {# _& J
c6 _( y# K/ x" {3 g
# K& b! G) b) L于是,最根本的问题,就要对银行的利润建模咯~~4 S! U. W9 @8 P0 V8 [
" |' n6 a2 _$ K. B/ ?3 s% W5 _+ q: ]- m
利润的期望 = (1+利率)^(时间) X(企业不违规的概率)X(企业愿意借钱的概率)6 @ E; p5 L! c5 v6 D( |, P" U
4 M0 z7 x2 e: A0 D8 f6 _% z0 m% D/ e# J
用期望近似利润,case close,say goodbye。- S2 |# Y4 a, L3 Y
3 B( m( S$ k; [
" ]+ ^; ]3 @: h+ k' b
至于优化问题,加上题目约束后,就是一个约束优化问题了,怎么求解?方法实在太多了。我们训练机器学习模型,不就是求解一个优化问题吗?作为弄机器学习的,你不会连求解一个优化问题都不会吧?
8 r' p( ?5 U, q/ f6 Y, u8 }# {5 n, F
, o, v+ V% O# b$ I" p有的人会再次反驳:可我们这次求的是一个约束优化问题啊!9 [& q* W: t0 B/ C6 C. X
& P+ i6 R: L! l" m6 O$ }! P5 F" A) ~8 y& T* L t7 R
我会答:你用罚函数的方法,不就可以将约束优化问题,转化为无约束优化问题了吗?/ ]; ~( n' X& r$ w
4 I4 h, C* n4 K, |- D1 _9 ~
6 n; t; V5 w1 v0 |, ~
问题三
' S, I* A6 H9 l: f$ }2 x突发状况会影响企业的运营状况,所以我们只要将 一数据 的 R 方微调一下,不就得了吗?????0 ~1 J* L$ s1 q: A, t- V0 v
; A0 I' d1 G. \2 X+ G5 b
. ]- z* J& _1 d
有点简答吧?
' }8 Q# |+ {/ ]5 M, J, g A+ G; r( w, O1 m# C! B' l) I
! a- z8 M3 a2 D1 b* ]& @3 ]最终总结4 F- n s' d. {: I6 x- Q2 T+ X
C 题,似乎是最简单的。但处理数据,比较麻烦,可能很多人卡在这里的吧。最难的一个点就是:如何将一个时序表,对应到一个标签的问题了吧。
5 Q8 @5 z5 x9 D6 l% p
8 u" L$ T& }% \7 A' ]6 J! Y
) G/ r; g0 U4 [好了,最后一次数学建模比赛了,大家江湖再见吧。: H6 {, g1 J1 J8 M# I ?2 G' X
————————————————
( J; @7 k7 m% i: D版权声明:本文为CSDN博主「zhuo木鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
5 B% W1 x" f% D8 ?+ d原文链接:https://blog.csdn.net/weixin_42141390/article/details/108580140: J/ c4 d8 N! E; V8 W/ A, J
- @) D- w6 H3 H+ W
) X% F- x% h% k
|
zan
|