- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564458 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174560
- 相册
- 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题总结/ K5 Q' p/ i! {6 L4 [' i
' w/ ]. @: V) Q" s
首先瞎逼逼一番,吐槽一下题目和比赛经历,对这部分不感兴趣的可以跳过:. B1 ^& w( O+ K* R
虽然我是周六下午才开始做的… 总的比赛时间不到两天,不过好在一个人,不怕拖队友。至于题目,我第一眼就喜欢上了 C 题。我想,恐怕很多人都喜欢 C 题吧,因为赛后做了一个总结,发现学校选择 C 题的,比选 B、A 题的加起来还要多。
! h. u: r8 [2 }/ M" q0 B) y# D/ O9 r% C+ \1 x
, K$ m. ~6 L" t1 X/ I为什么选择 C 题呢?因为有数据处理… c! K! W) |; j% C0 J8 I: g( i* F
& |' X5 p, x, V1 u4 y
& {+ @0 V4 ~7 N9 _' b所以无论它多难,我都选它,哈哈哈。
W: s/ L* F* n: E- k/ R* P! ^ V
# X1 g% ]+ K0 d7 T, ?* g. |3 T仔细看这一题,它与机器学习好像有区别啊。说起机器学习,我会想到:
$ D; y I9 {' S! \) A, e& F
' }2 O. G2 u* \8 |$ ?# j: d
. J8 x6 o2 P0 b' I0 L. P- r) [5 }分类
7 K; x- ?8 R( R2 d4 Z回归
- {1 Y7 }+ i& S( M" L拟合
: |6 ~" A- r" P4 {7 L6 q预测
( `3 Q% v9 q" L/ c* r/ O, s但是,这题… 好像不是一种,用数据拟合,然后再预测的问题啊(机器学习的通俗定义)" M4 f- B5 ?5 v
& f9 C6 N- z% o: r' H6 r( S- N! q0 D" q% ?+ ~) A% c) _' ~
好吧,选都选了,只能硬着头皮上了。
0 S( Y x* b* q+ x) T
/ J& S$ n+ m; V6 n! a
' Z0 H1 t. V, |0 T$ j5 M' V问题分析
8 q0 Y/ L0 i u8 z, N1 U* b1 w1 D根据附件1,定制一个量化的信贷风险;+ ~4 @. C) U+ S& w2 o) {
为银行制定一个信贷策略
r u% S( D0 i$ R有突发状况是,上面两个问题应该怎么重新规划?
2 ^0 f# b+ a: r! Y三个问题,我们分别称之为问题一、问题二、问题三。
* |2 f' B) V/ i4 c0 U7 X1 X2 R( S4 a0 i& j2 R4 P
- [4 i7 a+ C) {2 B) I数据说明" s! S/ d+ {2 U3 f- p
附件1:sheet1:给出了企业的代号,企业有无违约的情况,信用等级" ^) O4 b1 c1 h5 f' S9 @
sheet2/3:给出了企业的大约 2 年的进/销 量的发票数据,
/ p+ r* N% ]. F8 v3 l0 {7 i附件2:给出了企业的大约 2 年的进/销 量的发票数据。没有给是否违约、没有给信用等级
7 q3 I* x5 }( U$ n( r; b6 u附件3:给出了银行的利率,以及相应利率下,不同信用等级的企业,不愿意贷款的概率(原作是比率,我感觉能用比率近似概率); T5 S0 D" i1 ]% V6 T& b7 h
* h* d; H1 ]0 }5 Z) T! l! v0 P7 N. Y& Z/ k0 X3 P6 }3 n
问题一求解$ J/ ?) \' l2 J; x. G, G/ t
你们看,附件1 比 附件 2 多了什么?信用等级、以及有无违约记录。而问题二是要我们求附件二中的企业的信用风险的。所以,仔细一想,肯定是在暗示我们,1、用进/销 量数据,来评价企业的信贷风险。2、信贷风险的量化指标,需要建立在企业信用等级、是否违约两个变量上。3、设法建立进/销 量数据与信用等级、是否违约的关系。/ f) L& v$ R( j( R! @- r& p
$ E2 W# g4 C0 F( g, g( |+ B p: N i6 C4 ~, c
好了,第一步咱们清楚了,就是要建立信贷风险与信用等级、是否违约的联系咯~: |( `$ q0 p; q6 ]4 i
) y. }1 n4 Q/ r2 i% B. v1 K
& N Z- ^( D1 L$ _& p( }我查阅了一些文献,虽然说得都很复杂,但概括来说,就是一句话,我银行借钱给你,你还的起吗?这就是信贷风险了(说得比较通俗了,有点对不起学金融的同学们)
# \* }, ^1 B/ y. L" @4 a& [# j3 P) X$ \, w1 w1 q
7 d1 L# O/ N/ S于是,我将信贷风险定义为:企业违约(赖账不还)的概率。8 s4 g% F7 Z+ Y7 s/ b C0 O
: {! b7 y1 ^! N& R. ]
K0 I6 F+ u4 p' \; B* B而机器学习的知识告诉我们,分类模型除了能够自动判断个体的类别之外,还能够计算出个体,属于该类别的概率。于是,这不就是一个机器学习问题了吗?7 r3 T5 l6 ?6 O. r" Q: M
* }# M* s( G8 r5 R- I9 ]5 g
! J- Z1 }' q4 ~/ g5 j( n5 J这个问题就是:根据进/销 量数据,训练一个分类模型,然后将模型的输出,确切的说,概率输出,作为信贷风险,Over。
' m) v7 {/ t9 I. P* Z
9 q: A1 |7 j! N8 s6 ~' i5 H+ Z( |- A9 j! S/ G
但是,进/出 量数据是时序性的呀,如果按照上面的思路,那肯定是要一个企业作为一个样本个体。可是…,这个样本个体也太奇怪了吧,是一个时序数据,哇,都能构成一个表格了。。。
) Q" b/ V8 S/ G
* R* \9 w F! B& l6 | n
/ V4 r2 L% C$ J* H按照上面的说法,这有点接近自然语言处理了,也就是一片文章,对应一个类别。这里是一张时序数据表,对应一个类别。天!麻烦!5 @, C3 u- f- a4 S) K1 ?
" s f! w# d& ?6 \0 R: v
& n* b8 I/ h. I9 O& Y& c
有些大佬可能已经豁然开朗,用 NLP 来解决啊!!!
/ v/ O+ ~$ E* Z( d* w1 n A8 A4 D. ?8 P2 ~+ C5 [" X
: e3 L5 f' C" P9 ]; j. `2 e. ]
否也,这种跨越对我来说,有如天堑(虽然我是搞 NLP 的)4 K3 S- G/ j2 F) U4 E2 e
t3 \" D! B1 l
, W. E( h0 P7 m; y$ }3 _2 `+ m1 o
因此,我决定,转换一下我们的数据集。: d$ t( Q4 s2 y u* ^, V3 x
" d, h3 h; z% Q, A
?9 |6 {: o& J: }3 p" @
数据处理
* f2 Q9 d' D& l8 f1 h) [首先,如果按照上面的思路,用机器学习模型的输出,作为信贷风险。那么就要让数据变得简单一点。5 J1 `0 \3 l( W1 j. T
4 A1 C7 @' k" f) c
* V; `, O9 w0 _原始数据是这样的:多个企业,一个企业包含了大约 2 年的进/销数据,一个企业对应一个标签(是否违约)。 R& R6 s) e( k3 a; Z1 u
8 {5 o" B9 q9 e" [' l, Z
0 a) x3 J: k E: C我们希望的数据是这样的:一个企业,对应一个向量(行列都行),并对应一个标签,这样才能用机器学习模型。
' ~5 a0 ?# c/ [6 ]: C( b, a* a. ]* U) t( |" ?7 w2 E& u- ]
5 d- @/ i+ M: P9 p3 ^( j
因此,必须将时序数据弄掉!!!
+ i/ {1 w1 \6 K% Y- f W
1 H" O; C0 O1 h0 d$ B$ |" q* O. g4 Z* Q0 p5 b; f: e% ]9 W
由于数据是按天给出的,首先,为了简化,我们以 30 天为单位,将数据合并!
/ k" U/ B2 p) E
) v$ Z0 I0 P- t* K& M+ Z! Z& \: j2 W. t
4 D% X+ g6 m% y( h. t1 M0 l% D7 w6 `4 R然后,用一条曲线(我用的是 9 次多项式),拟合时序数据。有了曲线之后,我们不就可以用函数的系数,来替换原始数据了么?" [7 W$ E0 N; G4 `
W, W5 n: J; ?5 J( n
" q, e6 N, E+ L; b+ Y这样,一个企业的数据,就从对对应表格(时序数据表),转换为对应函数的系数(向量)了。
% D5 R) r8 ]9 [8 L3 P
( x/ h* q' u0 u" c. K
( y9 M2 D3 d6 p4 [6 K等一等,误差怎么办?用曲线拟合数据,肯定有误差的嘛。
7 U* Q0 i( `" i& k. R+ X3 |8 \+ K* k
( s! J, N7 S2 p9 Q) M
好,误差我们是用什么来度量的? 常用的有 R 方对吧。那就计算出 R 方,然后把 R 方也作为企业的数据之一,不就得了。" z4 p( a+ i' j3 S" u" K8 E
7 \- A2 i- q6 j9 v! c( }, Q1 ]. `2 W% d/ R5 u9 A8 [' \+ u
可能有人犹豫了,可以吗?: P6 u) S- k9 Y0 b7 f
; h4 o, L7 a) P7 n2 [/ ?5 T7 r) c" S, d r& M2 s' w) q! h2 \- }
好,拟合的曲线可以一定程度代表企业进/销的基本规律,没问题吧?: r' {2 L: T- k8 {( u8 Z$ f
& ?. C- [; m# @6 A- i8 f
$ Z/ _1 e1 v# C, n8 g7 p1 zR 方计算了误差。换个角度想,可以代表企业的进/销,偏离拟合曲线的程度,对吧?
$ ~7 h N/ h3 I4 b2 m3 k
7 M5 Z. K( J+ F( a; k+ t
7 L7 U1 L& t: T! J* j, `0 r; M. v6 j这不就得了么?
; L3 ]( U8 i8 |/ {: v) }$ V) C% F, n+ [ N/ u! `5 i
4 v& E' y" G) ? o, p- t当然,误差是肯定会有的。但至少经过这样的计算,解决了我们的燃眉之急吧。为了方便讲解,我们将这个数据成为 一数据 吧。
9 ^* r, u4 s% t1 r u6 H" N2 C L* D+ F5 J
( T! j& x0 g1 J9 u有人还会问,信用等级呢?我们不能忽视这个数据吧?da si ka ni。5 y2 o* l* b1 t9 t, K' Y) `0 f
7 }8 x7 o8 x$ ^' g
$ a! s6 n/ G2 H5 v) R且看我怎么处理,我们可以像 NLP 的 Word2Vec 那样。我们用一数据为输入、信用等级为输出,训练一个模型,然后用模型的参数,或者其他东西作为 二数据 不就得了么?8 Y5 l9 {6 Y* `3 S0 i/ O9 _
& M7 d8 x* S; I* f
! [3 R/ U. c( j# ]* h之后再用 二数据 为输入,建立一个机器学习模型,用来计算企业是否违约的概率。 Case Close!
1 v! N$ W: M* y V, P; n+ [, q8 \3 v# p
/ {5 p- n- p* G; }9 s0 a- M$ n问题二 求解) m& E3 e7 D4 j% F
制定银行信贷策略是吧?
3 H* p! _$ m) u" s/ x
* ], r( f6 H0 T
, H' x* p) F/ `怎么制定?无非是利率、期限、额度咯~
3 p6 }6 L3 A9 P7 S, E6 d" j& L- u8 r
# y$ K1 V) H& {, p' O
期限我们不管,因为没依据。利率和额度紧密相连,都是钱的问题嘛。6 A- z, Z4 s9 t' \0 R1 B
2 k& y0 I* g+ `% v
w0 F1 r# H* y- u9 d( k* N让我们想象银行是为了干什么的。商业银行肯定是为了赚钱啊,哈哈哈哈。* _* W$ [4 I; T0 a" \
) B/ J8 J" n: P0 L! v9 t/ F
8 M6 w0 V5 V2 o8 F& d于是,问题转换为,求解一个优化问题,即选择合适的利率、额度,使得银行的利润最高。
, e$ h5 o" ]0 b. J; n4 O; l! ~/ J F
7 U! q% F- z! E/ D7 r" n- n& S8 @
so easy?ok?( n l% j; X5 Z. G0 V; h7 F
- ~( v$ c( ?$ U& v/ F* w: J- A
$ J0 \* D+ w( C# g U( T于是,最根本的问题,就要对银行的利润建模咯~~
8 ~* O/ _. S; G3 Q4 T
) P" g& e8 n5 Q8 A% |
; r$ R$ b8 g9 {8 ?利润的期望 = (1+利率)^(时间) X(企业不违规的概率)X(企业愿意借钱的概率)
4 ^' {* }" Z: j+ K/ W9 g: U) p1 Q4 |6 k, A4 I9 \* W: q
, M8 r2 Z" }: e) d& [6 q. w4 J
用期望近似利润,case close,say goodbye。
" J2 d1 H6 G. F* b. H
# y6 R8 H7 F& \5 H5 t
0 F, k6 I7 ?( _2 F; M, y2 x) E5 K至于优化问题,加上题目约束后,就是一个约束优化问题了,怎么求解?方法实在太多了。我们训练机器学习模型,不就是求解一个优化问题吗?作为弄机器学习的,你不会连求解一个优化问题都不会吧?5 |+ \" ~# v. D/ d& K
5 H8 R- x4 F3 h. h
4 e$ a- m5 Z' ` j4 T. n
有的人会再次反驳:可我们这次求的是一个约束优化问题啊!
" C7 n( u) s( w/ b* Y4 `
+ w% {; b8 J, b; y! ^5 g+ j" h4 t" ]. s; G% j! _8 v$ L! y! n
我会答:你用罚函数的方法,不就可以将约束优化问题,转化为无约束优化问题了吗?
, T2 [3 e& x7 b! t$ \, I
% w# w% p( s, y1 L* L) A1 S, w1 b& E0 p) @) ~
问题三9 u+ r6 c! Z$ t: H
突发状况会影响企业的运营状况,所以我们只要将 一数据 的 R 方微调一下,不就得了吗????? F+ o) K2 ~. \/ p1 i& b1 |6 E: ~
4 T7 Z8 G/ S+ f6 g g
9 T; o" h8 Z- F5 E) o9 ]
有点简答吧?
3 ~) ]; a* S0 K' d% O6 ^2 V L" p" Q# b: ^6 E5 M+ T. D
1 K5 j& ?" c8 H+ N5 B5 p最终总结& U* C4 `+ J- g5 L! ]
C 题,似乎是最简单的。但处理数据,比较麻烦,可能很多人卡在这里的吧。最难的一个点就是:如何将一个时序表,对应到一个标签的问题了吧。
, L8 j' [" `1 n% b5 k: Z( @# r
/ F# y& p4 ^" p2 C" f/ b( q7 Y, h( e" d/ H0 j
好了,最后一次数学建模比赛了,大家江湖再见吧。
# P1 I9 B6 J4 A3 r+ X————————————————3 e2 D% i7 Q& D, O- K& \7 z
版权声明:本文为CSDN博主「zhuo木鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
4 [. R/ Y5 t/ B/ |, I+ g1 X9 y) }原文链接:https://blog.csdn.net/weixin_42141390/article/details/108580140 V0 g: j C1 i2 D! c
! z: F( @4 I5 L9 v8 V
& C( W, ]( c$ D% h4 H
|
zan
|