- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 559051 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 173088
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 18
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
2020全国大学生数学建模比赛C题总结 w# B# l! A; d$ b
6 Q( O" v0 c2 f( D# s" n
首先瞎逼逼一番,吐槽一下题目和比赛经历,对这部分不感兴趣的可以跳过:
0 [- q% [. f9 E* O: j虽然我是周六下午才开始做的… 总的比赛时间不到两天,不过好在一个人,不怕拖队友。至于题目,我第一眼就喜欢上了 C 题。我想,恐怕很多人都喜欢 C 题吧,因为赛后做了一个总结,发现学校选择 C 题的,比选 B、A 题的加起来还要多。3 A5 f: i' i$ n7 C/ F
5 Y" F: U& W8 j9 r9 r; V. r5 q
/ Y) q( p' S2 x5 Q/ w4 V; W N6 j7 A) {- x为什么选择 C 题呢?因为有数据处理…
! T* |, @2 G6 [/ ?1 U9 {/ w5 x+ y0 w+ l& N, g- v' {
% F4 q6 w) P, o* g. i/ g4 p所以无论它多难,我都选它,哈哈哈。5 ]& V) n( |7 t$ P) D$ [. y; c
, e# J* t y0 r# M7 x* k2 n) h2 N
& {2 u/ L$ O, c3 `) _# ~仔细看这一题,它与机器学习好像有区别啊。说起机器学习,我会想到:
4 z( p( E' X, p* s" f) N7 M; W# N! j
8 H. f( U3 E* R分类6 K% B0 t: R/ ]3 j
回归+ n! H% h$ }" P+ a$ W
拟合$ J6 S5 B7 J6 T1 A
预测" _ X1 X! v* J- m$ a# Q5 j
但是,这题… 好像不是一种,用数据拟合,然后再预测的问题啊(机器学习的通俗定义)
; k, u# C) g0 m8 m7 s: K" I
" ` \' P% n m* O- W
9 R6 I7 w$ L" t- V好吧,选都选了,只能硬着头皮上了。/ Q' a- e0 c9 x# I1 Q! l
+ K" t* z) r! Q/ x4 s( i% ~3 l' X
0 g5 U5 I5 _/ X+ Z* j) k; I5 K4 ~问题分析8 z7 f2 B- n3 H5 F, I0 {
根据附件1,定制一个量化的信贷风险;
2 X6 b: O6 p; H为银行制定一个信贷策略' B: u" u8 Z2 G' z" w& p$ s
有突发状况是,上面两个问题应该怎么重新规划?* g. u: J1 j/ j& y9 x$ w
三个问题,我们分别称之为问题一、问题二、问题三。
( C) u/ v0 n8 R" F; U) J& e
$ a" _3 a* G; O" A8 `
* r5 n# p- I1 `7 V数据说明2 f2 A' F6 R9 Y
附件1:sheet1:给出了企业的代号,企业有无违约的情况,信用等级
& s, j6 W7 f2 z) U& Zsheet2/3:给出了企业的大约 2 年的进/销 量的发票数据,
0 a: G5 a% S; M# }附件2:给出了企业的大约 2 年的进/销 量的发票数据。没有给是否违约、没有给信用等级
9 h$ E. B! E( j& I* J, G) C V附件3:给出了银行的利率,以及相应利率下,不同信用等级的企业,不愿意贷款的概率(原作是比率,我感觉能用比率近似概率)9 v u* l0 q7 S/ p, k' O8 P2 W
, G2 o8 _2 H: l ?
3 w- |' _0 F) S, A% I问题一求解8 @ A% d- `4 x! D% k9 d
你们看,附件1 比 附件 2 多了什么?信用等级、以及有无违约记录。而问题二是要我们求附件二中的企业的信用风险的。所以,仔细一想,肯定是在暗示我们,1、用进/销 量数据,来评价企业的信贷风险。2、信贷风险的量化指标,需要建立在企业信用等级、是否违约两个变量上。3、设法建立进/销 量数据与信用等级、是否违约的关系。
, u$ r o* Z/ P
4 d9 W2 u% l! k* h+ `$ ~, v( y
5 f6 e. F: W5 s$ z7 X好了,第一步咱们清楚了,就是要建立信贷风险与信用等级、是否违约的联系咯~+ X! [6 w, v4 h- S( U' }
: Z) T: \& C6 a& L* `
w8 b# ?9 h: a6 l) N
我查阅了一些文献,虽然说得都很复杂,但概括来说,就是一句话,我银行借钱给你,你还的起吗?这就是信贷风险了(说得比较通俗了,有点对不起学金融的同学们)% a# d2 O! ~+ w
" l4 P3 ?9 @- e' m; j
9 r. r2 ~" i1 C0 Z' D7 i6 a* Q
于是,我将信贷风险定义为:企业违约(赖账不还)的概率。
* ~0 c( z) s) K* i5 C; |8 e, h! Y* I; i. o* M
5 J6 p$ d! v& k q9 G' m( T
而机器学习的知识告诉我们,分类模型除了能够自动判断个体的类别之外,还能够计算出个体,属于该类别的概率。于是,这不就是一个机器学习问题了吗?# C) S. K3 S0 i7 [/ N7 V
' k: C g, M/ u8 u" w: E% I+ t" s0 O2 I4 A$ P5 G. }2 ]# n
这个问题就是:根据进/销 量数据,训练一个分类模型,然后将模型的输出,确切的说,概率输出,作为信贷风险,Over。* T5 l ~5 @7 P6 w
* v; c! X5 R- N" }
( }, C3 d+ b: U9 f( S$ `但是,进/出 量数据是时序性的呀,如果按照上面的思路,那肯定是要一个企业作为一个样本个体。可是…,这个样本个体也太奇怪了吧,是一个时序数据,哇,都能构成一个表格了。。。
$ Y9 [& a2 N- Z1 h
6 h$ u1 |4 v* U+ m& K: n ?
7 B$ I4 M, \& ^9 d; h8 j1 p按照上面的说法,这有点接近自然语言处理了,也就是一片文章,对应一个类别。这里是一张时序数据表,对应一个类别。天!麻烦!
, y; H9 z- u& j; A# v$ S2 ?; R+ S( d+ q( o1 w
, U7 b1 k$ ?: `- |+ W" I% J
有些大佬可能已经豁然开朗,用 NLP 来解决啊!!!: Y6 \0 a( z/ S5 R1 j' z$ F. j
3 q$ b7 S* o# ? T: K, u
' s- K5 u& e4 D, Q% {, V" d
否也,这种跨越对我来说,有如天堑(虽然我是搞 NLP 的): r2 v; ^! [. g2 s/ A' A
, j! F$ ^) Q+ \; {# `2 N" W3 U; O) |0 i9 U! b4 o
因此,我决定,转换一下我们的数据集。
9 `( V+ p) z8 e+ E4 @# x# x# s& [8 G+ l) t
: n# f1 K& S0 ?7 n, I$ Y* }! X. y
数据处理
9 ?( L+ `% x, R3 A8 _5 {# D首先,如果按照上面的思路,用机器学习模型的输出,作为信贷风险。那么就要让数据变得简单一点。4 m4 X Q* y; u7 d
! }4 M: M- @% B
+ h$ ^/ L u5 [2 l7 v2 V原始数据是这样的:多个企业,一个企业包含了大约 2 年的进/销数据,一个企业对应一个标签(是否违约)。
" s* q* j4 @5 a1 k" B1 k: F* l( z' n6 ~' }
/ F: S2 n9 S( i, p9 [" p我们希望的数据是这样的:一个企业,对应一个向量(行列都行),并对应一个标签,这样才能用机器学习模型。
+ p: r/ k3 e, @) O8 J" \. Y
3 c+ C0 X3 S9 H% m, M
+ a5 M5 x8 l2 G6 i因此,必须将时序数据弄掉!!!4 l+ L4 |' i+ Y) ~8 u
1 Q, g, m2 @8 ^* v* K
" o/ m3 _$ M& u6 m& U4 ^0 O5 S由于数据是按天给出的,首先,为了简化,我们以 30 天为单位,将数据合并!
* M2 P- W9 h1 s6 q) p) V( i( _1 Y; T" I; B# f3 E
+ m& i5 w- H1 D, U然后,用一条曲线(我用的是 9 次多项式),拟合时序数据。有了曲线之后,我们不就可以用函数的系数,来替换原始数据了么?9 Y% x# `. I9 T
" n1 p0 I6 J0 ^8 X
5 u3 ~% G+ v5 E' q2 n. p
这样,一个企业的数据,就从对对应表格(时序数据表),转换为对应函数的系数(向量)了。
& G, ~3 W3 y4 O9 r8 ~
* H5 U. V1 \( ^0 ^/ A6 J3 R
$ X5 C2 |) a9 n) p等一等,误差怎么办?用曲线拟合数据,肯定有误差的嘛。
5 z# u/ f9 H, H0 m. ~! [
) t5 u5 M: {5 [/ T" I1 d
; q2 E2 Y L5 [/ `6 H B* C% N好,误差我们是用什么来度量的? 常用的有 R 方对吧。那就计算出 R 方,然后把 R 方也作为企业的数据之一,不就得了。
8 I6 Y% h% m# `8 t4 ^1 c& ~0 T; [) Z9 j, H# k
8 n& K( V* `. n$ C
可能有人犹豫了,可以吗?
( c2 n( n+ e3 h& G6 d& ^. Y
' M8 B; h0 D! i* d' c e1 R
, O1 }3 n* e; J3 m$ `7 i/ {' p0 U好,拟合的曲线可以一定程度代表企业进/销的基本规律,没问题吧?
; A# q" Y0 i6 a- S1 g2 ^" j Y/ X' W, _
. P |! [8 h# t
R 方计算了误差。换个角度想,可以代表企业的进/销,偏离拟合曲线的程度,对吧?
- t: `1 i( G0 _# n. N
0 f2 T. d5 W' @! W& H) d& k+ }# ]+ w- ^$ u: ?: ]
这不就得了么?
y/ ^7 E/ E4 _ m' x5 B! k
2 D# K' m/ u3 |! X
* h O# c2 O7 c, L' Y当然,误差是肯定会有的。但至少经过这样的计算,解决了我们的燃眉之急吧。为了方便讲解,我们将这个数据成为 一数据 吧。
/ G" A% K1 C8 D }2 i9 ~! }: N. s6 s) v" Q) V2 |4 A
* O s: o6 i1 h1 h' q: _' O
有人还会问,信用等级呢?我们不能忽视这个数据吧?da si ka ni。
) `3 q, k" m" t7 W4 X3 L! y
$ b( C0 v: T( j+ O( G" ^8 c. x+ q* w4 m: _4 N- I
且看我怎么处理,我们可以像 NLP 的 Word2Vec 那样。我们用一数据为输入、信用等级为输出,训练一个模型,然后用模型的参数,或者其他东西作为 二数据 不就得了么?- N* c! N5 P$ v# e* j8 H+ n# o
. y; |. L! |" o& M
& S$ K v. a @6 Y+ [8 x" H" Y之后再用 二数据 为输入,建立一个机器学习模型,用来计算企业是否违约的概率。 Case Close!& L' O1 K* d- ?( ` L
/ |$ E6 e, b/ t; B0 t$ K1 o
. D8 v! f! x5 a* [& ]
问题二 求解
0 e3 T% ]9 p1 _; [制定银行信贷策略是吧?
: U* g- k/ _- K5 X, f0 T8 W# f7 i2 l' k a: h
( _% R+ v* n( L; j. v/ N2 t
怎么制定?无非是利率、期限、额度咯~
* Y* r7 w- x; q& \! c9 _6 w3 I9 L& V9 d% E& ^( W) [9 l6 C. R
" r( e; q9 K+ C/ D6 Q
期限我们不管,因为没依据。利率和额度紧密相连,都是钱的问题嘛。7 M5 e( ^, H$ e% G- W
) p+ X2 I+ C( e+ ` A k2 t
& a) q/ ]" q- u* z- G! Y让我们想象银行是为了干什么的。商业银行肯定是为了赚钱啊,哈哈哈哈。
0 r# Z) n6 `& W+ U3 j1 G. P5 `; v* I+ J" Z
6 z+ d7 L; v- \! ]
于是,问题转换为,求解一个优化问题,即选择合适的利率、额度,使得银行的利润最高。
" g8 R4 b" F8 o5 H8 C, s$ ~" @$ T% N
1 x! T% C- W' V, M9 l& }. W
so easy?ok?
- @: C5 A% o, _
9 D8 c/ ]) B1 O/ n# b; H& }3 W/ q( U) C
于是,最根本的问题,就要对银行的利润建模咯~~
. k: d0 h7 h8 B2 P$ E
7 w9 E1 g; {8 d8 s* \, r( U! H! F% Y. R5 R% M! w! Y& b8 p5 s
利润的期望 = (1+利率)^(时间) X(企业不违规的概率)X(企业愿意借钱的概率)
+ K4 V* }# R5 |* ]; g( c7 G
8 H4 \8 `- h1 G& X+ U7 \) U
- L" I$ |! f8 b% J3 R$ Z4 P/ j用期望近似利润,case close,say goodbye。: m+ _ s# H# t6 b+ h" n% I8 C. ~
0 j8 v* ~2 O3 H0 o4 P
5 i6 C$ x; A1 h1 `# K- c6 Q至于优化问题,加上题目约束后,就是一个约束优化问题了,怎么求解?方法实在太多了。我们训练机器学习模型,不就是求解一个优化问题吗?作为弄机器学习的,你不会连求解一个优化问题都不会吧?
5 g. i0 @0 A* U/ n/ d x+ O7 d2 d! A$ ?/ B" m! ]" c
+ D" s* {: K# |; H* D5 x0 _
有的人会再次反驳:可我们这次求的是一个约束优化问题啊!! h {" I' F% ~4 t
2 W" I$ e! e" C# B8 F+ K# Q
2 r2 d' W$ g7 s' a9 i
我会答:你用罚函数的方法,不就可以将约束优化问题,转化为无约束优化问题了吗?
/ {' c6 B' \6 L/ H8 _2 n- l- R2 G3 g6 _: V) E* H
7 O$ J8 s5 ]& f9 n. ]' U/ n0 ]问题三. D: V( w9 n `/ E% u
突发状况会影响企业的运营状况,所以我们只要将 一数据 的 R 方微调一下,不就得了吗?????) E$ t! v3 ~# j5 g, ?! m+ a7 d
- k/ x) |1 G2 F
( C. I3 X$ a; ]3 K+ ? |有点简答吧?
( V$ o% |6 X) i) o$ v8 d5 \* B) c; k1 \
# R- Z3 u; }8 x6 G& f0 _
最终总结1 ]( I2 b- I$ O( a& Z6 g
C 题,似乎是最简单的。但处理数据,比较麻烦,可能很多人卡在这里的吧。最难的一个点就是:如何将一个时序表,对应到一个标签的问题了吧。8 K$ I: J/ F5 t' n1 I( B
' V4 H* m, ]9 B. e% o, w+ P
5 [- K+ F" O, M7 R, W' Q3 ~好了,最后一次数学建模比赛了,大家江湖再见吧。
/ o" ~8 | F O+ O( e$ E————————————————
1 J3 d$ y3 B5 q4 @版权声明:本文为CSDN博主「zhuo木鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
! k/ p: o7 F, `2 ^3 W' f原文链接:https://blog.csdn.net/weixin_42141390/article/details/108580140
}* F+ G4 l! h$ U7 p( q
& o+ R* q ]9 M( P/ {; J: V
, K6 K3 L1 u( S5 H0 v |
zan
|