- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565670 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174924
- 相册
- 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题总结( k2 z. P4 x1 r F
5 P! V- |# A. d7 u" m首先瞎逼逼一番,吐槽一下题目和比赛经历,对这部分不感兴趣的可以跳过:
0 q* p6 W! d8 a, q7 _/ O6 B虽然我是周六下午才开始做的… 总的比赛时间不到两天,不过好在一个人,不怕拖队友。至于题目,我第一眼就喜欢上了 C 题。我想,恐怕很多人都喜欢 C 题吧,因为赛后做了一个总结,发现学校选择 C 题的,比选 B、A 题的加起来还要多。
6 h9 D, ?& b3 G4 D: ?1 z7 J# t" d: c; u, H3 F4 I7 W5 J5 D% |& A
5 ^# T) r: |, b5 n3 b8 W. w0 f) B
为什么选择 C 题呢?因为有数据处理…5 R; x9 j0 [% X* h. a# ]6 f
9 C9 f6 u" f. J P6 D
8 E4 q* B- B. v/ @/ k% Q) B
所以无论它多难,我都选它,哈哈哈。
6 o" r: F* M7 p/ b4 {2 k1 n. r0 y* D& `# c& H5 d
6 z" A9 R8 w _# v2 w% ^
仔细看这一题,它与机器学习好像有区别啊。说起机器学习,我会想到:3 E; o9 Q! V7 ?/ j g5 f
& W% g2 M' e$ c! b1 r% Y6 K6 {0 o$ A% p6 G7 e: R$ j
分类
4 N5 X3 H) O: z9 X回归
# N$ z m5 ]4 N4 _拟合1 a1 u6 K7 a" U; g' ~0 \
预测
. F" I- C9 }* h# o v1 ]3 w* Q但是,这题… 好像不是一种,用数据拟合,然后再预测的问题啊(机器学习的通俗定义)9 W* I3 G7 L1 \4 m8 d
" P" ?4 F) T0 j: d7 `# y
2 G9 v! ?" s) a) s好吧,选都选了,只能硬着头皮上了。, n0 q7 _1 j$ Q, x0 s# M, [2 |7 Q; e
) ^- d4 c3 i/ e4 g$ A0 [; O" M$ L% c b; D$ b8 U+ S
问题分析9 u; L1 Z) p. l
根据附件1,定制一个量化的信贷风险;
. k7 i) c+ M6 b7 Y6 O% u为银行制定一个信贷策略; v& M8 e2 W4 m% e B- m1 G
有突发状况是,上面两个问题应该怎么重新规划?% s0 S) u6 e3 f5 L) S
三个问题,我们分别称之为问题一、问题二、问题三。
! c1 c( h/ T2 B! b
' m- }7 z& s; E% d& ?; C9 ?! L
% [0 j/ c$ s' ]; w" |: w5 L数据说明
b% k( Y2 E5 S) K附件1:sheet1:给出了企业的代号,企业有无违约的情况,信用等级
3 u0 x0 N I5 k: R7 B. [9 Ssheet2/3:给出了企业的大约 2 年的进/销 量的发票数据,6 `' V& d) o7 C* g
附件2:给出了企业的大约 2 年的进/销 量的发票数据。没有给是否违约、没有给信用等级1 x+ w+ e! [2 i. J
附件3:给出了银行的利率,以及相应利率下,不同信用等级的企业,不愿意贷款的概率(原作是比率,我感觉能用比率近似概率)/ i7 w# X' U% S7 x, L% g
3 U1 c6 c4 K7 ]! s" s
8 S* N6 |8 \, X( G5 Y- c3 L# Q问题一求解7 V5 o& j; }. l, z# U" W/ D
你们看,附件1 比 附件 2 多了什么?信用等级、以及有无违约记录。而问题二是要我们求附件二中的企业的信用风险的。所以,仔细一想,肯定是在暗示我们,1、用进/销 量数据,来评价企业的信贷风险。2、信贷风险的量化指标,需要建立在企业信用等级、是否违约两个变量上。3、设法建立进/销 量数据与信用等级、是否违约的关系。1 i: r9 \# P, g( L8 t* M
8 _9 B6 V1 r- x* _
7 p/ X" U1 X w4 u5 h9 S好了,第一步咱们清楚了,就是要建立信贷风险与信用等级、是否违约的联系咯~
3 e1 \4 R! b* @8 R6 }& u/ c/ M& O1 E! _
7 c8 Q7 J" _( n; d
我查阅了一些文献,虽然说得都很复杂,但概括来说,就是一句话,我银行借钱给你,你还的起吗?这就是信贷风险了(说得比较通俗了,有点对不起学金融的同学们)2 z5 ]" b) q% c# q' \% ]" O0 p& h
: }" S) V* u$ ~, U9 p0 U: m6 H4 N6 M' u s+ c5 [
于是,我将信贷风险定义为:企业违约(赖账不还)的概率。3 ? X2 K; ^7 N0 d$ y* A
H5 c" u% d# a
) K; J+ ]/ r* Z, H
而机器学习的知识告诉我们,分类模型除了能够自动判断个体的类别之外,还能够计算出个体,属于该类别的概率。于是,这不就是一个机器学习问题了吗?
7 G! X7 ]4 V2 F$ H% r/ h
+ o6 \9 V1 [( l# j/ q: c
6 U a# ~6 b* s$ v7 t这个问题就是:根据进/销 量数据,训练一个分类模型,然后将模型的输出,确切的说,概率输出,作为信贷风险,Over。
@4 F! Q6 a$ p3 ^: u( n8 Z1 Z
, @0 l; e1 J* z q4 v+ ?- a2 H$ | s. H2 m2 f
但是,进/出 量数据是时序性的呀,如果按照上面的思路,那肯定是要一个企业作为一个样本个体。可是…,这个样本个体也太奇怪了吧,是一个时序数据,哇,都能构成一个表格了。。。
9 \* P" U4 u5 L+ a* l4 Z! s4 L! i8 _. W
' P9 B+ q( p2 D( S: L按照上面的说法,这有点接近自然语言处理了,也就是一片文章,对应一个类别。这里是一张时序数据表,对应一个类别。天!麻烦!! ]; e0 D3 r: O$ |% r
- |9 Q1 n! N' S) p
1 W5 R8 N1 g: @! m有些大佬可能已经豁然开朗,用 NLP 来解决啊!!!
" G0 e& i3 C. e' k
1 L/ o0 o% K7 i( ^/ o& Y( ?2 l! i' ?$ H* \' }2 \
否也,这种跨越对我来说,有如天堑(虽然我是搞 NLP 的)1 h( O: x- [: l- s
: }3 P5 o2 X8 F( j# l
1 ]% r3 i0 Q1 [+ W3 O7 i0 }因此,我决定,转换一下我们的数据集。
( y# Q& j( l5 a
7 ] H# R$ ^2 s5 s9 {9 j9 M- y2 _: D% o7 o
数据处理/ Q' i) a$ C) p- Y. c8 ~) _2 L# a
首先,如果按照上面的思路,用机器学习模型的输出,作为信贷风险。那么就要让数据变得简单一点。: j3 Q- y' r2 I
6 L& o& ^3 T* t6 f1 f, v( y3 z) i1 Y
, y" I' N, ]: Q# p) i8 }1 }原始数据是这样的:多个企业,一个企业包含了大约 2 年的进/销数据,一个企业对应一个标签(是否违约)。
2 t' a% u. Q" _
: p+ \5 F' o% ^+ f* n! Q% y5 e# i1 W3 A. E, u1 G" ]
我们希望的数据是这样的:一个企业,对应一个向量(行列都行),并对应一个标签,这样才能用机器学习模型。
% f. ^, C$ U* |* ]7 ?* Y( c% a- I g `; v7 C
: E$ O1 T2 A. E+ P" i+ _! W) U; D因此,必须将时序数据弄掉!!!6 I# S' O! I: R h% h2 M
: }, g) Q9 @' K! s% l1 d `2 t
7 n/ R8 }9 p% z" d$ U9 {( V. K由于数据是按天给出的,首先,为了简化,我们以 30 天为单位,将数据合并!
5 X9 o; X7 z; e* s3 m1 @' P1 @$ t, Q
3 G: @: H/ e S2 ?0 I然后,用一条曲线(我用的是 9 次多项式),拟合时序数据。有了曲线之后,我们不就可以用函数的系数,来替换原始数据了么?. N" p1 n; s( Q; g
O: n( z. V# s
) t5 T0 i# ?& H. \2 }3 @6 L% f/ a
这样,一个企业的数据,就从对对应表格(时序数据表),转换为对应函数的系数(向量)了。
$ @1 V. u3 \, b
* d6 G# l! B. J# V! L& U5 L
- v, I) Z4 o5 K; z- ^$ L等一等,误差怎么办?用曲线拟合数据,肯定有误差的嘛。6 {1 j p- X" i4 ~. r
. D+ e: A8 B, _6 K0 |4 {4 [( N% P" V* l0 l1 n& C/ Y9 T
好,误差我们是用什么来度量的? 常用的有 R 方对吧。那就计算出 R 方,然后把 R 方也作为企业的数据之一,不就得了。" J9 D0 [6 j& _ l8 q+ O
. R+ C& F+ u/ G3 \5 g A4 ^' x3 Z- H4 \3 ^. i Q+ t5 r
可能有人犹豫了,可以吗?
" J, Z" L' m% L' c, T3 a9 W6 P; [8 s7 G
4 S$ a/ W: e2 s1 M9 p3 K2 U) {好,拟合的曲线可以一定程度代表企业进/销的基本规律,没问题吧?0 y' Z# k6 @* }" M: u* P2 a" ^* O
9 e0 b8 o) S$ p* U5 A
* r4 \) E3 j8 b) i* dR 方计算了误差。换个角度想,可以代表企业的进/销,偏离拟合曲线的程度,对吧?& I" t1 d! D7 F0 a
; E* m3 w5 O' h2 X- }
2 w1 X& q8 ?& v w' N) B! n0 E
这不就得了么?8 g; G% D1 r0 Q9 K% u( W3 T8 y) X
, V0 R% |' t& ?$ D: j5 C- ~7 w6 r
# v$ u( ~) ~1 `! e, c7 { j+ ^当然,误差是肯定会有的。但至少经过这样的计算,解决了我们的燃眉之急吧。为了方便讲解,我们将这个数据成为 一数据 吧。
, A5 E+ S3 x1 D7 Q$ v# f2 t" K7 z- U4 c9 h5 K& W
& I: A I8 b V7 b- f1 O$ }& u' M有人还会问,信用等级呢?我们不能忽视这个数据吧?da si ka ni。
" j' E; c( T$ |' h* P! s5 l, K! k% x6 f" r& _& }
~1 Y0 V! @, w$ b! J' B
且看我怎么处理,我们可以像 NLP 的 Word2Vec 那样。我们用一数据为输入、信用等级为输出,训练一个模型,然后用模型的参数,或者其他东西作为 二数据 不就得了么?
; r! ?' H# B" K' p
+ D; p+ H5 b% ~$ J+ D1 Z# j
( ]; A! K+ r0 K/ C之后再用 二数据 为输入,建立一个机器学习模型,用来计算企业是否违约的概率。 Case Close!4 s6 e( V8 n( I, x! N1 o
1 A4 E0 K7 A: l: T. K* s9 r( Y7 z2 v# a6 A4 `3 v
问题二 求解
1 a# U7 I d2 H4 |" n) |, M制定银行信贷策略是吧?
6 O7 ?9 h( t+ H! Z+ |# N4 t5 Y$ c) ?: k5 b. S
3 R: D) o! J2 [; P, b w8 U- E怎么制定?无非是利率、期限、额度咯~& x- S# I- U! P! @0 k1 v+ l2 K9 Z! i
, H/ o) `9 {- ?" a% E3 m" U
2 W/ \& \0 `" t6 ?! a9 h8 j期限我们不管,因为没依据。利率和额度紧密相连,都是钱的问题嘛。
7 g3 g- W* z4 ?$ \- y. l; U. |8 {' j1 o3 b! O
) O1 y* f8 Z* w) e! ?0 v0 d让我们想象银行是为了干什么的。商业银行肯定是为了赚钱啊,哈哈哈哈。
9 Y* j# t9 c/ R# ^: U0 t. ]6 t) ?2 M3 v" k4 I5 y# w* K
! G9 n9 m3 t6 f! z% J; z于是,问题转换为,求解一个优化问题,即选择合适的利率、额度,使得银行的利润最高。
$ D( b) x9 O1 Z* ?8 k, l. }* M& B+ F7 H/ j) B% m+ K4 x
S7 U" o* C# d5 P S% Sso easy?ok?5 Y' I( M* D- p; M2 `# c* p4 V
0 q. G! i# K* q' y2 _
- Z4 S6 S0 p; t5 n7 E
于是,最根本的问题,就要对银行的利润建模咯~~
9 F" S/ v+ y1 ]6 X% {# U2 v$ q% r+ Z5 ~7 u0 D1 y
5 o" j; K3 ~$ ?8 i
利润的期望 = (1+利率)^(时间) X(企业不违规的概率)X(企业愿意借钱的概率)7 ^. b ] d p1 P+ c
5 P+ o6 B8 A& Z7 B# z" j
7 O6 [0 W ~: }0 U' O( W. F9 V用期望近似利润,case close,say goodbye。
$ H5 l5 u d" ^/ j: V, N- d
% E1 H$ ]9 r- e( y
$ c; i- }* d9 [% ?6 t至于优化问题,加上题目约束后,就是一个约束优化问题了,怎么求解?方法实在太多了。我们训练机器学习模型,不就是求解一个优化问题吗?作为弄机器学习的,你不会连求解一个优化问题都不会吧?
7 m- Q5 A4 |- T x/ g- @
; ^0 }6 |8 n U4 ?; F2 ` x2 t& N5 q. b4 _' c: I
有的人会再次反驳:可我们这次求的是一个约束优化问题啊!
- H" U# P# ~9 F, ]& A- B T( E
+ v" z" f( J9 ?1 r6 Y2 l
0 A/ I( r& b4 c* {6 ^" `我会答:你用罚函数的方法,不就可以将约束优化问题,转化为无约束优化问题了吗?
9 k- X; W7 Y0 X2 _3 ?' h4 \: S* {" b& _( a% \, W- n
* B8 ^( l0 x. |6 c5 k/ O
问题三
* @1 F. V7 l: G5 Q/ N' Y突发状况会影响企业的运营状况,所以我们只要将 一数据 的 R 方微调一下,不就得了吗?????
) n# s1 g1 y! H- ?; l6 `; D! N- [
+ O- v. O- C H% N% C% t- O2 n有点简答吧?
0 l1 l$ O9 B; K, U# f+ I9 D0 f2 F& l3 U. ]3 H9 G7 n+ z# D- ]+ y, }
/ V+ o' Q5 _: N; z最终总结
) j; T7 Q+ B' L* KC 题,似乎是最简单的。但处理数据,比较麻烦,可能很多人卡在这里的吧。最难的一个点就是:如何将一个时序表,对应到一个标签的问题了吧。+ u. T, \% |9 H6 @7 f* \3 ~
. z, W* A0 T' N. q5 p/ |1 B0 e- m4 Z
好了,最后一次数学建模比赛了,大家江湖再见吧。' o8 F/ Z b, k. W6 ~3 u2 T
————————————————
9 Z$ p* j) @5 h. ?9 F5 F版权声明:本文为CSDN博主「zhuo木鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
. w* T, z' B- p" P2 t% `" L' }4 O原文链接:https://blog.csdn.net/weixin_42141390/article/details/108580140
, v5 F. k9 r) @3 m8 _" k; Z6 _' H1 k: o7 Q0 {9 `+ V& W
0 }" I+ n7 x" m" f' D: f( c
|
zan
|