- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563327 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174221
- 相册
- 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题总结
- E. Q: R- K2 _1 Z5 ^: b( G9 ?
( j$ w' l- `3 [4 ?% o- A2 d! u) z! ^* T首先瞎逼逼一番,吐槽一下题目和比赛经历,对这部分不感兴趣的可以跳过:- J2 D; E0 U/ i; u+ @: g
虽然我是周六下午才开始做的… 总的比赛时间不到两天,不过好在一个人,不怕拖队友。至于题目,我第一眼就喜欢上了 C 题。我想,恐怕很多人都喜欢 C 题吧,因为赛后做了一个总结,发现学校选择 C 题的,比选 B、A 题的加起来还要多。
+ p p4 j; Z' X _
/ f: g3 L& O ]' j- q) E O H. Z% t) k1 z: x" K' m
为什么选择 C 题呢?因为有数据处理…1 `2 ^" h% Z( B- _. q# ^
8 }1 E8 r! K* C! n. H. t) Q; V) m6 [
所以无论它多难,我都选它,哈哈哈。: N3 f/ U6 S' z& D
5 ~7 F6 Q" N- q1 n- m& a
+ q/ x/ h0 h7 z, D1 i$ R2 T# Z3 ?仔细看这一题,它与机器学习好像有区别啊。说起机器学习,我会想到:
5 S* I2 J+ e6 H( A) V2 U/ r$ y7 p
, ?8 Q! ~$ A' f# m* b' p. {
分类
6 x+ z/ y5 n, H4 D7 K2 X/ g' X回归+ ^6 J5 q; f$ O9 O$ {# }4 M
拟合3 s$ Y: w3 A' \4 H
预测. u2 a' O9 w0 j. d. H# t& o$ s; `
但是,这题… 好像不是一种,用数据拟合,然后再预测的问题啊(机器学习的通俗定义). U4 c' t; d7 a, j, u6 n' x$ [3 c% K
0 q- J" x5 I* P- g+ s+ d8 W
& f) W# B3 [, S" _好吧,选都选了,只能硬着头皮上了。
( x; ]& N- \4 u# j& Y. y6 J2 o) L; x
7 U( t! J. }- \5 W3 ]
问题分析
& W% V/ w- K4 J+ E \" M( `根据附件1,定制一个量化的信贷风险;
' e! `% ]6 c9 o9 K% y4 p为银行制定一个信贷策略
. f+ D4 ~; O3 f4 q3 f7 Z/ L* h, z有突发状况是,上面两个问题应该怎么重新规划?
/ M# `. |1 Z6 v9 m三个问题,我们分别称之为问题一、问题二、问题三。' r7 ]" D* j w- T$ @1 A! Q
/ @+ R0 n0 S# s- C: p r2 V) {, |4 c( ~
数据说明
8 v" u$ {% e3 E& ~# ] x附件1:sheet1:给出了企业的代号,企业有无违约的情况,信用等级) F/ u4 l) A4 R- r1 ]
sheet2/3:给出了企业的大约 2 年的进/销 量的发票数据,! K7 \; @2 Z+ |* P( u" R( _
附件2:给出了企业的大约 2 年的进/销 量的发票数据。没有给是否违约、没有给信用等级% s* f! Q5 ~% y9 h% y
附件3:给出了银行的利率,以及相应利率下,不同信用等级的企业,不愿意贷款的概率(原作是比率,我感觉能用比率近似概率)
/ N: f5 v6 X( p9 H0 s' q! ^8 O9 Z( O/ w. t: h! c
0 V* b2 B0 z2 X/ T- T
问题一求解
/ A- I6 m# e" @& j; A/ z你们看,附件1 比 附件 2 多了什么?信用等级、以及有无违约记录。而问题二是要我们求附件二中的企业的信用风险的。所以,仔细一想,肯定是在暗示我们,1、用进/销 量数据,来评价企业的信贷风险。2、信贷风险的量化指标,需要建立在企业信用等级、是否违约两个变量上。3、设法建立进/销 量数据与信用等级、是否违约的关系。! y y' B/ n3 J4 ]. L9 j# H
+ Z$ j! h& v3 l& t R; T9 ~
. }2 k+ [ q: m6 c8 e# a
好了,第一步咱们清楚了,就是要建立信贷风险与信用等级、是否违约的联系咯~ R$ G; k* C* G. J0 c$ x8 g( ^1 x
/ ~2 I. K# f$ D! y4 d% F
7 @# e8 Q) {5 V8 Z我查阅了一些文献,虽然说得都很复杂,但概括来说,就是一句话,我银行借钱给你,你还的起吗?这就是信贷风险了(说得比较通俗了,有点对不起学金融的同学们)8 B# b6 }8 y! V
0 |6 G9 B: u+ t" Y$ a' L
/ o1 a5 i2 R% R' H3 J; o+ g" B于是,我将信贷风险定义为:企业违约(赖账不还)的概率。
* }7 B' ]4 |( i# L+ a8 S9 O6 s% P" U. a9 e v8 S* \
+ C9 {; r- `& Y5 E- N% L' j而机器学习的知识告诉我们,分类模型除了能够自动判断个体的类别之外,还能够计算出个体,属于该类别的概率。于是,这不就是一个机器学习问题了吗?# g+ Y' b/ t4 Q# F& h
& j$ z% f2 I# f6 q: d
u% F& q! X( S0 M& v& O @这个问题就是:根据进/销 量数据,训练一个分类模型,然后将模型的输出,确切的说,概率输出,作为信贷风险,Over。
4 t# e4 m4 t6 w! P! p$ D5 S& K; V3 Z3 `; @
; w6 q2 g. q0 r1 a3 k) A5 D" q但是,进/出 量数据是时序性的呀,如果按照上面的思路,那肯定是要一个企业作为一个样本个体。可是…,这个样本个体也太奇怪了吧,是一个时序数据,哇,都能构成一个表格了。。。
. b- p5 U' {2 X. N q: x
3 Q0 C& @( i0 M
( D: Q2 X; K4 C! f7 ?按照上面的说法,这有点接近自然语言处理了,也就是一片文章,对应一个类别。这里是一张时序数据表,对应一个类别。天!麻烦!+ n& T5 q9 s. ?, {- t) O- N- z
3 P4 s$ |3 w; r" h' N7 C% e+ a
) d* w: m# |1 E8 E. H
有些大佬可能已经豁然开朗,用 NLP 来解决啊!!!
0 n: E* j# U6 C4 E) e, n! B
0 z: @6 v. A) ~
- f1 a) v5 n8 ]% b5 v* k# n& A5 `否也,这种跨越对我来说,有如天堑(虽然我是搞 NLP 的)- d F! _& [2 I& V/ A5 z
8 y Q( X# y3 l5 ^3 Q5 H
6 x* i. t& Q0 d5 |+ L8 j, \; D因此,我决定,转换一下我们的数据集。/ I% H( ]! i2 P0 {4 r; ^& ~! _# m
; ?; P( ?/ l( p/ [& e9 o+ F
- r# n; [6 F" v, j! p+ R3 ~0 {3 w2 v1 N
数据处理6 C, o0 X1 r3 a" L8 J" a% J& d
首先,如果按照上面的思路,用机器学习模型的输出,作为信贷风险。那么就要让数据变得简单一点。
# @! a5 q! ?& r' O7 T1 m
. K) }+ Z- O% o. o; L) w& c% I; C: r& y8 z3 w+ i9 o- p6 q. h+ @: |0 O
原始数据是这样的:多个企业,一个企业包含了大约 2 年的进/销数据,一个企业对应一个标签(是否违约)。
1 P* `' v& M8 x% x& @) Z, ]
" z1 c/ p/ W; Q: z5 z( `3 p f% d- G; \& v% ]. z
我们希望的数据是这样的:一个企业,对应一个向量(行列都行),并对应一个标签,这样才能用机器学习模型。
_ D7 |, @: w& {8 p9 s
: n$ T2 H2 k" ?7 t$ S; f [+ h$ @0 O& m7 a7 k' g
因此,必须将时序数据弄掉!!!
9 a f, ~8 N$ e7 x4 _. k: S9 Y
8 x% E& K- q; L
* z; K" Q8 M0 [; |1 j由于数据是按天给出的,首先,为了简化,我们以 30 天为单位,将数据合并!* Q7 u/ g) r8 H1 S8 }, p, T9 M
* i3 L1 V# ~. J: y$ J- G0 z
1 X2 T3 C8 b# m然后,用一条曲线(我用的是 9 次多项式),拟合时序数据。有了曲线之后,我们不就可以用函数的系数,来替换原始数据了么?0 [3 G- v# {' O, v0 e
4 F4 a+ J/ W0 {# T% k+ }8 a! a, R3 Z; u" Z( t$ n
这样,一个企业的数据,就从对对应表格(时序数据表),转换为对应函数的系数(向量)了。
0 k( o8 u- H) `: r: Y* B2 `( x/ P* s* d
* w1 u5 N5 u+ W) S
等一等,误差怎么办?用曲线拟合数据,肯定有误差的嘛。2 ], |% A. Q3 h& I7 z/ ~6 y
3 Z4 B% c# f0 V8 A1 A3 h6 u
# M) m7 Y/ ?$ D3 S- s' v. W好,误差我们是用什么来度量的? 常用的有 R 方对吧。那就计算出 R 方,然后把 R 方也作为企业的数据之一,不就得了。( x% q5 Z" ^* m- d" V
) M+ K7 a D& r6 Y% _9 _# D, `+ `2 F
. N4 q4 H. Z* x* y可能有人犹豫了,可以吗?
6 G, ?4 m; P; _5 t+ ]" J, ?' |, c
5 {( w) }, h" Z5 s- R4 `, T2 H5 }: P P
好,拟合的曲线可以一定程度代表企业进/销的基本规律,没问题吧?
; _9 x$ q/ P8 Q- @% ?* T) Z' S/ I7 L7 I$ p# I; \6 S% T
1 @" V9 ?/ R9 m) l3 Q% F" pR 方计算了误差。换个角度想,可以代表企业的进/销,偏离拟合曲线的程度,对吧?1 D( m1 |* l5 a% i" f) B$ X# p
( ~, d* {( C6 I
& e- Q3 O- \3 v6 b, J
这不就得了么?8 l# U% p$ Y& |; ~
( J* o) [- t. X* b- N2 m
8 p9 A4 l3 I5 x3 X9 Y$ c2 l当然,误差是肯定会有的。但至少经过这样的计算,解决了我们的燃眉之急吧。为了方便讲解,我们将这个数据成为 一数据 吧。+ z1 s: C6 m, g7 N/ p9 n& m( S
' q+ b" Z# G) G, Z$ Q( ?% p5 {# n! X8 |0 U
有人还会问,信用等级呢?我们不能忽视这个数据吧?da si ka ni。/ |) z% X: Z; c: y, A
! n8 B7 K5 S# e2 e- b' \
6 }, N x- m, T% v% r且看我怎么处理,我们可以像 NLP 的 Word2Vec 那样。我们用一数据为输入、信用等级为输出,训练一个模型,然后用模型的参数,或者其他东西作为 二数据 不就得了么?
" Y% `$ \- V U: p4 N; Q" }8 j2 A6 E+ a$ y a* h1 G0 _
0 s5 T2 Y6 p% ?7 {/ A2 B. u
之后再用 二数据 为输入,建立一个机器学习模型,用来计算企业是否违约的概率。 Case Close!
, U f! R1 h2 B- @; Q9 c) v/ M. b$ A2 Z8 R3 g/ ^
9 n$ [2 [6 S6 L8 ~) c1 h
问题二 求解
+ e' s' g% H/ ]' B) x8 s7 @9 P: x制定银行信贷策略是吧?
5 P: `# F& K& R+ d$ \: p* \$ W9 b* [: S6 I |& N$ F
( h/ k0 P8 f) F! Q8 o- s; ^
怎么制定?无非是利率、期限、额度咯~9 r& I1 V6 K, C5 \: M; ~6 }
% q K# S. y" O4 T6 O8 J" q" Y1 k
# k' z' g$ V% n7 V9 l期限我们不管,因为没依据。利率和额度紧密相连,都是钱的问题嘛。
6 e# s, n1 D* C5 G
) F$ F x; B6 A V1 H0 D6 ?6 b
6 ]. {1 @+ o5 J2 q让我们想象银行是为了干什么的。商业银行肯定是为了赚钱啊,哈哈哈哈。
$ L2 X0 i! l' a/ P& |. e" G7 D. d. z* a; F- y5 d
- g4 Z' U. \' `0 ~于是,问题转换为,求解一个优化问题,即选择合适的利率、额度,使得银行的利润最高。& V# e0 L0 R8 \6 Z% s6 r& r" k4 [
/ _) g7 K+ S% g T% m3 V+ ~7 a7 ~8 b
so easy?ok?) O0 j, N- a! u# ]
; d% L' L+ Y5 E0 Z; o5 | Y. n! v7 D3 G; U
于是,最根本的问题,就要对银行的利润建模咯~~
, N" M6 f. d/ \+ k3 P" |" d% E
5 C* \& a K* Z ~* B! c! p# @! l1 ~, o8 W6 }# G/ s9 C6 ]
利润的期望 = (1+利率)^(时间) X(企业不违规的概率)X(企业愿意借钱的概率)% @" {7 J6 T0 ^. S9 H9 a
: ?& C% ~ Q y) D1 c2 ]* m9 d2 o, _
用期望近似利润,case close,say goodbye。% B m3 y3 s: u6 r2 W, q/ h e
' m) W4 Q0 u M; |: W* P3 x/ l8 T9 [5 v
至于优化问题,加上题目约束后,就是一个约束优化问题了,怎么求解?方法实在太多了。我们训练机器学习模型,不就是求解一个优化问题吗?作为弄机器学习的,你不会连求解一个优化问题都不会吧?: }- \# l `1 p% c
8 `6 ]5 ]5 z- u Z B/ L
% Y5 o" {" O5 }3 x& v# J! |有的人会再次反驳:可我们这次求的是一个约束优化问题啊!+ v) O# u2 K9 {6 [8 z
' W5 J9 @/ ~; D3 O
2 Z+ H# \ i0 r8 c我会答:你用罚函数的方法,不就可以将约束优化问题,转化为无约束优化问题了吗?$ G3 K. \' d, I9 w; ^! X5 d/ W
% n# M4 R7 M3 S
/ @9 r( O& Z- I" g4 W, {/ d) V问题三9 r% [/ R$ Z+ k/ ?; R& z$ y
突发状况会影响企业的运营状况,所以我们只要将 一数据 的 R 方微调一下,不就得了吗?????- V2 }; q7 J( I2 `% {
$ b0 V4 K7 L+ z+ J3 } q. ~* _; r# u& H0 o. Z
有点简答吧?4 R6 Q# q* E0 q6 E! v
% a8 L0 B# P9 f" d3 }6 [* H
4 F V' t/ S. U& }最终总结
( f; v0 h0 \# d2 J2 wC 题,似乎是最简单的。但处理数据,比较麻烦,可能很多人卡在这里的吧。最难的一个点就是:如何将一个时序表,对应到一个标签的问题了吧。
2 a5 a0 R9 G+ X5 l
& D& B' x- g& l i f: O3 O3 k* O D
好了,最后一次数学建模比赛了,大家江湖再见吧。
1 O1 n! o# k& M! l2 U+ ~————————————————
2 O# k' K7 t% u% L& I; z版权声明:本文为CSDN博主「zhuo木鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
- x8 t' `0 m7 Y5 Q$ d9 ]原文链接:https://blog.csdn.net/weixin_42141390/article/details/108580140
# Z7 y+ u6 d9 t
! T- `! n* V8 @8 H
& Q {" M; d+ _1 v' |6 K! h/ l |
zan
|