数据挖掘#金融风控总结

作为本科某财经211出身的一只程序媛,大学期间的两份实习都是在金融科技公司做金融风控方向的数据分析与挖掘。一年多后的今天,借着知识梳理的机会,稍微总结回忆下接触到的金融风控知识。

第一份实习A是在大三结束出国交换之前,在某全国唯一持有金融牌照的中小银行金融科技服务公司的大数据风控部门做实习生,公司主要为中小银行提供集核心业务系统、互联网金融系统、外联业务平台、大数据服务及运营、风控支持等全方位的信息科技解决方案以及培训、咨询、合作创新等多元服务。

第二份实习B是大四结束交换毕业前,在成都某金融科技公司的反欺诈部门做实习生。公司主要为银行等金融机构解决在零售转型中遇到的的“客户如何获取”、“风险如何管理”、“运营如何保证”、“系统如何支撑”等问题,覆盖贷前、贷中、贷后全生命周期管理。

传统金融借贷业务贷前流程:

用户前来申请借贷,会先经过欺诈识别,把欺诈团伙和主观欺诈的个人拒绝掉,然后对通过的人做信用评估,最后根据额度模型,算出利润最大化时放款金额。

很巧的是,通过B、A两个公司的实习,正好涵盖了贷前流程中的欺诈识别与信用评估。

B欺诈识别

知识图谱方向

关联图谱分析的方法有很多,主要分为两大类:

一类是对网络特征的直接提取,提取出中心度或一度二度关联特征可供上层规则系统或风险评估模型使用。

反欺诈对于实时决策的需求很高,这些指标都需要实时提取。其中一些指标,比如二度关联度(second order degree), 在一般的情况下计算复杂度是很高的。在动态图的情形下,一般会采取一些近似的算法并进行预计算。这里解释一下二度关联。比如在网贷申请中,第一度是联系人,则与目标申请共享相同联系人的申请数目是一度关联数,如果这些申请还和另外一些申请共享相同的住址,这些申请就和目标申请形成了二度关联。

一些简单的指标,比如一度关联节点或二度关联节点是否触黑,在实际的反欺诈实践中效果是非常显著的。

第二类是对网络信息的深度挖掘。深度挖掘通常始于对连通子图的计算,对于社交属性较弱的金融应用,较大的连通子图可能对欺诈网络有揭示作用。在此基础上,还可以进行进一步展开社区的发现(Community Detection)。这里面社区的发现不等同于连通子图,汇聚性是一个更严格的指标。除此之外,通过欺诈比例传播,或者说染色,将已知的欺诈标注扩散开来,从而获得更多的欺诈标注,也是关联图谱的一个重要应用。

标签传播算法

· 标签传播算法

标签传播算法是一种基于图的半监督学习方法,其基本思路是用已标记节点的标签信息去预测未标记节点的标签信息。

利用样本间的关系建立关系完全图模型,在完全图中,节点包括已标注和未标注数据,其边表示两个节点的相似度,节点的标签按相似度传递给其他节点。标签数据就像是一个源头,可以对无标签数据进行标注,节点的相似度越大,标签越容易传播。该算法简单易实现,算法执行时间短,复杂度低且分类效果好,且具有良好的可解释性。

· 标签传播算法在反欺诈中的应用

通过对调查认定的欺诈客户进行标记,利用标签传播算法,用已标记的“坏”节点信息去预测未标记节点的欺诈风险程度,用边来表示两个节点的相似度,节点的风险程度按照相似度传递给其他节点,风险程度通过图的颜色进行可视化展示。

比如,有三个人 : 小明、小红、小王,他们是好朋友,现在已知小明是个欠钱不还的人,小红也是个欠钱不还的人,那么做为他们的朋友小王,欠钱不还的机率相对一般人,大一些。这和俗话中说的“近朱者赤近墨者黑”是相同的道理。

PageRank算法

· PageRank算法

PageRank,简称PR,是由Google研发的主要应用于评估网站可靠度和重要性、对网页进行排名的一种算法,是对网页排名进行考量的指标之一。

PageRank算法主要是基于两个假设:一是入链数量假设(一个网页的入链数量越多,那么它的重要程度就越高);二是入链质量假设(高质量的网页将为它的链接页面带去更多权重)。基于这两个假设,PageRank算法为每个页面设置一个初始权重值,根据网页间的链接关系,经过多次迭代后,各个页面的权重值达到稳定。通常认为权重值高的节点是比较可靠的网页。

