- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563323 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174220
- 相册
- 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题总结7 a" m- }5 E9 h- f# @$ L5 C' `
, ^. E7 i$ W$ E" |- C% ?1 Q+ B
首先瞎逼逼一番,吐槽一下题目和比赛经历,对这部分不感兴趣的可以跳过:
) _! Q1 J0 I( R* A+ _( E3 [虽然我是周六下午才开始做的… 总的比赛时间不到两天,不过好在一个人,不怕拖队友。至于题目,我第一眼就喜欢上了 C 题。我想,恐怕很多人都喜欢 C 题吧,因为赛后做了一个总结,发现学校选择 C 题的,比选 B、A 题的加起来还要多。; j1 ^& _* T* N
& c. A, M* i% L; m: n2 \/ o! M* v6 B% l- {4 U& d
为什么选择 C 题呢?因为有数据处理…
" }+ ?2 T* E, j# M7 e2 k3 j% N) s4 D4 B% y1 C
5 q ]/ k8 Y6 ?+ z& {所以无论它多难,我都选它,哈哈哈。
3 e& r# U8 M% ~8 V( ?) ^
7 Y4 |' E+ j5 `0 e# c" ]( y
- |; ]' R( q: ?: a/ [仔细看这一题,它与机器学习好像有区别啊。说起机器学习,我会想到:
: o' B) }! |; E* Z4 p- _3 o2 o. _4 k( }! i5 S
$ A6 A5 o8 K$ X Y0 K) X, ~分类
b3 h* M, L; Y- P" c回归
* Q7 K8 N9 a) U: A# ^- g拟合6 Y8 s( m) j& Q! |! P5 x Q( H0 g
预测/ F& A( C, o: G0 s" I2 b1 X2 G
但是,这题… 好像不是一种,用数据拟合,然后再预测的问题啊(机器学习的通俗定义)' J1 {1 x6 c8 U/ l, |
) w. M* [( R+ O: y$ x; ~9 x( N% W
) w+ m$ u* M" b) v好吧,选都选了,只能硬着头皮上了。
; l B* f# S$ Z7 {! m- b6 ^8 S0 I% e/ U' _
8 j9 n* Z' k ?+ [3 R% l( b' V: m
问题分析
T) u; Y% ^0 A* _+ M根据附件1,定制一个量化的信贷风险;& H1 o6 F, V6 I3 u, ?, Y: B
为银行制定一个信贷策略 N1 g. S0 E8 `
有突发状况是,上面两个问题应该怎么重新规划?7 p3 |8 }# V$ P' A
三个问题,我们分别称之为问题一、问题二、问题三。; {. B+ m0 m5 m- W
) G u+ c1 ~ _
- P9 }7 n1 v5 g/ ^3 o9 f数据说明7 J% H, t u- [$ H3 T
附件1:sheet1:给出了企业的代号,企业有无违约的情况,信用等级. ~* z. K4 S. m! W% ~+ F
sheet2/3:给出了企业的大约 2 年的进/销 量的发票数据,
5 P1 U& T4 \/ ]6 V6 e) L5 ^1 {附件2:给出了企业的大约 2 年的进/销 量的发票数据。没有给是否违约、没有给信用等级) k" b2 r H3 }9 h3 z" }0 f6 a) m
附件3:给出了银行的利率,以及相应利率下,不同信用等级的企业,不愿意贷款的概率(原作是比率,我感觉能用比率近似概率)5 x8 U- P; S1 S4 [7 W+ r
) J' j' p# a5 ]/ @! ^
& k$ w4 W4 H3 @: G( Z问题一求解. g0 `* c4 ^# ?" ?, z k
你们看,附件1 比 附件 2 多了什么?信用等级、以及有无违约记录。而问题二是要我们求附件二中的企业的信用风险的。所以,仔细一想,肯定是在暗示我们,1、用进/销 量数据,来评价企业的信贷风险。2、信贷风险的量化指标,需要建立在企业信用等级、是否违约两个变量上。3、设法建立进/销 量数据与信用等级、是否违约的关系。
/ }. ~- D" e+ ^* r4 H. m6 X' h4 D4 Z8 ~! v: T# I
+ v& o# W" C& q" q. C( A+ H. ?4 z好了,第一步咱们清楚了,就是要建立信贷风险与信用等级、是否违约的联系咯~
6 r9 t) A; e% l9 O; J) p) C; G
4 W' _0 R3 ?" G9 e! g$ s4 g
~8 ]5 q% V& g& P3 H4 ]我查阅了一些文献,虽然说得都很复杂,但概括来说,就是一句话,我银行借钱给你,你还的起吗?这就是信贷风险了(说得比较通俗了,有点对不起学金融的同学们)* R6 R6 G5 u. t8 C1 w, L9 O
; n( c# A! Z' D6 \3 [7 h
j1 b1 Q) P2 c1 P$ d2 c于是,我将信贷风险定义为:企业违约(赖账不还)的概率。
1 X) `/ Z* q% C) M6 |0 T: o/ a7 s! ? O* N1 K
6 x# ]) c. I. D0 Q- D而机器学习的知识告诉我们,分类模型除了能够自动判断个体的类别之外,还能够计算出个体,属于该类别的概率。于是,这不就是一个机器学习问题了吗?
+ {' q+ K# G8 r' Y2 \ d- V& Q. D/ Y1 m! Y( t6 ^9 R Q! I! |3 T
; \' @4 L' J, g* {3 n
这个问题就是:根据进/销 量数据,训练一个分类模型,然后将模型的输出,确切的说,概率输出,作为信贷风险,Over。 q/ v' T- L [& o! ^" x" M' a" _
) M8 _( B5 X, k1 [
5 M% c- t# u* Y! G( P; }& \但是,进/出 量数据是时序性的呀,如果按照上面的思路,那肯定是要一个企业作为一个样本个体。可是…,这个样本个体也太奇怪了吧,是一个时序数据,哇,都能构成一个表格了。。。/ c7 w* t( g7 d# B
4 w& u2 C! a' K
. F7 p* s- M' `2 ~7 ^' ^; H按照上面的说法,这有点接近自然语言处理了,也就是一片文章,对应一个类别。这里是一张时序数据表,对应一个类别。天!麻烦!
5 W- A, S+ g$ f9 L; y9 k, x. T" {9 @+ h3 F: A4 H0 B9 c: A
3 W5 [) a" h4 X/ K: M有些大佬可能已经豁然开朗,用 NLP 来解决啊!!!
) x0 _3 y) C; W: ^+ [ a2 m9 |& Q! E2 A& }# H
4 X( f6 s7 B: J7 i否也,这种跨越对我来说,有如天堑(虽然我是搞 NLP 的)1 a! M" Z, \6 Q" l$ D$ U" s
0 R! u( d/ c8 Y$ n3 {( g3 y0 \! J
7 [" \; R+ G/ I2 O! u5 \- U+ ~3 J
因此,我决定,转换一下我们的数据集。
) M+ h# `5 c) {
: j/ W: x6 g* y- J" Q4 h# X9 s; C
数据处理
( H1 x5 y; H2 w/ V首先,如果按照上面的思路,用机器学习模型的输出,作为信贷风险。那么就要让数据变得简单一点。
+ t- I. r) g) _$ A+ B; f. r9 d8 Q7 l- B- t o& d
: Y: p2 V; K( K7 w7 S1 i原始数据是这样的:多个企业,一个企业包含了大约 2 年的进/销数据,一个企业对应一个标签(是否违约)。* @5 j2 V( _# c$ h% A4 Y" p
- w0 X9 V0 h T! H
# `( A: O. H+ t% L# C$ s# L5 B) z& }我们希望的数据是这样的:一个企业,对应一个向量(行列都行),并对应一个标签,这样才能用机器学习模型。- y! E& V" }* I* S; I; x
2 P; g1 y6 S3 i; t- s4 n+ i, o3 i. c, m/ b3 s: {
因此,必须将时序数据弄掉!!!. Q! X8 ?$ I# x, h( ^2 w3 C; u# k
% V; w7 P- x3 m1 d! F0 Y
, c/ j4 _% C* ~6 I5 y) l由于数据是按天给出的,首先,为了简化,我们以 30 天为单位,将数据合并!
, n( a4 u( ?7 ^" O! q$ q# I& _/ a- Y. y
+ L3 Y! S% `# }2 M8 O5 F然后,用一条曲线(我用的是 9 次多项式),拟合时序数据。有了曲线之后,我们不就可以用函数的系数,来替换原始数据了么?
! R: l, _, u# p. f; D2 q4 H7 h. L4 m& _/ _$ P% i+ Z W' u+ o
; d, v2 i, n5 x9 ]
这样,一个企业的数据,就从对对应表格(时序数据表),转换为对应函数的系数(向量)了。" \8 O) L! K5 t( @
1 R5 k& @+ Z. r# l6 h) G
+ D \2 v/ |* D! j; ]* P& k等一等,误差怎么办?用曲线拟合数据,肯定有误差的嘛。: g g& X1 q1 A& c7 t4 L* Y9 {
: g% j# }, v9 [' Y9 `" b1 i* Z
; F2 V0 I: q1 r! v0 x9 p7 m7 J4 p7 b好,误差我们是用什么来度量的? 常用的有 R 方对吧。那就计算出 R 方,然后把 R 方也作为企业的数据之一,不就得了。
. \; a5 d& _8 R& z# C
3 U0 B! c( J4 R- {! R) G. L
1 f" d& O% F( L0 ~7 ]$ r可能有人犹豫了,可以吗?- u) e$ x8 Z1 ~( L+ B+ X8 v
3 k% f0 a/ l. y/ i
. I' R5 }# U! d- } S" H3 P2 {4 h好,拟合的曲线可以一定程度代表企业进/销的基本规律,没问题吧?2 `5 }8 I F- I, {5 I: j
0 E$ |5 C- a: f K6 i. E3 q, d, Q7 {( A6 f
R 方计算了误差。换个角度想,可以代表企业的进/销,偏离拟合曲线的程度,对吧?
! `& U$ t' q& b. S6 d/ n3 w; T0 }/ e L* f) Y' O0 W- [
5 l$ v, g! ?- O U- p
这不就得了么?
2 h7 N, E0 o3 u" d& K7 w4 f# M2 r6 p8 ^' Z
6 o# C8 j( h+ Z5 q7 e9 ~当然,误差是肯定会有的。但至少经过这样的计算,解决了我们的燃眉之急吧。为了方便讲解,我们将这个数据成为 一数据 吧。; C2 b# \0 |) g0 F: P. z3 ^
3 r2 E( Y1 ~, \# Q
" o$ [% I4 s# r ~# r A9 ~5 {有人还会问,信用等级呢?我们不能忽视这个数据吧?da si ka ni。
: A8 f* J1 D! [7 L: {" J
! E7 p: Q$ p! ~! F" r* T) S& G% c: z( C5 S4 w4 W
且看我怎么处理,我们可以像 NLP 的 Word2Vec 那样。我们用一数据为输入、信用等级为输出,训练一个模型,然后用模型的参数,或者其他东西作为 二数据 不就得了么?
# U" X# U O' G$ }% b# V$ t* L& ], ^- X
4 N. l4 r, Y7 {; {之后再用 二数据 为输入,建立一个机器学习模型,用来计算企业是否违约的概率。 Case Close!
, D1 W. E4 } {6 ^4 _% S* y9 L+ v( ~: Q8 W' ~
' X# [4 v: ^- N I# H: @ a! q
问题二 求解- [( [: a3 }2 Y( K
制定银行信贷策略是吧?
' @& R- f9 Y4 A& E0 P" D
2 T9 B; `! ^& Y5 Y' X. y3 _5 }# e$ o9 Q3 l" I" x, W
怎么制定?无非是利率、期限、额度咯~
" k2 [' u" a) g8 ~( V+ S4 _: T3 ~' r. d5 W: U6 q' I. K2 j
0 J% |3 z7 M# D) i
期限我们不管,因为没依据。利率和额度紧密相连,都是钱的问题嘛。
1 Q1 c, [! w) t7 I8 x9 u$ Z
( M- f2 P$ Q: K0 m9 R' |5 u# b( t1 v
l* g% j$ B( Q. |( L+ E* x让我们想象银行是为了干什么的。商业银行肯定是为了赚钱啊,哈哈哈哈。; c+ t& A5 Q b" }- \8 @0 c
8 p$ f- _) y D% Z0 g
[' g* Z" s, C3 q6 Y于是,问题转换为,求解一个优化问题,即选择合适的利率、额度,使得银行的利润最高。
2 e2 i! F. c" \+ A) g. t# o3 p9 e3 e
+ \, v$ R% H$ Bso easy?ok?
5 o8 n' q! D; `% w+ o* C9 `: |
& q" ?3 o5 y! ^/ ^% J" l g$ U& F7 P+ P Z+ ^ q
于是,最根本的问题,就要对银行的利润建模咯~~6 I9 q) y4 h$ [3 z( a$ R) x
: F- }* P c# C" W. y% s) i; \/ g2 _6 U6 G" T) N: P8 {% t
利润的期望 = (1+利率)^(时间) X(企业不违规的概率)X(企业愿意借钱的概率)
9 L0 V* j& N6 f' U2 `0 {" T% H! _8 l! k+ G' n: U
/ m7 v4 R- C6 `. G2 M9 T
用期望近似利润,case close,say goodbye。' A% g7 B' a5 y. |0 g/ b/ g
9 T. s% @4 u8 \, D$ S* ~+ t, n* @" K9 f, ?8 e' v
至于优化问题,加上题目约束后,就是一个约束优化问题了,怎么求解?方法实在太多了。我们训练机器学习模型,不就是求解一个优化问题吗?作为弄机器学习的,你不会连求解一个优化问题都不会吧?# N( h2 e2 t* W) c
( U9 Q9 n, j7 m1 x: B5 x! r2 m
: r, a( p2 X; c% m ?有的人会再次反驳:可我们这次求的是一个约束优化问题啊!
& {* |2 a, `: g
6 @" y: q; Q3 x8 c0 Y% E7 X3 H8 z4 m5 X& A# }
我会答:你用罚函数的方法,不就可以将约束优化问题,转化为无约束优化问题了吗?
+ L% A, C; u, o b) V4 ~
& Q% l. d, M: H0 Y# J9 o
8 E* \4 o: }7 l问题三# x2 i& a6 T5 L5 `( s% ]* j
突发状况会影响企业的运营状况,所以我们只要将 一数据 的 R 方微调一下,不就得了吗?????4 o. T$ ]8 L; B: y! X2 L% `& v
$ X& y0 s* A9 J+ |: Z
4 }* i. V B2 I有点简答吧?5 p; M/ T! f7 O' K' K
0 n2 [4 k8 [, g7 S1 ~
, F7 Q" b s8 R T' f1 C9 x( R最终总结2 @9 j! B# Q# n8 ~+ I/ x
C 题,似乎是最简单的。但处理数据,比较麻烦,可能很多人卡在这里的吧。最难的一个点就是:如何将一个时序表,对应到一个标签的问题了吧。
" q3 w1 l' k$ o$ [! w! A) A9 }! y8 [; c+ n9 d( J
0 F' D2 i0 k6 y
好了,最后一次数学建模比赛了,大家江湖再见吧。( f$ W! D5 p H/ {1 e
————————————————
3 Y3 e9 q) z) \7 q# K版权声明:本文为CSDN博主「zhuo木鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。2 S: M; N4 i; c# E* P
原文链接:https://blog.csdn.net/weixin_42141390/article/details/108580140) O/ C! x; F; k. l4 f
# ?& u7 B. ~" }; ^* Q6 s& I) \/ O+ e' B. G3 }/ L' d/ W% r, T, Q5 @+ O
|
zan
|