- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564691 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174630
- 相册
- 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 Y1 v8 Q2 I' m& R$ M% y
) h3 z" f- |3 v2 J5 B% V7 N) v U; K
首先瞎逼逼一番,吐槽一下题目和比赛经历,对这部分不感兴趣的可以跳过:
1 @8 Q1 W3 W5 C$ \虽然我是周六下午才开始做的… 总的比赛时间不到两天,不过好在一个人,不怕拖队友。至于题目,我第一眼就喜欢上了 C 题。我想,恐怕很多人都喜欢 C 题吧,因为赛后做了一个总结,发现学校选择 C 题的,比选 B、A 题的加起来还要多。7 O/ I, B* `. \( a
" H+ w2 v$ [: Y1 d( m# [& x; c
! y& N0 `# c3 _1 C为什么选择 C 题呢?因为有数据处理…% T! L0 j( h. r3 ~6 Z/ x
# M- @: V1 W' ?5 J9 `( E+ I5 I9 x. s; s* x \
所以无论它多难,我都选它,哈哈哈。
/ h" T1 v3 s& F4 R9 I8 L+ p; q4 A
3 y' p4 \1 g+ z k
1 M: H( ]' W) ~5 i仔细看这一题,它与机器学习好像有区别啊。说起机器学习,我会想到:
( i! g0 g- b: }8 N Y- r* c G
% d# ]$ `/ X5 a2 N! n5 R% e( f4 X: N( T% U7 }
分类
, E7 F& l% S; u& x回归
. G: G& O+ o; m( ?+ k拟合
) q- c1 p0 ~ }! T; o9 z预测
2 i1 @; c" n0 G但是,这题… 好像不是一种,用数据拟合,然后再预测的问题啊(机器学习的通俗定义)* k% i* b* y% f2 x+ g, ]1 G
7 X7 A0 v; ~4 E! [1 g( O. e: f8 A8 C9 U
好吧,选都选了,只能硬着头皮上了。( H* ]3 y' m8 s4 X
) Y. w5 U- x" z0 P5 |/ K5 ]3 v/ A/ d" ^; d
问题分析
9 \8 n9 [2 t: ^0 W' {根据附件1,定制一个量化的信贷风险;/ r% a: S. b5 n9 f0 s1 C
为银行制定一个信贷策略3 R0 f+ d4 D4 X+ ?+ I
有突发状况是,上面两个问题应该怎么重新规划?2 y V6 p7 G; R5 J5 V
三个问题,我们分别称之为问题一、问题二、问题三。
; u1 I1 g6 o( t+ p; i! K& L7 O5 `9 @
, t, I9 t0 n, \. Q数据说明
/ |4 V2 }/ }# \# D" k* E0 X4 y附件1:sheet1:给出了企业的代号,企业有无违约的情况,信用等级
5 Y* B8 }* A% _, D* G5 C. Gsheet2/3:给出了企业的大约 2 年的进/销 量的发票数据,$ k6 J% N- w6 Q
附件2:给出了企业的大约 2 年的进/销 量的发票数据。没有给是否违约、没有给信用等级
# g" y' c9 ~% H附件3:给出了银行的利率,以及相应利率下,不同信用等级的企业,不愿意贷款的概率(原作是比率,我感觉能用比率近似概率)6 b6 K) c1 a" C' i+ A: I& d
7 Q8 F% o2 V+ b% b6 y6 G+ I% z: B
- S% A. a& j; N
问题一求解! i* `3 E$ b( S2 C$ V9 O1 }
你们看,附件1 比 附件 2 多了什么?信用等级、以及有无违约记录。而问题二是要我们求附件二中的企业的信用风险的。所以,仔细一想,肯定是在暗示我们,1、用进/销 量数据,来评价企业的信贷风险。2、信贷风险的量化指标,需要建立在企业信用等级、是否违约两个变量上。3、设法建立进/销 量数据与信用等级、是否违约的关系。$ D7 v- ~9 `5 J2 d% z
/ R" b- W$ `$ W# U0 y! ]- {# U1 K! W5 J* {4 S5 v4 w
好了,第一步咱们清楚了,就是要建立信贷风险与信用等级、是否违约的联系咯~
7 {5 A2 J5 Y, a. F" v7 u" Z
# q- P- v) ]: ? t" `" J# Y+ y: f; y ~/ j1 {$ a W
我查阅了一些文献,虽然说得都很复杂,但概括来说,就是一句话,我银行借钱给你,你还的起吗?这就是信贷风险了(说得比较通俗了,有点对不起学金融的同学们)
2 r) b6 k& v8 u8 z& o1 W* C+ U: h4 p9 `5 w! a
% ^! n r# o) B" l/ y
于是,我将信贷风险定义为:企业违约(赖账不还)的概率。
A; i" \+ ^% Z( Z& u$ Z4 K$ ~& d6 i% |: j
3 R% q; f! H$ f# u% ?/ ]9 L7 R而机器学习的知识告诉我们,分类模型除了能够自动判断个体的类别之外,还能够计算出个体,属于该类别的概率。于是,这不就是一个机器学习问题了吗?& g: D% l5 M+ d$ `9 s
- q9 x' x0 [" b- K$ n' q% m
1 P R4 @* _+ \这个问题就是:根据进/销 量数据,训练一个分类模型,然后将模型的输出,确切的说,概率输出,作为信贷风险,Over。
. d6 {! a: c' j0 x. \
. d) f7 _# A9 I+ }8 X
/ c4 Y3 l. O, `但是,进/出 量数据是时序性的呀,如果按照上面的思路,那肯定是要一个企业作为一个样本个体。可是…,这个样本个体也太奇怪了吧,是一个时序数据,哇,都能构成一个表格了。。。7 s6 j' ]/ Q8 ~- [8 `
# h! Y% t- _7 W
! N0 w" @1 F. ^4 R6 i$ n按照上面的说法,这有点接近自然语言处理了,也就是一片文章,对应一个类别。这里是一张时序数据表,对应一个类别。天!麻烦!
2 S( y# p6 y* J& H$ B& x* h
8 B* [& c+ {- \8 f4 k2 a; I' V7 F3 y* q7 a
有些大佬可能已经豁然开朗,用 NLP 来解决啊!!!1 G) F) Y' L3 ]* s
. K. J, c! p) G8 i9 ~. \/ C2 f$ {% s8 e) f# m$ ^1 L
否也,这种跨越对我来说,有如天堑(虽然我是搞 NLP 的)( a$ i6 @: A9 j, k6 Q7 Q
5 V. O$ @- L( i$ ^& q8 d5 [
0 t( D; @; p5 M: u7 V+ v* H因此,我决定,转换一下我们的数据集。
4 Q. O4 w( Q0 z7 o6 Z/ u) h6 ^3 T, q( [7 k
( D5 E& L" P! K/ k, m5 x数据处理) H" @# V% g' J% w" J
首先,如果按照上面的思路,用机器学习模型的输出,作为信贷风险。那么就要让数据变得简单一点。% z, A( s9 o4 Z8 q4 t
" D7 m' O" M( Z# q3 X
1 c# k5 k* Y- d+ G9 a1 |原始数据是这样的:多个企业,一个企业包含了大约 2 年的进/销数据,一个企业对应一个标签(是否违约)。- G* {+ V1 @, E# q( I0 F. V
, o/ A7 T# k8 [; W, l9 ~# G/ H. ]& L, {/ v
我们希望的数据是这样的:一个企业,对应一个向量(行列都行),并对应一个标签,这样才能用机器学习模型。
W4 Y5 X6 H9 B4 u$ f# `" x
& H/ i) x$ `+ F: q9 i5 D% V4 q' U1 [+ E! i6 @
因此,必须将时序数据弄掉!!!
* l9 s0 _& r) U& F9 ^, ^& A, e b& g, X
- K8 e% K, n: C5 ~由于数据是按天给出的,首先,为了简化,我们以 30 天为单位,将数据合并!
, B" {; r! V$ v! ~& J8 W. [
: ]' ]$ h: T# g6 h! q3 @
; Q; G' g9 r P. v B0 i然后,用一条曲线(我用的是 9 次多项式),拟合时序数据。有了曲线之后,我们不就可以用函数的系数,来替换原始数据了么?
+ C2 l' c4 N4 p/ y
) u! L5 C' m% [ i3 c
6 G: O" y q: L这样,一个企业的数据,就从对对应表格(时序数据表),转换为对应函数的系数(向量)了。! V) S# W0 T4 j! D. M
( R4 p% s' h4 c: Y4 M- t1 H, {3 I* _
等一等,误差怎么办?用曲线拟合数据,肯定有误差的嘛。
g1 \; s0 u2 Y. u# {3 B
" K6 u h0 Z: P3 G- w: n: W/ `) B. N9 l6 x. m( T
好,误差我们是用什么来度量的? 常用的有 R 方对吧。那就计算出 R 方,然后把 R 方也作为企业的数据之一,不就得了。
1 t3 H. E) T) {4 ]
0 H3 l% }) W' X0 c- [( u0 S7 X4 F9 U. V& }9 y4 r; ^
可能有人犹豫了,可以吗?
: ?5 y" T4 S; r% w
+ }: [8 W* z- L. g' n+ P- {0 `- [$ f% n7 M: F4 A& E( q j) Q
好,拟合的曲线可以一定程度代表企业进/销的基本规律,没问题吧?" w- r( h0 O% M& C! u
2 y2 r: w1 \! X" o
9 Y1 j1 b: W, i2 I2 NR 方计算了误差。换个角度想,可以代表企业的进/销,偏离拟合曲线的程度,对吧?
" p) H- O9 y4 p+ Z
+ A) |1 p% n8 Y8 |. `6 _/ h: g# J! [2 k/ ^. A L9 q/ u+ A
这不就得了么?
/ [9 N' o \% d- c" ?
, Y) j5 ^# @; S2 x8 o) N
- t$ a0 w8 [. c5 L7 N# S当然,误差是肯定会有的。但至少经过这样的计算,解决了我们的燃眉之急吧。为了方便讲解,我们将这个数据成为 一数据 吧。: v8 C" {- w V9 r9 n# g" c4 o
$ I/ E, r& ~" V2 I- R! |: O! p
1 z$ j9 H7 O; S! ]+ M有人还会问,信用等级呢?我们不能忽视这个数据吧?da si ka ni。, g9 E- I8 d( Y
' {) ^0 k4 Y/ b# y+ ~) @
% j7 p' U) V& A7 z" r9 \# e
且看我怎么处理,我们可以像 NLP 的 Word2Vec 那样。我们用一数据为输入、信用等级为输出,训练一个模型,然后用模型的参数,或者其他东西作为 二数据 不就得了么?) a/ u3 x ^, P: j# R+ |9 v
0 x' J& R, r3 z; w+ t) [4 G% a
; j- S4 Z7 m3 V" i! i0 H之后再用 二数据 为输入,建立一个机器学习模型,用来计算企业是否违约的概率。 Case Close!
0 y/ j' i6 q. i+ m* V- z% g. w" |8 R- @7 C+ Y
0 f0 e1 C5 v/ Z8 m' o% i. V问题二 求解
7 \: r. b1 [& W$ j6 r4 w制定银行信贷策略是吧?2 h6 G5 Y7 k& e* [% S* J
; t8 j- T1 H2 u
7 S! A2 }, ~. l7 W9 d+ N怎么制定?无非是利率、期限、额度咯~$ T6 r5 Z X6 H' r. J
3 V; U, H( l: N4 z
: \5 A) H9 z3 b; \2 q! V |期限我们不管,因为没依据。利率和额度紧密相连,都是钱的问题嘛。
# p M+ I5 R: t, L: P
8 Q$ c+ P3 N* V/ u' C3 I9 ]3 s8 K
9 Q9 L; ?* Z9 D9 F( k! F! ~6 w让我们想象银行是为了干什么的。商业银行肯定是为了赚钱啊,哈哈哈哈。3 o1 R3 [0 ~. C5 X9 ?7 v
# p) }" l: v8 h+ C; i
L5 d4 h4 {7 j" U& D. y于是,问题转换为,求解一个优化问题,即选择合适的利率、额度,使得银行的利润最高。
5 e' |/ B4 p( K( E6 f- E8 z( D2 t! q7 X7 @4 f& m: C9 E8 e2 l% n
P4 q6 o- K1 {7 Y: ?4 n7 W) j
so easy?ok?
3 T F# i+ P9 m/ t; }% U8 ?, j0 {/ P$ D# F
7 ~1 t2 U% p7 ^% M+ }6 }7 d: d* C# b于是,最根本的问题,就要对银行的利润建模咯~~- S& H# a8 p$ H% I
' k, k7 W- @" L0 X
: T/ r0 v! C' r0 ]/ M& A& d利润的期望 = (1+利率)^(时间) X(企业不违规的概率)X(企业愿意借钱的概率)/ k5 X; F. N. }6 k) e
! ?- V/ D9 N `( c& j; e" T3 n& I$ H1 h
用期望近似利润,case close,say goodbye。6 L2 Y7 e0 U @& s v$ v' G+ {
% r) d) ]1 D' B p# }
@8 `+ S3 h0 r' i# E至于优化问题,加上题目约束后,就是一个约束优化问题了,怎么求解?方法实在太多了。我们训练机器学习模型,不就是求解一个优化问题吗?作为弄机器学习的,你不会连求解一个优化问题都不会吧?+ b' L$ N- \" v/ k& m5 P
# u8 C6 i( O; w( h* j
& z/ ?+ s5 Y W- Y8 c+ z6 h有的人会再次反驳:可我们这次求的是一个约束优化问题啊!
; c* A' x, n* i5 ~# |0 G% o. [) O2 A o
% V1 M4 F. i5 f; h- B/ t) W+ H
我会答:你用罚函数的方法,不就可以将约束优化问题,转化为无约束优化问题了吗?9 G1 I1 j5 o/ f# T" _8 Y! E& _) h
$ Y0 N$ a- J" V4 a/ H6 f
# Q# {+ @" d$ ^0 n+ H( l问题三
+ ]. J3 a. Q# n* g0 \+ J: G突发状况会影响企业的运营状况,所以我们只要将 一数据 的 R 方微调一下,不就得了吗?????# `, J9 T% ]- {: j) G) G
" E5 {5 ?( e2 r2 M& G
4 w/ O2 v/ J( S! }# U有点简答吧?
4 k/ d; `) a5 u; L' v# U
8 {! r& E( a. W) E; G- b# O
7 ^$ c# a; f; y. u3 B) S最终总结' C, p; C i& P
C 题,似乎是最简单的。但处理数据,比较麻烦,可能很多人卡在这里的吧。最难的一个点就是:如何将一个时序表,对应到一个标签的问题了吧。
8 L ?4 \8 Z4 c! h$ @9 \: O( S5 ^& k2 `' y. ^* O/ C( S' D9 H: D, H
1 G% e/ O0 `& _0 Q& E好了,最后一次数学建模比赛了,大家江湖再见吧。+ j8 ?! T! O2 [+ Q
————————————————
$ o0 q7 h1 e" f& ]9 K版权声明:本文为CSDN博主「zhuo木鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
! t; l5 C' w! u3 a" [' t* Q9 }( q原文链接:https://blog.csdn.net/weixin_42141390/article/details/1085801401 @: z4 V; [0 B* X: Y$ u4 w) C
1 v6 g) d8 I* P
# _* D# b, c5 `" z7 D/ N
|
zan
|