· PageRank算法在反欺诈中的应用

PageRank算法是用PageRank值来标识复杂关系网络中节点重要性的一种方法。在初始阶段,将关系网络中所有节点设置相同的PageRank值,依网络节点相对应的概率转移矩阵不断更新节点的PageRank值,直到节点的PageRank值趋于稳定,得到每个节点的最终PageRank值。基于反欺诈数据背景,依据机器学习建模经验将复杂关系网络中每个节点的最终PageRank值进行高、中、低段分类,寻找高分段的可疑欺诈人群。

这个就是权重越大,风险越大,权重是什么?即认识的人有多少,与他人的联系有多少,重不重要。通俗点讲就是活跃的人群中的坏人比不活跃的人群中的坏人多,可能好人一般是比较低调的吧。

社团发现算法

· 社团发现算法

社团发现算法可以借助网络的各种统计指标来挖掘网络中内部关系紧密的社团。社团发现主要基于GN、SLPA、Newman等社团发现算法对复杂关系网络中的可疑欺诈团伙进行聚类挖掘。

· 社团发现算法在反欺诈中的应用

以GN算法为例,计算初始复杂关系网络中的边介数(所有节点之间的最短路径中经过该边的最短路径数)及Q值(模块度:常用的一种衡量网络社区划分质量的方法),去除边介数最高的边,重新计算当前网络的Q值,若Q值比原来的大,则将现在的Q值和网络分割情况进行更新,否则,进行下一次网络分割,重复直至网络分割完毕。分割后的每个社区中的节点相似度较高,通过寻找欺诈节点在分割后的社区中的分布,挖掘相似度较高的其他可疑欺诈人群。

比如,你发现你们小区里有两伙人,一伙人每天去跳广场舞,另一伙人每天神神秘秘的上课。这俩伙人要去银行借钱。跳广场舞的这伙人里,借钱的都还了,那么这伙人里还没有借钱的人,一旦借钱,还钱的机率就大;上课的一伙人里,借钱的人都没还,那么,还没有借钱的人,一旦借钱,不还钱的机率就大。

在实习过程中,我采用的是机器学习算法结合图算法的一点点知识建模。利用图算法的知识构建了大部分特征工程,用金融风控中比较好用的LR XGBoost识别欺诈(0、1分类问题)

以下是建模过程中涉及的一些trick

1.networks 构建图网络

networkx在2002年5月产生,是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析、仿真建模等工作。

networkx支持创建简单无向图、有向图和多重图;内置许多标准的图论算法,节点可为任意数据;支持任意的边值维度,功能丰富,简单易用。

利用networkx可以以标准化和非标准化的数据格式存储网络、生成多种随机网络和经典网络、分析网络结构、建立网络模型、设计新的网络算法、进行网络绘制等。

Graph是用点和线来刻画离散事物集合中的每对事物间以某种方式相联系的数学模型。

网络作为图的一个重要领域,包含的概念与定义更多,如有向图网络(Directed Graphs and Networks)、无向图网络(Undirected)等概念。

Graph在现实世界中随处可见,如交通运输图、旅游图、流程图等。此处我们只考虑由点和线所组成的图。

利用图可以描述现实生活中的许多事物,如用点可以表示交叉口,点之间的连线表示路径,这样就可以轻而易举的描绘出一个交通运输网络。

根据Graph的定义,一个Graph包含一个节点集合和一个边集。

在NetworkX中,一个节点可以是任意hash对象(除了None对象),一条边也可以关联任意的对象,像一个文本字符串,一幅图像,一个XML对象,甚至是另一个图或任意定制的节点对象。

注意:Python中的None对象是不可以作为节点的类型的。

节点与边能够存储任意类型字典的属性和任意其他丰富类型的数据。

  • Graph:指无向图(undirected Graph),即忽略了两节点间边的方向。
  • DiGraph:指有向图(directed Graph),即考虑了边的有向性。
  • MultiGraph:指多重无向图,即两个结点之间的边数多于一条,又允许顶点通过同一条边和自己关联。
  • MultiDiGraph:多重图的有向版本。

https://www.cnblogs.com/minglex/p/9205160.html

