- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565615 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174907
- 相册
- 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题总结' H- p% y* z9 {1 E5 r
# s( Q/ r& @# b1 x& L6 D
首先瞎逼逼一番,吐槽一下题目和比赛经历,对这部分不感兴趣的可以跳过:
* B9 t3 i$ [1 ?; ^( g# o虽然我是周六下午才开始做的… 总的比赛时间不到两天,不过好在一个人,不怕拖队友。至于题目,我第一眼就喜欢上了 C 题。我想,恐怕很多人都喜欢 C 题吧,因为赛后做了一个总结,发现学校选择 C 题的,比选 B、A 题的加起来还要多。3 _1 U8 V1 \: P( r+ M- \
/ B3 Y* a1 v5 k6 w; [* x, A+ w
: W2 e' A- v' X& v* e, @为什么选择 C 题呢?因为有数据处理…, g; h+ y8 W* F( b" f* _+ f# R
2 T. y5 M5 |$ v
3 x# x8 R0 a8 ~2 c1 f& ~8 y所以无论它多难,我都选它,哈哈哈。
}, k. ` j1 C9 A) } g
" Y7 _2 I5 x. c# b7 ?7 i2 b& M) h9 o" B d7 L1 p1 Y3 O/ s& Q/ I: H* z
仔细看这一题,它与机器学习好像有区别啊。说起机器学习,我会想到:
; L! x. h, u* b* e- ?9 n
2 P: v/ }- x6 W' t% f9 J4 _
9 ~4 Q" A' u7 S# _2 r分类
; ~ V R" i) j/ i回归
& j" u: h; j* g0 c* D0 ]拟合
/ b8 o. j2 O% P% i7 B4 e5 a# Q2 K5 p- }预测. J9 j) s3 ?) j! w
但是,这题… 好像不是一种,用数据拟合,然后再预测的问题啊(机器学习的通俗定义)
5 d, I; y7 B: Z* f! G9 V
, H) N/ D; ?0 D! k& u
3 f; t* x& a# G7 U' d2 q/ H好吧,选都选了,只能硬着头皮上了。
/ X! m* g/ p0 K4 ?, J q1 }0 n# L1 I
9 N2 i2 C% ^" q
问题分析
+ t/ r3 {; M* v0 `0 _9 ]" ?+ Y& U" f根据附件1,定制一个量化的信贷风险;
8 _& G+ O# u( q, V# s+ N9 ~为银行制定一个信贷策略" V. ^; C& }8 N: B- J7 K
有突发状况是,上面两个问题应该怎么重新规划?1 d# t: ? J) I/ @# L
三个问题,我们分别称之为问题一、问题二、问题三。) H0 Z% }) i A0 I! m ~/ R
1 {6 v7 J! D$ ?5 J, R' s7 M& D/ s0 ~ L
$ l' f- U1 i" K" l# C数据说明
( `6 s$ t2 F7 x7 G. e附件1:sheet1:给出了企业的代号,企业有无违约的情况,信用等级- H% J* ] p: U3 y
sheet2/3:给出了企业的大约 2 年的进/销 量的发票数据,
' i8 }9 b p* m" z0 b6 t) _3 x! r附件2:给出了企业的大约 2 年的进/销 量的发票数据。没有给是否违约、没有给信用等级
2 R3 {6 y- z$ N% X' I, o. t附件3:给出了银行的利率,以及相应利率下,不同信用等级的企业,不愿意贷款的概率(原作是比率,我感觉能用比率近似概率)% d9 d; u" `! E( ^/ l4 j. J% G* a
, z8 `4 R' g2 z+ i5 o- D8 j5 Z* H
2 P8 A$ J+ r/ f# i9 I: |5 o: j问题一求解
- o1 i8 K# Q( P8 Y v6 ?/ C; f你们看,附件1 比 附件 2 多了什么?信用等级、以及有无违约记录。而问题二是要我们求附件二中的企业的信用风险的。所以,仔细一想,肯定是在暗示我们,1、用进/销 量数据,来评价企业的信贷风险。2、信贷风险的量化指标,需要建立在企业信用等级、是否违约两个变量上。3、设法建立进/销 量数据与信用等级、是否违约的关系。- P. x( B' q# t* \/ ^" a: W8 k
+ ]' H& x' I9 ~6 b) e( l
5 k3 P. s$ O9 e* |. A好了,第一步咱们清楚了,就是要建立信贷风险与信用等级、是否违约的联系咯~& Y; k5 s0 [9 `* J
\2 q+ a, D. I S' b4 ~! Y# R- V
2 N! |& o6 e' E; ?! }6 x4 ?3 B我查阅了一些文献,虽然说得都很复杂,但概括来说,就是一句话,我银行借钱给你,你还的起吗?这就是信贷风险了(说得比较通俗了,有点对不起学金融的同学们)
: L% x7 A8 J" \: {" u5 E" K; r. v& ^. ^( o3 b/ \, j
: n0 F! j" J/ {' A; |于是,我将信贷风险定义为:企业违约(赖账不还)的概率。
# ~5 ~- o6 U6 v A
9 h5 }' D6 z. B
# j g- U. W3 J& Y/ L5 \* a! ]而机器学习的知识告诉我们,分类模型除了能够自动判断个体的类别之外,还能够计算出个体,属于该类别的概率。于是,这不就是一个机器学习问题了吗?
; W1 r" _& g/ I' N% G) ~$ L) C7 y. G7 r% ^4 s4 e3 b1 w9 P( s
, P' J& i* e. I+ o# b) ^
这个问题就是:根据进/销 量数据,训练一个分类模型,然后将模型的输出,确切的说,概率输出,作为信贷风险,Over。
7 T3 ?/ `' J% p5 q8 V7 o: n3 m. K3 J# F$ i% T2 l; r- l0 H
* C! p! P. T, C
但是,进/出 量数据是时序性的呀,如果按照上面的思路,那肯定是要一个企业作为一个样本个体。可是…,这个样本个体也太奇怪了吧,是一个时序数据,哇,都能构成一个表格了。。。
0 | y4 A" ?* T; N/ t( \2 k- L4 T! i( M# X$ Z/ z
) d! t+ H8 Q% ?% m& N按照上面的说法,这有点接近自然语言处理了,也就是一片文章,对应一个类别。这里是一张时序数据表,对应一个类别。天!麻烦!" i6 y5 E/ V9 Z* O5 M3 y& h. t" l' K
/ y; T; \1 `" ]" O8 m V8 c a
有些大佬可能已经豁然开朗,用 NLP 来解决啊!!!7 r# G, F6 [1 m7 Z3 d5 f
6 ^7 E' L6 L2 G! O
# a) f0 T+ A( O& B0 e2 G/ p
否也,这种跨越对我来说,有如天堑(虽然我是搞 NLP 的)
& M9 n( G x% l1 U
/ y$ s4 s9 j# o5 r; a
& o6 A/ F# e0 `因此,我决定,转换一下我们的数据集。/ i' u% c' I4 J* w, m
# E. _' q' n3 B2 H, T y \; [) i, S( [3 z8 m( q
数据处理/ f9 ?* E1 P4 R% i( t
首先,如果按照上面的思路,用机器学习模型的输出,作为信贷风险。那么就要让数据变得简单一点。
* U, U+ ]8 r; y9 p. P3 m. ?
: _( j& s$ a5 y& E( v, }1 O' d- d- `; {' u2 i
原始数据是这样的:多个企业,一个企业包含了大约 2 年的进/销数据,一个企业对应一个标签(是否违约)。
2 e" m: v/ G: u+ e. J& @3 ^# Y5 X5 K- c* {3 `, \
) @+ k# `& _* k+ W( I我们希望的数据是这样的:一个企业,对应一个向量(行列都行),并对应一个标签,这样才能用机器学习模型。
# o! f- e9 h. T% q9 n6 ]0 a' X1 o, D0 L( i0 ^2 ]- g6 p
# x- U3 w6 `+ G5 f- Y因此,必须将时序数据弄掉!!!
, |( C$ N6 f6 V! |9 X
/ R& d d/ n% j) n5 A7 {4 H2 `$ \1 t: ]' L4 b
由于数据是按天给出的,首先,为了简化,我们以 30 天为单位,将数据合并!
) X+ u2 B3 E; o$ w; n" w" H' X4 e7 s$ C
$ Z# i& y* ?; f% u
然后,用一条曲线(我用的是 9 次多项式),拟合时序数据。有了曲线之后,我们不就可以用函数的系数,来替换原始数据了么?! ?, w& @& p& e8 a: W U
1 P, g) V6 m* ~
: f- _# I3 E4 _, q这样,一个企业的数据,就从对对应表格(时序数据表),转换为对应函数的系数(向量)了。
/ X+ g7 Q1 }$ @- r6 I9 x2 Z+ \" a/ k( C
, L: o& q+ {- y2 B' `
等一等,误差怎么办?用曲线拟合数据,肯定有误差的嘛。
( c6 z- R, Y. O( `1 }9 a9 w9 F
0 i9 z' R. n: d0 i8 u# q! B
8 `5 i1 R) \" K, L" v$ q* g好,误差我们是用什么来度量的? 常用的有 R 方对吧。那就计算出 R 方,然后把 R 方也作为企业的数据之一,不就得了。, G7 {$ s0 _9 _7 V
# S9 P1 P! j0 K) y* h' C$ l( ?: m6 z+ Y1 F4 J. q
可能有人犹豫了,可以吗? B* f: C% o$ _0 P- {
8 J# ~. H3 L# [6 P4 P
- m" U. u6 }5 D- G, M好,拟合的曲线可以一定程度代表企业进/销的基本规律,没问题吧?6 Y. c9 _$ K3 t# D, I
' G# Y7 D' j9 v& H$ u
3 X% R( @( O+ LR 方计算了误差。换个角度想,可以代表企业的进/销,偏离拟合曲线的程度,对吧?6 i+ B% K% R' ?; n" r1 a
( q1 e" t# v4 Z
1 m" S3 p0 T$ ?. J! @9 a6 F s这不就得了么?: H# m2 z9 D# @) N; q( x* C
$ Y0 u" L$ X4 A1 ~ u8 z
$ N5 x4 n4 h3 o, q
当然,误差是肯定会有的。但至少经过这样的计算,解决了我们的燃眉之急吧。为了方便讲解,我们将这个数据成为 一数据 吧。! r2 x+ }3 w! t( R# S
. ~ O) e( G, ~
0 J- o5 L9 t9 |; t. D- ^1 Z有人还会问,信用等级呢?我们不能忽视这个数据吧?da si ka ni。
9 O9 W2 A* x3 ?; y& u
* \! V0 A/ ?8 z2 ~% Z$ N! i" F- O4 v8 _- f; H, l! T
且看我怎么处理,我们可以像 NLP 的 Word2Vec 那样。我们用一数据为输入、信用等级为输出,训练一个模型,然后用模型的参数,或者其他东西作为 二数据 不就得了么? L4 t$ T* K" k2 F# `/ J& o
' Q7 `/ E* P" b- u6 r C# K* N9 X% N2 Y% W' Q3 ^8 {: u
之后再用 二数据 为输入,建立一个机器学习模型,用来计算企业是否违约的概率。 Case Close!
# ~) ]. P E& X) Z% k
" n6 h+ x7 ~* O; r
0 l0 e9 Z0 X, X, a6 G" q问题二 求解
3 l0 c6 z, z# F- c制定银行信贷策略是吧?# J. v5 F0 C3 f+ I
* K5 y0 T$ p1 m2 F: E( n2 b& q2 o1 P& A
怎么制定?无非是利率、期限、额度咯~
; q4 F4 P1 E1 r1 x9 S+ ~
$ j. w% c" s) M$ ^ Q% r% H* Z" k) K
期限我们不管,因为没依据。利率和额度紧密相连,都是钱的问题嘛。' `1 B" H2 G8 v
. p( @& b$ r& T8 a- n) |) Y3 q0 n: ]
让我们想象银行是为了干什么的。商业银行肯定是为了赚钱啊,哈哈哈哈。
+ K' O7 ]: C4 O& @
; i/ F& u8 Y+ r) J) j. Q8 X
4 \1 A% _7 X, o& S+ D3 U8 s于是,问题转换为,求解一个优化问题,即选择合适的利率、额度,使得银行的利润最高。
' h3 Y& i, m* M( @# p7 b0 z
8 x/ G& J: S( t8 a, j; _1 o7 e& e% t( ?2 V8 R
so easy?ok?6 M! q: f, t/ E! c+ I/ ^; q# `
( D+ ~! [& s; @7 O" ]* I3 S4 h$ o. y9 p) q+ `9 O; k7 {3 U( y- a F
于是,最根本的问题,就要对银行的利润建模咯~~6 s, B. X' }$ U% a( K6 A, n s9 Q
1 A3 S8 p1 \$ J1 h) C
; i% c* ~) h9 `' G% s利润的期望 = (1+利率)^(时间) X(企业不违规的概率)X(企业愿意借钱的概率)* U; L3 H& k" C( D! `
. X0 c/ B0 M( w$ I6 @0 l
( c" s/ l5 ~% k! H+ i$ J
用期望近似利润,case close,say goodbye。+ w3 v4 Y3 e% T" b1 M- V/ B
1 z$ k- x+ |! p
8 E* L$ J9 G+ `( @& @5 d7 ]( ]# L3 k至于优化问题,加上题目约束后,就是一个约束优化问题了,怎么求解?方法实在太多了。我们训练机器学习模型,不就是求解一个优化问题吗?作为弄机器学习的,你不会连求解一个优化问题都不会吧?
4 g7 L R# w' a& r8 g( w+ {" E7 R1 I, N- C# x& t2 O3 F" s
' [6 C/ T/ a, A1 k有的人会再次反驳:可我们这次求的是一个约束优化问题啊!
+ Q1 p" U; p m1 p8 F( l" j1 B8 [. c" U
1 V1 r: V1 C6 {3 E9 k1 g! G
我会答:你用罚函数的方法,不就可以将约束优化问题,转化为无约束优化问题了吗?$ }9 E* p( Z4 W/ P- _
# P# e4 b' _ O$ V
* B+ Q0 v8 J1 r2 J1 \# L) S" h问题三% N' Y# x0 n; G+ P7 W
突发状况会影响企业的运营状况,所以我们只要将 一数据 的 R 方微调一下,不就得了吗?????% E& R' H$ t* ` s
/ K& s! G% n- F* z* S. [' F
& f# d2 O; u, P有点简答吧?
) |; _ E6 u1 D/ j. O5 t
: `! d& r$ D2 F) g6 @3 x! J
- A6 ~' w9 N8 W最终总结: j. J% S/ J7 Q1 Y. S
C 题,似乎是最简单的。但处理数据,比较麻烦,可能很多人卡在这里的吧。最难的一个点就是:如何将一个时序表,对应到一个标签的问题了吧。
3 y8 W' k5 n0 T5 z( K/ L9 R% s. n" G8 L, v
* D' L- B8 w' h' _* t好了,最后一次数学建模比赛了,大家江湖再见吧。
2 m) e# o0 ?& i: N" W9 ?$ a————————————————
8 U5 s f, O2 i' O( l8 K. v版权声明:本文为CSDN博主「zhuo木鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
* \2 P% K7 h" J" l: r8 u1 {原文链接:https://blog.csdn.net/weixin_42141390/article/details/108580140; v$ I; z. G- K: u' F
$ W e) ?- E% `; @+ u
3 J' w% U! \ H |
zan
|