风控建模一等奖
使用拍拍贷数据,建模全过程,从数据预处理开始到最后的模型比较。仅用于交流学习。队伍介绍队名“不得仰视本王”,队伍由五个小伙伴组成,我们是在一个类以的比赛(微额借款用户人品预测大赛)认识的,对数据挖掘竹热爱让我们走到了一起,以下是成员简介:姓名学校、学历比赛经历匚陈靖」中国科学技术大学研二天泡科学家总分第三,微额借贷用户人品预测大赛季军朱治亮浙江大学研二淘宝穿衣搭配比赛李军,微额借贷用户人品预测大赛李军质耀重庆邮电大学研二微额借贷用户人品预测大赛冠军匚赵蕊」重庆邮电大学研微额借贷用户人品预测大赛亚军黄伟鹏北京大学研一微额借贷用户人品预测大赛冠军解决方案概述2.1项目介绍与问题分析拍拍贷“魔镜风控系统”从平均400个数据维度评估厍户当前的信用状态,给每个告款人打出当前状态的信用分,在此基础上再结合新发标的信息,打出对于每个标约6个月内逾期率的预沨,为没资人提供关键的决策依据。本次竞赛目标是根据用户历史行为数据来颈测用户在六来6个月内是否会逾期还款的概率。问题转换成2分类问题,评估指标为AUC,从 Master, LogInfo, Update Info表中构建恃征,考虑评估指标为AUC,其本质是排序优化问题,所以我们在模型顶层融合也使用基于排序优化的 RANK AVG融合方法。2.2项目总体思路本文首先从数据清洗开始,介绍我们对缺失值的多维度处、对离群点的剔除方法以及对字符、空格等的处理;其次进行特征工程,包括对地理位置信息的特征构建、成交玉间特征、类别特征编码、组合特征构建、 Lpdatelnfo和 Log Info表的特征提取等;再次进行特征选择,我们采用了 boost, boost的训练过栏即对特征重要性的排序过程;然后处理类别的不平衡度,由于赛题数据出现了类不平衡的情况,我们采用了代价敏感学习和过采样两和方法,重点介绍我们所使用的过采样方法;最后一部分是模型设计与分析,我们采用了二业界广泛应用的逻辑回归模型、数据挖掘比赛大杀器 ghost.,创新性地揆索了large- scale sⅧm的方法在本赛题二的应用,玟得了不错的效果,此外还介绍了模型融合方、数据清洗3.1缺失值的多维度处理在征信领域,用户信总的完善程度可能会影响该层户的信用评级。一个信息完苦程度为100%的户比起完善程度为50%的用户,会更加容易官核通过并得到借款。从这一点亡发,我们对缺失值进行了多维度的分析和处理按列(属性)统计缺失值个数,进一步得到各列的缺失比率,下图(图1)显示了含有缺失值的属性和相应的缺失比率sing rate of Attributes图1.属性缺失比枣WeblogInfo_1和 WeblogInfo3的缺失值比率为97%,这两列属性基本不携带有用的信息,直接剔除。 Uscr Info_11、 Userinfo_12和 Uscr info_13的缺失值比率为63%,这三列属性是类别型的,可以将缺失值用-1垣充,相当于“是否缺失”当成另一种类别。其他缺失值比卒较小的数值型属性用中值填充按行统计每个样本的属性缺矢值个数,将缺失值个数从小到大排序,以序号为横坐标,缺失值个数为纵坐标,画出如下散点图(图2)test set16016014014C12012Cw9mczE100400060008000Order Numbe(sort ircreasinglyOrde Nt mber(sort increasing ly)图2.样本属性缺失个数对比 trainset和 testset上的样本的属性缺失值个数,可以发现其分有基本一致,但是trainset上出了几个缺失值个数特别多的样本(红框区域内),这几个样本可以认为是离群点,将其剔除另外,缺矢值个数可以作为一个特征,衡量用户信息的完善程度。3.2剔除常变量原始数据宁有190维数值型特征,通过计算每个数值型特征的标准差,剔除部分变亿很小的特征,下表(表1)列出的15个特征是标准差接近于0的,我们剔了这15维特征表1.剔除数值特征标准差属性标准差属性标准差属忾标准差Webloglnfo_10 0.0707 WeblogInfo_41 0.0212 Webloglnfo_490.0071Webloglnfo_23.0939 WeblogInfo_43 0.0372 Webloglnfo_5200512Webloglnfo_31.0828 Webloglnfo_44.0166 Webloglnfo_5400946Webloglnfo_32 0.0834 Webloglnfo_46.0290 WeblogInfo_5500331Webloglnfo_40.0666 Webloglnfo_47 0.0401 WeblogInfo_58006093.3高群点剔除在样本空间中与其他样本点的一般行为或特征不一致的点称为离群点,考虑到离群点的异常特征可能是多维度的组合,我们通过分析样本属性的缺矢值个数,剔除了极少量的离群点(见3.1节)此外,我们还采用了另外一种简单有效的方法:在原始数捶上训练ⅹ gboost,用得到的xgb模型输出特征的重要性,取最重要的前20个特征(如图3所示),统计每个栏本在这20个特征上的缺失值个数,将缺矢值个数大于10的样本作为离群点。ThrciParty Ifn PeriodIntrAparty nto HerodThrcPorty hfo Penod3ardiParty hfo Period?ThirdParty Info Penod图3.Xgb特征重要性通过这个方法,易除了400多个样水。这些样在重要特征上的取值是缺失的,会使得模型学习变得因难,从这个角度妖说,它们可以看成是离群点,应剔除掉。3.4其他处理(1)字符大小写转换Userupdate Info表宁的 Userupdate Info1字段,属性取值为英文字符,包含了大小写,如Q"和”qQ",很玥显是同一和取值,我们将所有字符统一转换为小写(2)空格符处理Mastor表中 UserInfo9字段的取值包含了空格字符,如“中国移动”和“中国移动”它们是同一种取值,需要将空格符去除。(3)城市名处理Userinfo_8包含有“重庆”、“重庆市”等取僬,它们实际上是同一个城市,需要把字符中的“市”全部去掉。去掉“市”之后,城市数由600多下降到400多。四、特征工程4.1地理位置的处理对地理位置信(类别型变量)最简单的处理方式是独热编码(one- hot encoding),但是这样会得到很高维的稀疏特征,影响糢型的学习,我们在独热编码旳基础上,做了特征选择。下面介绍具体的方法。赛题数据提供了用户的地挛位置信息,包括7个字段: Userinfo2、 Userinfo4、UserInfo7、 UserInfo8、 UserInfo I9、 UserInfo20,其中 UserInfo_7和 UserInfo19是省份信息,其余为城市信息。我们统计了每个省份和城市的违约率,下图以 Userinfo_7为例图1.省分违约率可视化图5可视化了每个省份的违约率,颜色越深代表违约率越大,其中违约率最大的几个省份或直辖市为四川、湖南、湖北、吉林、天津、山东,如下图所示:图5.违约深突出省份可视化因此我们可以构建6个二值特征:“是否为四川省”、“是否为湖南省”...“是否为山东省”,其取值为或1。其实这相当于对地理位置信息做了独热编码,然后保留其中有判别性的菜些列。这里 UserInfo_7何含32和取值,编码后可以得到32维的稀疏特征,而我们只保留其宇的6维以上我们是通过人工的分析方法去构延二值特征,在处理省份信息时还是匕较直观的,但是处理城市信息,比如 Userinfo2,包含了33个减市,就没有那么直观了。为了得到有判别性的二值特征,我们首先对 Userinfo2进行独热编码,得到333维的二值特征,然后在这333维稀疏特征上训练ⅹgb模型,再根据xgb输出的特征重要性刷选二值痔征,以下是选取到的部分二值特征(对应的城市):“淮纺市”、“九江市”、“三门峡市”、“汕头市”、“长春市”、“铁岭市”、“济菊市”、“成都市”、“淄博市”、“牡丹江市”。按城市等级合并类别型特征取值个数太多时,独热编码后得到太高维的稀疏特征,除了采用上面提到的特征选择方法外,我们还使用了合并变量的方法。按照城市等级,将类别变量合并,例如线城市北京、上海、广州、深圳合并,赋值为1,同样地,二线城市合并为2,三线城市合并为3>经纬度特征的引入以上对地理位置信息的处理,都是基于类别型的,我们另外收集了各个城市的经纬度,将城市名用经纬度替换,这样就可以将类别型的变量转化为数值型的变量,比如北京市,用经纬度(39.92,116.46)替换,得到北纬和东经两个数值型特征。加入经纬度后,线下的cross validation有千分位的提升。城市特征向量化我们将城可特征里的城市计数,并取Log,然后等值离散化到610个区间内。以下图为例,将 serino2这个特征里面的325个城市离散为一个6维向量。向量“100000”表示该城位于第一个区间。线下的 cross validation有千分位的提升。Loglui2 num)6.城市特征离散化地理位置差异特征如图8所示,1,2,1,6列郗是城市。那么我们构建一个城市差异的特征,比妇diff_12表示1,2列的城市是否相同。如此构建 diff l2,diff_14,diff_l6,diff_24,diff26,diff46这6个城市差异的特征。线下的 cross validation有千分位的提升。⊥aJse⊥nfa2 userinfo4 Userinfo7 Userinfo8 Userinfo19uer⊥nf。201C013郴州1C020惠州1C033零1c035深圳东东东东建东福建省10038济104连云港远言港带1C042德州1c043青岛聊拔东自聊城市46深圳汕广东广东省汕尾市105所多工新乡图7.地理位置差异样例4.2成交时间特征按日统计训练集中每天借贷的成交量,正负样本分别统计,得到如下的曲线图8,横坐标是日期(20131101至20141109),纵坐标是每天的借贷量。蓝色由线是违约的样本每天的数量(为了对比明显,将数量乘上了2),绿色曲线对应不违约的样本train set1200count o10008004002广外从20030350Date20131101~20141109图8.每日借贷量统计可以发现拍拍贷的业务量总体是在埤长的,而违约数量一开始也是缓慢增长,后面基本保持不变,总体上违约率是平稳甚至下降的。在横坐标300~350对应的日期区间,出现了些借贷量非鸴大的时间苄点,这些可能隐减着苿些信息,我们尚未挖掘出来。考虑到违约率跟时间线有关,我们将戒交时间的字段 Listinginfc傲了几种处理,一和是直接将其当做连续值特征,也就是上图对应的横坐标,另一和是离散化夂理,每10天作为一个区间,乜就是将日期0`10离散化为1,日期1120离散化为2.4.3类别特征的处理除了上面提到的对菜些类别特征进行特殊处理外,其他类别特征都做独热编码。44组合特征Xgboost的训练完成后可以输出特征的重要性,我们发现第三方数据特征ThirdParty Info Period XX”的 feature score比较大(见图3),即判别性比较高,于是用这部分特征构建了ξ合特征:将特征两两相除得到7000个特征,然后使用 boost对这7000多个特征单独训练模型,训练完成后得到特征重要性的排序,取其中top500个特征线下cv能达到0.73+的AUC值。将这500个特征添加到原始特征体系中,线下cv的AC值从0.777捉高到0.7833。另外,也组合了乘法特征(取对数):10g(x*y),刷选出其中的270多维,加入到原始特征休系中,单模型cv又提高到、0.785左右。4.5 Upadte Info表特征根据提供的修改信息表,我们从中抽取了用户的修改信息特征,比如:修改信息次数,修改信息时间到成交时间的跨度,每和信息的修改次数等等特征。46 LogInfo表特征类似地,我们从登录信息表里提取了用户的登录信息特征,比如登录天数,平均登录间隔以及每种操作代码的次数等47排序特征对原始特征中190维数值型特征接数值从小到大进行排序,得到190维排序特征。排序特征对异常数据有更强的鲁棒性,使得模型更加稳定,降低过拟合的风险。五、特征选择在特征工程部分,我们构建了一系列位置信息相关的特征、组合特征、成交时间特征、排序特征、类别稀疏侍征、 updateinfo和1 oginfo相关的特征等,所有特征加起来将近1500维,这么多维特征一方面可能会导致维数灾难,另一方面很容易导致过拟合,需要做降维处理,降维方法赏用的有如PCA,tSNE等,这类方法的计算复杂度比较高。并且根据以往经验,在数据挖掘类的匕赛中,PCA或t-SNE效果仨往不好。除了釆用降维算法之外,也可以通过特征选择来降低特征维度。特征选择的方法很多:最大信息系数(MIC)、皮尔森相关系数(衡量变量间的线性相关性)、正则化方法(L1,L2)、基于模型的特征排序方法。比较高效的是最后一种,即基于学习模型的特征排序方法,这种方法有一个好处:模型学习的过程和特征选择的过程是同时进行的,医此我们采用这和方法,基于 boost来做特征选择, xgboost模型洲练完成后可以输岀特征的重要性(见3.3图),据此我们可以保留TopN个特征,从而达到特在选择的目的。
- 2020-06-23下载
- 积分:1
机械原理MATLAB辅助分析
该书籍提供了如何基于MATLAB软件进行机械原理里面一些机械结构的运动分析,里面还有MATLAB程序可供使用,很不错的一本书。高等学校教材◎李滨城徐超编著机械原理 MATLA辅助分析化学孓业約版祉本书介绍了数学软件 MATLAB辅助机械原理分析的方法。运用解析法,通过建立数学模型,对机构与机器进行精确的分析与综合,是机械原理学科发展的重要方向。全书分为七章,分别应用 MATLAB进行了平面连杆机构的运动分析、平面连杆机构的力分析、连杄机构设计、凸轮机构设计、齿轮机构设计、机械的运转及其速度波动的调节和机构优化设计,每一专题内容通过数学模型的建立、计算实例的介绍、 MATLAB程序的编制,深入浅出地介绍了 MATLAB在机槭原理中的应用。书中大量的程序实例不但实用,更包含作者多年在机械原理教学中使用 MATLAB的经验。本书既可作为高校机械类专业选修课的教材,也可作为学习机械原理和机械原理课程设计的参考书。图书在版编目(CIP)数据机械原理 MATLAB辅助分析/李滨城,徐超编著北京:化学工业出版社,2011.5ISBN978-7-122-10596-7I·机…Ⅲ.①李…②徐…Ⅲ,机构学-计算机辅助分析软件包, MATLABⅣ.TH1139中国版本图书馆CP数据核字.(2011)第026200号责任编辑:杜进祥周永红装帧设计:韩飞责任校对:边涛出版发行:化学工业出版社(北京市东城区青年溯南街13号邮政编码100011)印刷:北京市振南印刷有限责任公司装订:三河市宇新装订厂710mm×100m1/16印张11%字数227千字2011年7月北京第1版第1次印刷购书咨询:010645188传真:010-64519686)售后服务:010-64518899网址:http://www.cipciom,cn凡购买本书,如有缺损质量问题,本社销售中心负责调换。定价:25.0元版权所有违者必究前FOREWORD机械原理 MATLAB辅助分析现今,计算机辅助设计在机被原理学科中得到了广泛的应用。为了在教学中培养学生利用计算机先进软件解决实际问题的思维方法和动手能力,我们从2007年开始尝试在机械原理教学中应用 MATLAB辅助机械原理分析与综合,在多年教学改革实践的基础上,编写了这本《机械原理 MATLAB辅助分析》本书运用科学与工程计算语言 MATLAB进行编程计算,它是一种数值计算的优秀工具,易学易用,一般学生只要经过10多个小时的练习就能够用它完成所需要的计算。本书在内容编写上首先是应用解析法建立分析或综合的数学模型,然后通过具体的计算实例来说明数学模型的使用方法,接着用 MATLAB进行编程计算。书中所附程序全部在计算机上调试通过,有些实例还根据运算结果绘制出了相应的分析曲线图和设计仿真图。其目的一方面可加深学生对课程内容的理解,提高分析问题和解决问题的能力;另一方面,意在培养学生独立编程能力,掌握 MATLAB编程方法和技巧。在编写本书过程中,编者参考了高等院校理工科机械类专业机械原理课程的现行教学大纲,也参照了兄弟院校编写的《机械原理》有关教材。江苏科技大学有关领导和机械原理学科组对本书的编写和出版给予了热情的帮助和支持,在此谨致深切的谢意。由于编者水平有限,加之编写仓促,书中定有不妥之处,恳请读者批评指正。编者2010年10月目录CONTENTS机械原理 MATLAB辅助分析算一章平而连杆机构的运动分析第一节平面连杆机构运动分析概述…………第二节铰链四杆机构的运动分析…1128第三节曲柄滑块机构的运动分析第四节导杆机构的运动分析……………………………………………………14第五节六杆机构的运动分析习题..···.·.4444·:4.:4.4···4a,:s30第二章平面连杆机构的力分析35第一节平面连杄机构力分析概述甲曹鲁,度m曲·使普35第二节铰链四杆机构的力分析……………………………………37第三节曲柄滑块机构的力分析44第四节导杆机构的力分析…………………………………51第五节六杆机构的力分析:::·.=:··..4:··““·4“““+“++:·+t58习题…………………………………………………………-………………………68第三章莲杆机构设计第一节铰链四杆机构类型判断72第二节几何法按连杆上活动铰链已知位置设计四杆机构………………………77第三节位移矩阵法按连杆预定位置设计四杆机构第四节解析法按连杆预定位置设计四杆机构第五节按预定的运动规律设计四杆机构·97第六节按行程速比系数及有关参数设计四杆机构102习题……112算四章凸轮机构设计117笫一节推杆常用的运动规律…………………………………117第二节凸轮轮廓曲线的设计118第三节程序设计实例………………122习题130第五章齿轮机构设计第一节渐开线函数的计算133第二节渐开线标准直齿圆柱齿轮的设计计算·:.+.....::...·..:=.::·138第三节直齿圆柱齿轮机构传动设计计算143第四节渐开线齿轮的范成…………………………………………………“145习题150算六章机的运转及其遠度波动的调节151第一节机槭的运转及其速度波动的调节概述番福…·151第二节机械系统的等效动力学模型……………………………………152第三节机槭运动方程式156第四节机槭运转的速度波动及其调节方法…………………………………,165习题………………167第七章机构优化设计169第一节平面连杆机构再现已知运动规律的优化设计…169第二节凸轮机构最大压力角及其位置的确定……………………………174习題………………………………………178参者文獻第一章平面连杆机构的运动分析第一节平面连杆机构运动分析概述机构的运动分析,就是按照已知的起始构件运动规律来确定机构中其他构件的动。它的具体任务:一是求构件的位置;二是求构件的速度;三是求构件的加速度、数学模型的建立平面连杆机构属闭环机构,在用解析法进行机构运动分析时,采用封闭矢量多边形法求解较为简便。首先建立机构封闭矢量方程式,然后对时间求一阶导数得到速度方程,对时间求二阶导数得到加速度方程。二、程序设计每个平面连杆机构运动分析 MATLAB程序都由主程序和子函数两部分组成,其程序设计流程如图1-1所示。开始开始输入已知参数,如各构件尺寸等输入已知参数,如各构件尺寸等调用子函数求解位移表达式求机构的位移、速度和加速度求解速度表达式用图形输出计算结果求解加速度表达式机构运动仿真结:)结束(a)主程序b)子函数图1-1平面连杆机构运动分析程序设计流程子函数的任务是求机构在某一位置时,各构件的位移、速度和加速度;主程机械原理 MATLAB辅助分析序的任务是求机构在一个工作循环内各构件的位移、速度和加速度的变化规律,并用线图表示出来,同时进行机构运动仿真。第二节铰链四杆机构的运动分析在图1-2所示的铰链四杆机构中,已知各构件的尺寸及原动件1的方位角a1和匀角速度ω,需对其位置、速度和加速度进行分析。、数学模型的建立为了对机构进行运动分析,先如图1-2建立直角坐标系,并将各构件表示为杆矢,为了求解方便,将各杆矢用指数形式的复数表示。1.位置分析B2如图1-2所示,由封闭图形ABCDA可写出机构各杆矢所构成a163的封闭矢量方程+=+(1其复数形式表示为图1-2铰链四杆机构l1en+l2e2=l3e3+l4(1-2)将上式的实部和虚部分离,得l1 tl2 cosb2=l3 cos03+lLysin@1 +l2 sin02=L3 sine(1-3)由于式(1-3)是一个非线性方程组,直接求解比较困难,在这里借助几何方法进行求解,在图中连接BD,由此得D=2 +4A-2L1 cos9=arcsin(,singBD2-lrccs2LBDL363=π82=arcsinls sinBa-Li sinel1-4)2.速度分析将式(1-2)对时间t求一次导数,得速度关系tl202e=l30(1-5)第一章平面连杆机构的运动分析将上式的实部和虚部分离,得G1 w1 cosB)+li az cos]2=l3w3 cose1-6)Liw sinB1+1202 sinB2=l3 w3 sinB3若用矩阵形式来表示,则上式可写为l2 singal3 sinaLi sinBaI(1-7)l2 cost2Co3-l,解上式即可求得二个角速度2、aB33.加速度分析将式(12)对时间t求二次导数,可得加速度关系表达式-L2 sine ls sinB3 ]ra2w2 L2 cose2 als cos03 1o2141coS61le coste -l3 cose1an2 L2 sine2 (3 l3 sinO3 I La3u1 1 siney(18)解上式即可求得二个角加速度a2、a3。二、计算实例例1-1】如图1-2所示,已知铰链四杆机构各构件的尺寸为:l1101.6mm,l=254mm,l3=177.8mm,l4=304.8mm,原动件1以匀角速度1=250rad/s逆时针转动,计算构件2和构件3的角位移、角速度及角加速度,并绘制出运动线图。三、程序设计铰链四杆机构 MATLAB程序由主程序 crank rocker main和子函数crank rocker两部分组成。1.主程序 crank_ rocker_main文件兴著并菁兴并菁普并普菁暑菁#“萧誓養美赀黄并“兴弹一萧萧兴浙普兴黃蒉景是吴暑普暑州,暑1.输入已知数据clear ill=101.6;2=254;l3=177.8;l4=304.8omega=250;alpha1=0hd=pi/180;du=180/pi;%2.调用子函数 crank rocker计算铰链四杆机构位移,角速度,角加速度forn1=1:361theta=(nl-1)*hd:Theta, omega, alpha]-crank rocker(thetal, omega, alpha1, 11, 12, 13. 14)theta2(nl)=theta(1): theta(n1)=theta(2)
- 2020-06-20下载
- 积分:1