2.图网络各项特征(可以继续同networkx构建)

pagerank

https://www.cnblogs.com/jpcflyer/p/11180263.html

Authority&Hub

Authority页面是指与某个领域或者某个话题相关的高质量页面,Hub页面则是包含很多指向高质量Authority页面链接的网页,比如,hao123首页就是一个典型的高质量Hub页。

度中心性

一个节点的节点度越大就意味着这个节点的度中心性越高,该节点在网络中就越重要。

3.deepwalk 网络图中每个点的编码特征

使用机器学习的算法解决问题需要有大量的信息,但是现实世界中的网络中的信息往往比较少,这就导致传统机器学习算法不能在网络中广泛使用。(Ps: 传统机器学习分类问题是学习一种假设,将样本的属性映射到样本的类标签,但是现实网络中的结点属性信息往往比较少,所以传统机器学习方法不适用与网络。)

deepWalk是网络表征学习的比较基本的算法,用于学习网络中顶点的向量表示(即学习图的结构特征即属性,并且属性个数为向量的维数),使得能够应用传统机器学习算法解决相关的问题。

  • innovation:

    借助语言建模word2vec中的一个模型,skip-gram来学习结点的向量表示。将网络中的结点模拟为语言模型中的单词,而结点的序列(可由随机游走得到)模拟为语言中的句子,作为skip-gram的输入。

  • feasibility:

    以上假设的可行性证明,当图中结点的度遵循幂律分布通俗讲即度数大的节点比较少,度数小的节点比较多)时,短随机游走中顶点出现的频率也将遵循幂律分布(即出现频率低的结点多),又因为自然语言中单词出现的频率遵循类似的分布,因此以上假设可行。(Ps: 为证明有效性,作者针对YouTube的社交网络与Wikipedia的文章进行了研究,比较了在短的随机游走中节点出现的频度与文章中单词的频度进行了比较,可以得出二者基本上类似。(幂率分布))

  • process:

    随机游走+skip-gram 语言模型

    通过随机游走得到短的结点序列,通过skip-gram更新结点向量表示。

  • Random Walk

    Random Walk从截断的随机游走序列中得到网络的局部信息,并以此来学习结点的向量表示。

    deepwalk中的实现是完全随机的,根据Random Walk的不同,后面又衍生出了node2vec算法,解决了deepwalk定义的结点相似度不能很好反映原网络结构的问题。

  • skip-gram 语言模型

    skip-gram 是使用单词来预测上下文的一个模型,通过最大化窗口内单词之间的共现概率来学习向量表示,在这里扩展之后便是使用结点来预测上下文,并且不考虑句子中结点出现的顺序,具有相同上下文的结点的表示相似。(Ps:两个node同时出现在一个序列中的频率越高,两个node的相似度越高。)

    结点相似性度量: 上下文的相似程度(LINE中的二阶相似度)

    共现概率根据独立性假设可以转化为各条件概率之积即

    对序列中的每个顶点,计算条件概率,即该结点出现的情况下序列中其他结点出现的概率的log值并借助随机梯度下降算法更新该结点的向量表示。

    Φ(vj)为当前结点的向量表示。Hierarchical Softmax用于分解并加快计算第三行的条件概率。

4.sklearn——CountVectorizer 文本特征提取

CountVectorizer是属于常见的特征数值计算类,是一个文本特征提取方法。对于每一个训练文本,它只考虑每种词汇在该训练文本中出现的频率。

CountVectorizer会将文本中的词语转换为词频矩阵,它通过fit_transform函数计算各个词语出现的次数。

https://blog.csdn.net/pit3369/article/details/95643392

5.样本不平衡

在现实收集的样本中,正负类别不均衡是现实数据中很常见的问题。一个分类器往往 Accuracy 将近90%,但是对少数样本的判别的 Recall 却只有10%左右。这对于我们正确找出少数类样本非常不利。

举例来说:在一波新手推荐的活动中,预测用户是否会注册的背景下,不注册的用户往往是居多的,这个正负比例通常回事1:99甚至更大。一般而言,正负样本比例超过1:3,分类器就已经会倾向于负样本的判断(表现在负样本Recall过高,而正样本 Recall 低,而整体的 Accuracy依然会有很好的表现)。在这种情况下,我们可以说这个分类器是失败的,因为它没法实现我们对正类人群的定位。

