- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565611 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174906
- 相册
- 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题总结
5 j4 C- K* z0 o1 \$ M& L) R$ K4 i# U7 x, B) F! A
首先瞎逼逼一番,吐槽一下题目和比赛经历,对这部分不感兴趣的可以跳过:( A/ Y( l5 h1 k: M. ~$ t
虽然我是周六下午才开始做的… 总的比赛时间不到两天,不过好在一个人,不怕拖队友。至于题目,我第一眼就喜欢上了 C 题。我想,恐怕很多人都喜欢 C 题吧,因为赛后做了一个总结,发现学校选择 C 题的,比选 B、A 题的加起来还要多。
: d5 i) A2 Q. y; ]' u# S
" v& W6 G/ X9 R5 ~+ m) v
! k r0 Q+ b, ?& ^6 s' i为什么选择 C 题呢?因为有数据处理…- U0 [/ y. T8 _6 Z
& ~$ ?) g: s8 W" m
+ a( P7 d' \* m. R: E; }
所以无论它多难,我都选它,哈哈哈。
9 h, z5 c q' q$ J) R& v3 c+ \- ?; R( q- |
7 K2 K4 o; J2 b4 M
仔细看这一题,它与机器学习好像有区别啊。说起机器学习,我会想到:) ?9 H: ?6 ?$ l
6 D O# P7 K. s$ |9 U* A$ S
; P- | W1 y# w" n; ~3 K& j分类" k6 v* A: I1 Z. }( P
回归% s+ P/ L. O$ q* \
拟合
. |0 \" F% \8 L. Q: s3 b预测 T4 K* I5 L; }/ E- B
但是,这题… 好像不是一种,用数据拟合,然后再预测的问题啊(机器学习的通俗定义)7 R* b. t, e6 d( m$ j A3 u9 @
2 B# Z Q- j; V" E8 z4 f8 g1 \
+ O; B9 q2 q+ `, y5 a2 b/ Q3 |- _好吧,选都选了,只能硬着头皮上了。0 o( ~: d- N( ?
# t% d$ ^$ U, d
6 n# R9 o# F. R' W3 M' k- k
问题分析
Y/ p* |! E: o( A" i% k3 Z! F c根据附件1,定制一个量化的信贷风险;3 p' Q! R6 O( r2 b9 X
为银行制定一个信贷策略7 g; v0 K" V( x# v
有突发状况是,上面两个问题应该怎么重新规划?
6 X+ P9 o& l1 E三个问题,我们分别称之为问题一、问题二、问题三。
& K1 ~# y: }! X2 @2 J1 A1 Q* p3 C8 e% _3 A! D) p0 p5 L
, i) w8 a1 H+ C数据说明* l2 N& X7 A7 p* w0 q' Z/ z( Q
附件1:sheet1:给出了企业的代号,企业有无违约的情况,信用等级
; K# n: |' r, o* ^/ osheet2/3:给出了企业的大约 2 年的进/销 量的发票数据,
& ~2 t% Q1 z5 M- Y: i& [: S( j0 Z4 C附件2:给出了企业的大约 2 年的进/销 量的发票数据。没有给是否违约、没有给信用等级9 L3 f" j: ^2 S- q5 X9 C- O& A
附件3:给出了银行的利率,以及相应利率下,不同信用等级的企业,不愿意贷款的概率(原作是比率,我感觉能用比率近似概率)
2 _/ l- S8 ~9 i* Q: D9 r( E. G7 D$ q
O' ^' X; p) ]5 H: W问题一求解
! I$ J/ O2 S t% W4 u; M c: T. d你们看,附件1 比 附件 2 多了什么?信用等级、以及有无违约记录。而问题二是要我们求附件二中的企业的信用风险的。所以,仔细一想,肯定是在暗示我们,1、用进/销 量数据,来评价企业的信贷风险。2、信贷风险的量化指标,需要建立在企业信用等级、是否违约两个变量上。3、设法建立进/销 量数据与信用等级、是否违约的关系。
6 X0 }+ x2 y- v" _% @7 J/ D, p/ `! b0 V" u$ t9 b8 u
7 R3 z5 j1 U- r6 T好了,第一步咱们清楚了,就是要建立信贷风险与信用等级、是否违约的联系咯~
2 ~2 x$ |) P& i3 I4 [
% a; J% @# l1 t$ @; a' t3 ^7 x) i4 l) l
我查阅了一些文献,虽然说得都很复杂,但概括来说,就是一句话,我银行借钱给你,你还的起吗?这就是信贷风险了(说得比较通俗了,有点对不起学金融的同学们)
. Y5 G8 L8 t/ q1 P; @& ^& Y9 g0 i1 `, |: ]% g7 @, m( n& Y" N
1 Z1 E* ^4 u- V) M2 @& _( V. L: t- n
于是,我将信贷风险定义为:企业违约(赖账不还)的概率。# d, ~. O" K& P6 ?2 T0 t4 H
+ x( r- k/ s! z4 T5 V. m8 Z. j5 c" X6 M) f9 p, u6 z& }# j+ ~ B
而机器学习的知识告诉我们,分类模型除了能够自动判断个体的类别之外,还能够计算出个体,属于该类别的概率。于是,这不就是一个机器学习问题了吗?
+ }7 @) N3 f, _
3 ]( O$ I' {* o9 I( ?5 }$ `0 @6 h( z. @
这个问题就是:根据进/销 量数据,训练一个分类模型,然后将模型的输出,确切的说,概率输出,作为信贷风险,Over。
- S' m4 R* F# _/ J+ W0 K8 C3 Y
u' u2 K3 P+ X! \3 f. \5 o: w! u1 y, J! Z" ]
但是,进/出 量数据是时序性的呀,如果按照上面的思路,那肯定是要一个企业作为一个样本个体。可是…,这个样本个体也太奇怪了吧,是一个时序数据,哇,都能构成一个表格了。。。" E5 ~5 C" u+ Q' \
: L- c- v" l+ R p$ B q0 L# i: _& Z; J3 s& h0 s, d
按照上面的说法,这有点接近自然语言处理了,也就是一片文章,对应一个类别。这里是一张时序数据表,对应一个类别。天!麻烦!3 L( Z; M( ^$ M
# ~8 g; ?) i* H. M' I2 d# o
7 G) S" X3 ^& g0 v( Z: J
有些大佬可能已经豁然开朗,用 NLP 来解决啊!!!
7 D$ z; `% k! R/ ?' A ^ S, M% K: R; [# \
, [) ?+ h2 M4 |2 i7 ^4 m2 P
否也,这种跨越对我来说,有如天堑(虽然我是搞 NLP 的)
$ m$ s$ w6 G/ @/ s% b0 Y/ _. H( i4 n3 L% p! s# S# w! A
3 a7 X) c2 F* _" T6 ]
因此,我决定,转换一下我们的数据集。
6 Y+ M+ d3 \! t, z% `0 h
% } J8 m' O; d5 P, N* K. z: h
6 s2 e' ~4 S1 {; x数据处理/ T# N( S2 R7 K; _) S
首先,如果按照上面的思路,用机器学习模型的输出,作为信贷风险。那么就要让数据变得简单一点。
* E) j$ s4 D( L7 s8 W/ y
( o% \3 ]$ F6 t- v" N3 q1 a0 b$ G2 D* B! V: W& d u( n6 v& r
原始数据是这样的:多个企业,一个企业包含了大约 2 年的进/销数据,一个企业对应一个标签(是否违约)。
2 |1 X& |8 F7 n! c: S1 o
4 Y; \# n% M" d/ l! v, C; F& _+ \. A! ]
我们希望的数据是这样的:一个企业,对应一个向量(行列都行),并对应一个标签,这样才能用机器学习模型。
/ \$ ~# ], h7 R# {6 ^3 G4 ]4 G0 @4 k. R3 H4 V- M- K/ i% @
0 o- T% Q+ x& L0 s6 l
因此,必须将时序数据弄掉!!!
+ h3 G6 |, I0 c+ u& I, ?
/ Q* n, ^2 Q3 e7 h' S/ L2 j* l* U% k6 a' L) O' |6 [2 J8 Q& b: P
由于数据是按天给出的,首先,为了简化,我们以 30 天为单位,将数据合并!$ T$ O" M+ s; E9 `: R
# y0 A0 [8 S- i( X! H) ?
, v, B7 A8 F5 k% V% E* i3 N7 T4 S然后,用一条曲线(我用的是 9 次多项式),拟合时序数据。有了曲线之后,我们不就可以用函数的系数,来替换原始数据了么?: \: S+ _7 g9 [
5 P% T# J1 b C$ [ o) m6 H
$ ]- G9 G% H1 n! h$ C' B7 `这样,一个企业的数据,就从对对应表格(时序数据表),转换为对应函数的系数(向量)了。
6 Y* r/ v* X1 A9 T: S% z+ h; b. q8 A4 \6 N. N$ ^2 r# K1 `& D
( E; @/ n4 B5 d- t% {
等一等,误差怎么办?用曲线拟合数据,肯定有误差的嘛。
" E+ Z. ]1 z* ] Q
5 v. b; a) v6 _ J
0 H* a0 e$ l3 w/ ^' g好,误差我们是用什么来度量的? 常用的有 R 方对吧。那就计算出 R 方,然后把 R 方也作为企业的数据之一,不就得了。
2 s5 I" k4 I6 z' I: k
4 D& L4 Z' P, j. f) c0 P7 r$ g3 C5 x8 g, }# q8 U# e2 O; \, z
可能有人犹豫了,可以吗?2 S5 o2 u/ W1 q& K+ U, }4 Q, ~1 u
! r- m, l0 r# H8 l( ~
, l6 M4 G5 _. s好,拟合的曲线可以一定程度代表企业进/销的基本规律,没问题吧?. } J6 b% p. o
: i7 |( \+ f# X ?) _
, I- I$ M8 w8 z4 ^# d i2 xR 方计算了误差。换个角度想,可以代表企业的进/销,偏离拟合曲线的程度,对吧?
( ]1 o! b* A5 E
5 m! ~: ~! ~; p8 } D
- M# G; M8 m$ Q/ h6 }: r1 J这不就得了么?
4 y/ {4 m& v( v+ h4 [
5 y2 ~) ?7 |1 k l, X+ o4 X: S! C, o4 r( f- \, X% K% L+ ^
当然,误差是肯定会有的。但至少经过这样的计算,解决了我们的燃眉之急吧。为了方便讲解,我们将这个数据成为 一数据 吧。; k8 }9 m; M2 y. B% s: Y0 m6 ^- ]
. m4 B; w0 R* n( I! h
' m' C- B$ M3 a7 ]5 a3 _有人还会问,信用等级呢?我们不能忽视这个数据吧?da si ka ni。$ H/ e& o8 U8 g
8 p; j2 d/ F2 {2 a6 e
; c% h E0 S/ T; T* M& \
且看我怎么处理,我们可以像 NLP 的 Word2Vec 那样。我们用一数据为输入、信用等级为输出,训练一个模型,然后用模型的参数,或者其他东西作为 二数据 不就得了么?' r. Y7 E) x, F
. u9 }, m9 h# q; F- m
8 e$ x, t+ n* b8 h Q' k- R0 E
之后再用 二数据 为输入,建立一个机器学习模型,用来计算企业是否违约的概率。 Case Close!
( [: K8 Y4 L: W: O& e5 ~1 j' U9 d F
3 ?. Q2 G: i6 r# C问题二 求解! A. E& ^$ u5 Z6 P- n
制定银行信贷策略是吧?' X3 b% p" O9 \6 F; ?# I |
2 J8 {3 Z0 n) I7 H; A" Q
. r9 G9 z+ V" q/ F% q0 U
怎么制定?无非是利率、期限、额度咯~# d4 {- w0 L5 E: V8 [- m
: B/ C6 c) x" B/ U+ u2 s/ c# d! l0 U- \$ N. M
期限我们不管,因为没依据。利率和额度紧密相连,都是钱的问题嘛。
4 E7 p) L& E9 [" ]7 n! `3 P4 v8 _+ o5 p+ A3 R. y, F! x7 p/ k
: d% T, ^- U& t$ D2 s. B/ h让我们想象银行是为了干什么的。商业银行肯定是为了赚钱啊,哈哈哈哈。, Z ?% N% T! @4 W# F
1 z* C' S3 a: j5 `% }7 l2 E; S/ Q1 |- M
于是,问题转换为,求解一个优化问题,即选择合适的利率、额度,使得银行的利润最高。- Z! p9 U% b8 `8 P: c" f. q
+ }) @2 Y, U! _6 f
7 v! A+ ~9 S9 r* d
so easy?ok?2 p, x% ~7 F2 H; t
% V; G1 }2 z9 ~% `
3 \* ~4 i7 h* K. M$ s7 A h7 U. |于是,最根本的问题,就要对银行的利润建模咯~~
2 l9 K: u1 M7 v% w# U
% ~0 m/ v& h) S/ T) c0 k0 p/ d E2 O: h
利润的期望 = (1+利率)^(时间) X(企业不违规的概率)X(企业愿意借钱的概率)
! E5 c [0 x" `# l& z: }0 ~0 ]6 c$ `1 U
2 U: @" U/ B8 n+ V- f1 |用期望近似利润,case close,say goodbye。% j: A3 U4 v/ _8 R9 q, X# b
0 {9 g" T- V( ~* C, |4 Z; L% v) G* g# A4 G! [3 y
至于优化问题,加上题目约束后,就是一个约束优化问题了,怎么求解?方法实在太多了。我们训练机器学习模型,不就是求解一个优化问题吗?作为弄机器学习的,你不会连求解一个优化问题都不会吧?
! w1 b/ }; f6 T8 q# E
- E; {+ h! T: j3 c- k" c& N* m. T: W+ c* Z8 ^ b8 T6 y* N Y( i# H$ g
有的人会再次反驳:可我们这次求的是一个约束优化问题啊!
2 o) w0 K9 L: Q
# C. Y! Z& d, K' c
. s ]6 q9 I" h9 p我会答:你用罚函数的方法,不就可以将约束优化问题,转化为无约束优化问题了吗?: f O) Q' ~- _+ ]+ j3 ?; T! `! X7 i
6 U" |) ^. p: M8 r: ^2 G6 ~; p& v3 F' l4 H
问题三
2 k6 r A- B+ l突发状况会影响企业的运营状况,所以我们只要将 一数据 的 R 方微调一下,不就得了吗?????, h5 ^5 W0 }$ h; W0 B# n! o0 f9 R
( }9 @" _ u* R# _# s) U; R
6 A* d; T7 \/ @' D j1 o% Q有点简答吧?- O) d4 `# P1 y3 \% u8 l0 m
9 c( i; s! L2 q$ B3 q1 I0 q$ H* I; O# _( W$ J" {4 E, F: ?# ?( c+ ~
最终总结
' L6 I/ k( L8 v, ?C 题,似乎是最简单的。但处理数据,比较麻烦,可能很多人卡在这里的吧。最难的一个点就是:如何将一个时序表,对应到一个标签的问题了吧。
7 J: {% M) @* K0 N* _3 Z/ F" b
; |; q6 g6 `% C. E+ V4 z. [# u
; @8 S( Q9 k' E好了,最后一次数学建模比赛了,大家江湖再见吧。: m1 j/ o+ [- p$ ?; ~: b
————————————————( D% [! g+ _, ?. n' _6 V$ x4 ]! |
版权声明:本文为CSDN博主「zhuo木鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
+ _8 u4 z. o& E- W原文链接:https://blog.csdn.net/weixin_42141390/article/details/108580140
! t; S1 ^( d8 y# F
: Z4 h) `( W0 z% M" B( n2 ^' I6 l! S* x( t3 e6 D3 Q' ^) ?5 C$ w
|
zan
|