https://zhuanlan.zhihu.com/p/28850865

A信用评估

业界常说的有A卡、B卡、C卡,A卡就是申请评分卡。在你申请的时候就会站出来,决定放不放款,B卡,也就是贷中行为评分卡,监控你的信用状况,决定给不给你提额度,或者中不中断你的贷款,C卡就是贷后评分卡,一般有三种:账龄迁移模型、还款率模型和失联预警模型。 
账龄迁移:就是预测你的逾期状况会不会从M1迁移到M2 
失联预警模型:对于银行和贷款公司来讲,有时不怕你不还钱,如果逾期了还能对你进行罚息等方式再赚一笔,更怕的反而客户失联,彻底消失,所以就需要建立失联预警,看一看你未来有没有可能失联。 
还款率模型:注意这个模型不是为了预测你还不还钱,而是预测未来经过催收动作后,还款的概率。毕竟贷后催收,是需要人力、物力成本的,如果一个人简单催一催,例如发个短信,打个电话就还了,何必动用戴金链子的老铁们上门,出于平衡成本的需要,制定不同的催收套路,这个模型就可以起作用了。

数据来源主要是 运营商数据、埋点数据、线上数据、征信数据、线下提供数据等等。

传统金融的风控主要利用了信用属性强大的金融数据,一般采用20个纬度左右的数据,利用评分来识别客户的还款能力和还款意愿。信用相关程度强的数据纬度为十个左右,包含年龄、职业、收入、学历、工作单位、借贷情况、房产,汽车、单位、还贷记录等,金融企业参考用户提交的数据进行打分,最后得到申请人的信用评分,依据评分来决定是否贷款以及贷款额度。其他同信用相关的数据还有区域、产品、理财方式、行业、缴款方式、缴款记录、金额、时间、频率等。

互联网金融的大数据风控并不是完全改变传统风控,实际是丰富传统风控的数据纬度。互联网风控中,首先还是利用信用属性强的金融数据,判断借款人的还款能力和还款意愿,然后在利用信用属性较弱的行为数据进行补充,一般是利用数据的关联分析来判断借款人的信用情况,借助数据模型来揭示某些行为特征和信用风险之间的关系。

互联网金融公司利用大数据进行风控时,都是利用多维度数据来识别借款人风险。同信用相关的数据越多地被用于借款人风险评估,借款人的信用风险就被揭示的更充分,信用评分就会更加客观,接近借款人实际风险。常用的互联网金融大数据风控方式有以下几种:

1验证借款人身份

验证借款人身份的五因素认证是姓名、手机号、身份证号、银行卡号、家庭地址。企业可以借助国政通的数据来验证姓名、身份证号,借助银联数据来验证银行卡号和姓名,利用运营商数据来验证手机号、姓名、身份证号、家庭住址。

如果借款人是欺诈用户,这五个信息都可以买到。这个时候就需要进行人脸识别了,人脸识别等原理是调用国政通/公安局API接口,将申请人实时拍摄的照片/视频同客户预留在公安的身份证进行识别,通过人脸识别技术验证申请人是否是借款人本人。

其他的验证客户的方式包括让客户出示其他银行的信用卡及刷卡记录,或者验证客户的学历证书和身份认证。

2分析提交的信息来识别欺诈

大部分的贷款申请都从线下移到了线上,特别是在互联网金融领域,消费贷和学生贷都是以线上申请为主的。

线上申请时,申请人会按照贷款公司的要求填写多维度信息例如户籍地址,居住地址,工作单位,单位电话,单位名称等。如果是欺诈用户,其填写的信息往往会出现一些规律,企业可根据异常填写记录来识别欺诈。例如填写不同城市居住小区名字相同、填写的不同城市,不同单位的电话相同、不同单位的地址街道相同、单位名称相同、甚至居住的楼层和号码都相同。还有一些填写假的小区、地址和单位名称以及电话等。

如果企业发现一些重复的信息和电话号码,申请人欺诈的可能性就会很高。

3分析客户线上申请行为来识别欺诈

欺诈用户往往事先准备好用户基本信息,在申请过程中,快速进行填写,批量作业,在多家网站进行申请,通过提高申请量来获得更多的贷款。

企业可以借助于SDK或JS来采集申请人在各个环节的行为,计算客户阅读条款的时间,填写信息的时间,申请贷款的时间等,如果这些申请时间大大小于正常

客户申请时间,例如填写地址信息小于2秒,阅读条款少于3秒钟,申请贷款低于20秒等。用户申请的时间也很关键,一般晚上11点以后申请贷款的申请人,欺诈比例和违约比例较高。

这些异常申请行为可能揭示申请人具有欺诈倾向,企业可以结合其他的信息来判断客户是否为欺诈用户。

4利用黑名单和灰名单识别风险

互联网金融公司面临的主要风险为恶意欺诈,70%左右的信贷损失来源于申请人的恶意欺诈。客户逾期或者违约贷款中至少有30%左右可以收回,另外的一些可以通过催收公司进行催收,M2逾期的回收率在20%左右。

市场上有近百家的公司从事个人征信相关工作,其主要的商业模式是反欺诈识别,灰名单识别,以及客户征信评分。反欺诈识别中,重要的一个参考就是黑名单,市场上领先的大数据风控公司拥有将近1000万左右的黑名单,大部分黑名单是过去十多年积累下来的老赖名单,真正有价值的黑名单在两百万左右。

黑名单来源于民间借贷、线上P2P、信用卡公司、小额借贷等公司的历史违约用户,其中很大一部分不再有借贷行为,参考价值有限。另外一个主要来源是催收公司,催收的成功率一般小于于30%(M3以上的),会产生很多黑名单。

灰名单是逾期但是还没有达到违约的客户(逾期少于3个月的客户),灰名单也还意味着多头借贷,申请人在多个贷款平台进行借贷。总借款数目远远超过其还款能力。

黑名单和灰名单是很好的风控方式,但是各个征信公司所拥有的名单仅仅是市场总量的一部分,很多互联网金融公司不得不接入多个风控公司,来获得更多的黑名单来提高查得率。央行和上海经信委正在联合多家互联网金融公司建立统一的黑名单平台,但是很多互联网金融公司都不太愿意贡献自家的黑名单,这些黑名单是用真金白银换来的教训。另外如果让外界知道了自家平台黑名单的数量,会影响其公司声誉,降低公司估值,并令投资者质疑其平台的风控水平。

5利用移动设备数据识别欺诈

行为数据中一个比较特殊的就是移动设备数据反欺诈,公司可以利用移动设备的位置信息来验证客户提交的工作地和生活地是否真实,另外来可以根据设备安装的应用活跃来识别多头借贷风险。

欺诈用户一般会使用模拟器进行贷款申请,移动大数据可以识别出贷款人是否使用模拟器。欺诈用户也有一些典型特征,例如很多设备聚集在一个区域,一起申请贷款。欺诈设备不安装生活和工具用App,仅仅安装和贷款有关的App,可能还安装了一些密码破译软件或者其他的恶意软件

欺诈用户还有可能不停更换SIM卡和手机,利用SI;6利用消费记录来进行评分;大数据风控除了可以识别出坏人,还可以评估贷款人的;按照传统金融的做法,在家不工作照顾家庭的主妇可能;常用的消费记录由银行卡消费、电商购物、公共事业费;互联网金融的主要客户是屌丝,其电商消费记录、旅游;据分析,只要客户授权其登陆电商网站,其可以借助于;7参考社会关系来评估信用情况;物以类聚,人与群分。一般情况下,信用好的人,他的朋友信用也很好。信用不好的人,他的朋友的信用分也很低,

欺诈用户还有可能不停更换SIM卡和手机,利用SIM卡和手机绑定时间和频次可以识别出部分欺诈用户。另外欺诈用户也会购买一些已经淘汰的手机,其机器上面的操作系统已经过时很久,所安装的App版本都很旧。这些特征可以识别出一些欺诈用户。

6利用消费记录来进行评分

大数据风控除了可以识别出坏人,还可以评估贷款人的还款能力。过去传统金融依据借款人的收入来判断其还款能力,但是有些客户拥有工资以外的收入,例如投资收入、顾问咨询收入等。另外一些客户可能从父母、伴侣、朋友那里获得其他的财政支持,拥有较高的支付能力。

按照传统金融的做法,在家不工作照顾家庭的主妇可能还款能力较弱。无法给其提供贷款,但是其丈夫收入很高,家庭日常支出由其太太做主。这种情况,就需要消费数据来证明其还款能力了。

常用的消费记录由银行卡消费、电商购物、公共事业费记录、大宗商品消费等。还可以参考航空记录、手机话费、特殊会员消费等方式。例如头等舱乘坐次数,物业费高低、高尔夫球俱乐部消费,游艇俱乐部会员费用,奢侈品会员,豪车4S店消费记录等消费数据可以作为其信用评分重要参考。

互联网金融的主要客户是屌丝,其电商消费记录、旅游消费记录、以及加油消费记录都可以作为评估其信用的依据。有的互联金融公司专门从事个人电商消费数据分析,只要客户授权其登陆电商网站,其可以借助于工具将客户历史消费数据全部抓取并进行汇总和评分。

7参考社会关系来评估信用情况

物以类聚,人与群分。一般情况下,信用好的人,他的朋友信用也很好。信用不好的人,他的朋友的信用分也很低,

参考借款人常联系的朋友信用评分可以评价借款人的信用情况,一般会采用经常打电话的朋友作为样本,评估经常联系的几个人(不超过6六个人)的信用评分,去掉一个最高分,去掉一个最低分,取其中的平均值来判断借款人的信用。这种方式挑战很大,只是依靠手机号码来判断个人信用可信度不高。一般仅仅用于反欺诈识别,利用其经常通话的手机号在黑名单库里面进行匹配,如果命中,则此申请人的风险较高,需要进一步进行调查。

8参考借款人社会属性和行为来评估信用

参考过去互联网金融风控的经验发现,拥有伴侣和子女的借款人,其贷款违约率较低;

年龄大的人比年龄低的人贷款违约率要高,其中50岁左右的贷款人违约率最高,

30岁左右的人违约率最低。贷款用于家庭消费和教育的贷款人,其贷款违约率低;

声明月收入超过3万的人比声明月收入低于1万5千的人贷款违约率高;

贷款次数多的人,其贷款违约率低于第一次贷款的人。 

经常不交公共事业费和物业费的人,其贷款违约率较高。

经常换工作,收入不稳定的人贷款违约率较高。

经常参加社会公益活动的人,成为各种组织会员的人,其贷款违约率低。

经常更换手机号码的人贷款违约率比一直使用一个电话号码的人高很多。

午夜经常上网,很晚发微博,生活不规律,经常在各个城市跑的申请人,其带贷款违约率比其他人高30%。

刻意隐瞒自己过去经历和联系方式,填写简单信息的人,比信息填写丰富的人违约概率高20%。

借款时间长的人比借款时间短短人,逾期和违约概率高20%左右。拥有汽车的贷款人比没有汽车的贷款人,贷款违约率低10%左右。

9利用司法信息评估风险

涉毒涉赌以及涉嫌治安处罚的人,其信用情况不是太好,特别是涉赌和涉毒人员,这些人是高风险人群,一旦获得贷款,其贷款用途不可控,贷款有可能不会得到偿还。

寻找这些涉毒涉赌的嫌疑人,可以利用当地的公安数据,但是难度较大。也可以采用移动设备的位置信息来进行一定程度的识别。如果设备经常在半夜出现在赌博场所或赌博区域例如澳门,其申请人涉赌的风险就较高。另外中国有些特定的地区,当地的有一部分人群从事涉赌或涉赌行业,一旦申请人填写的居住地址或者移动设备位置信息涉及这些区域,也要引起重视。涉赌和涉毒的人员工作一般也不太稳定或者没有固定工作收入,如果申请人经常换工作或者经常在某一个阶段没有收入,这种情况需要引起重视。涉赌和涉毒的人活动规律比较特殊,经常半夜在外面活动,另外也经常住本地宾馆,这些信息都可以参考移动大数据进行识别。 

总之,互联网金融的大数据风控采用了用户社会行为和社会属性数据,在一定程度上补充了传统风控数据维度不足的缺点,能够更加全面识别出欺诈客户,评价客户的风险水平。互联网金融企业通过分析申请人的社会行为数据来控制信用风险,将资金借给合格贷款人,保证资金的安全。

发布了10 篇原创文章 · 获赞 2 · 访问量 1790

猜你喜欢

转载自blog.csdn.net/weixin_41814051/article/details/104333603
今日推荐