模型训练方法及装置、行为预测方法及装置、设备及介质
技术领域
本公开涉及金融
技术领域
,具体地涉及一种模型训练方法及装置、行为预测方法及装置、设备、介质和程序产品。背景技术
小微企业是小型企业、微型企业、家庭作坊式企业、个体工商户的统称。近年来,我国小微企业保持快速增长态势。但是,绝大多数的小微企业经营情况较为不稳定,财务状况不透明,内部监督机制存在较为严重的漏洞,甚至没有稳定的经营场所。
目前针对小微企业的贷中管理系统是通过用户经理人为的事前预警、事中干预以及事后催收的方式进行。人为因素比较大,人员投入较大,对用户经理的要求较高,不可控因素较多,而且错判性较强,有较大的操作风险隐患。
发明内容
鉴于上述问题,本公开提供了一种模型训练方法及装置、行为预测方法及装置、设备、介质和程序产品,可以对用户的违约行为进行预测。
根据本公开的第一个方面,提供了一种模型训练方法,包括:
构建多个用户的时序数据序列样本,每个所述时序数据序列样本包括多个连续时间点下的样本,每个所述样本包括一用户在当前时间点下的至少一个预设类型的数据;
采用预设的滑动时间窗口对所述时序数据序列样本进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据;
基于各所述滑动时点对应滑动时间窗口的窗口数据,训练行为预测模型。
在一实施例中,所述基于各所述滑动时点对应滑动时间窗口的窗口数据,训练行为预测模型包括:
对各所述滑动时点对应滑动时间窗口的窗口数据进行数据衍生处理,得到多种类型的衍生数据;
基于所述窗口数据和所述多种类型的衍生数据,训练行为预测模型。
在一实施例中,所述采用预设的滑动时间窗口对所述时序样本序列进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据包括:
查找所述多个连续时间点中的第二个时间点;
使用所述滑动时间窗口从所述第二个时间点滑动到最后一个时间点进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据。
在一实施例中,所述样本的类型包括违约样本和正常样本,所述方法还包括:
当所述滑动时间窗口内出现违约样本时,确定所述违约样本对应的违约用户;
在所述时序数据序列样本中剔除所述违约用户的所有样本。
在一实施例中,所述方法还包括:
获取当前滑动时点和当前滑动时间窗口对应的时间点;
剔除所述滑动时间窗口内的样本的有效时间小于所述滑动时间窗口的当前滑动时点的样本。
在一实施例中,所述滑动时间窗口的时间长度包括至少两个连续时间点。
在一实施例中,所述至少一个预设类型的数据为与借贷相关的数据。
在一实施例中,所述基于各所述滑动时点对应滑动时间窗口的窗口数据,训练行为预测模型之前,包括:
计算所述时序数据序列样本中每一类型的数据在不同时间窗口下的稳定性指数;
判断每一类型的数据的稳定性指数是否大于预设阈值;
若存在一类型的数据的稳定性指数大于预设阈值,则去掉所述类型的数据。
在一实施例中,所述对各所述滑动时点对应滑动时间窗口的窗口数据进行数据衍生处理,得到多种类型的衍生数据包括:
统计所述窗口数据中所有样本中数据的类型的个数;
计算每一类型的数据的熵值;
根据所述每一类型的数据的熵值,对每个样本中的数据进行衍生处理。
本公开的第二方面提供了一种行为预测方法,包括:
采集待预测用户的时序数据序列,所述时序数据序列包括在多个连续时间点下的至少一个预设类型的数据;
采用预设的滑动时间窗口对所述时序数据序列进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据;
基于各所述滑动时点对应滑动时间窗口的窗口数据和预先训练好的行为预测模型对所述待预测用户进行行为预测,得到与所述至少一个预设类型的数据相关的预测结果;
其中,所述预先训练好的行为预测模型通过根据第一方面所述的模型训练方法训练得到。
在一实施例中,所述基于各所述滑动时点对应滑动时间窗口的窗口数据和预先训练好的行为预测模型对所述待预测用户进行行为预测,得到预测结果包括:
对各所述滑动时点对应滑动时间窗口的窗口数据进行数据衍生处理,得到多种类型的衍生数据;
将所述多种类型的衍生数据输入所述预先训练好的行为预测模型,得到预测结果。
在一实施例中,所述采用预设的动态的滑动时间窗口对所述时序样本序列进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据包括:
查找所述多个连续时间点中的第二个时间点;
使用所述滑动时间窗口从所述第二个时间点滑动到最后一个时间点进行数据提取,得到所述各滑动时点对应滑动时间窗口的窗口数据。
在一实施例中,所述方法还包括:
获取当前滑动时点和当前滑动时间窗口对应的时间点;
剔除所述滑动时间窗口内的样本的有效时间小于所述滑动时间窗口的当前滑动时点的数据。
在一实施例中,所述至少一个预设类型的数据为与借贷相关的数据;
所述与所述至少一个预设类型的数据相关的预测结果为所述待预测用户违约结果。
本公开的第三方面提供了一种模型训练装置,包括:
构建模块,用于构建多个用户的时序数据序列样本,每个所述时序数据序列样本包括多个连续时间点下的样本,每个所述样本包括一用户在当前时间点下的至少一个预设类型的数据;
第一提取模块,用于采用预设的滑动时间窗口对所述时序数据序列样本进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据;
训练模块,用于基于各所述滑动时点对应滑动时间窗口的窗口数据,训练行为预测模型。
在一实施例中,所述训练模块包括:
数据衍生子模块,用于对各所述滑动时点对应滑动时间窗口的窗口数据进行数据衍生处理,得到多种类型的衍生数据;
训练子模块,用于基于所述窗口数据和所述多种类型的衍生数据,训练行为预测模型。
在一实施例中,所述第一提取模块包括:
查找子模块,用于查找所述多个连续时间点中的第二个时间点;
滑动子模块,用于使用所述滑动时间窗口从所述第二个时间点滑动到最后一个时间点进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据。
在一实施例中,所述样本的类型包括违约样本和正常样本,所述装置还包括:
确定模块,用于当所述滑动时间窗口内出现违约样本时,确定所述违约样本对应的违约用户;
第一剔除模块,用于在所述时序数据序列样本中剔除所述违约用户的所有样本。
在一实施例中,所述装置还包括:
获取模块,用于获取当前滑动时点和当前滑动时间窗口对应的时间点;
第二剔除模块,用于剔除所述滑动时间窗口内的样本的有效时间小于所述滑动时间窗口的当前滑动时点的样本。
在一实施例中,所述滑动时间窗口的时间长度包括至少两个连续时间点。
在一实施例中,所述至少一个预设类型的数据为与借贷相关的数据。
本公开的第四方面提供了一种行为预测装置,包括:
采集模块,用于采集待预测用户的时序数据序列,所述时序数据序列包括在多个连续时间点下的至少一个预设类型的数据;
第二提取模块,用于采用预设的滑动时间窗口对所述时序数据序列进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据;
预测模块,用于基于各所述滑动时点对应滑动时间窗口的窗口数据和预先训练好的行为预测模型对所述待预测用户进行行为预测,得到与所述至少一个预设类型的数据相关的预测结果;
其中,所述预先训练好的行为预测模型通过根据第三方面所述的模型训练装置训练得到。
本公开的第五方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述第一方面所述的模型训练方法或第二方面所述的行为预测方法。
本公开的第六方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述第一方面所述的模型训练方法或第二方面所述的行为预测方法。
本公开的第七方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所述的模型训练方法或第二方面所述的行为预测方法。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的模型训练方法及装置、行为预测方法及装置、设备、介质和程序产品的应用场景图;
图2示意性示出了根据本公开实施例的模型训练方法的流程图;
图3示意性示出了根据本公开实施例的模型训练方法的流程图;
图4示意性示出了根据本公开实施例的模型训练方法的流程图;
图5示意性示出了根据本公开实施例的模型训练方法的流程图;
图6示意性示出了根据本公开实施例的模型训练方法的流程图;
图7示意性示出了根据本公开实施例的行为预测方法的流程图;
图8示意性示出了根据本公开实施例的模型训练装置的结构框图;
图9示意性示出了根据本公开实施例的行为预测装置的结构框图;以及
图10示意性示出了根据本公开实施例的适于实现模型训练方法或行为预测方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
需要说明的是,本公开提供的一种模型训练方法及装置、行为预测方法及装置、设备、介质和程序产品可用于金融领域,也可用于除金融领域之外的任意领域,本公开提供的一种模型训练方法及装置、行为预测方法及装置、设备、介质和程序产品的应用领域不做限定。在本公开中,以金融领域为例进行示意性说明。
在本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
本公开的实施例提供了一种模型训练方法,包括:构建多个用户的时序数据序列样本,每个所述时序数据序列样本包括多个连续时间点下的样本,每个所述样本包括一用户在当前时间点下的至少一个预设类型的数据,采用预设的动态的滑动时间窗口对所述时序数据序列样本进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据,基于各所述滑动时点对应滑动时间窗口的窗口数据,训练行为预测模型。
本公开的实施例还提供了一种行为预测方法,包括:采集待预测用户的时序数据序列,所述时序数据序列包括在多个连续时间点下的至少一个预设类型的数据,采用预设的滑动时间窗口对所述时序数据序列进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据,基于各所述滑动时点对应滑动时间窗口的窗口数据和预先训练好的行为预测模型对所述待预测用户进行行为预测,得到与所述至少一个预设类型的数据相关的预测结果。
图1示意性示出了根据本公开实施例的模型训练方法及装置、行为预测方法及装置、设备、介质和程序产品的应用场景图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯用户端应用,例如购物类应用、金融类应用、邮箱用户端和/或社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的模型训练方法和行为预测方法一般可以由服务器105执行。相应地,本公开实施例所提供的模型训练装置和行为预测装置一般可以设置于服务器105中。本公开实施例所提供的模型训练方法和行为预测方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的模型训练装置和行为预测装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。或者,本公开实施例所提供的模型训练方法和行为预测方法也可以由终端设备101、102、或103执行,或者也可以由不同于终端设备101、102、或103的其他终端设备执行。相应地,本公开实施例所提供的模型训练装置和行为预测装置也可以设置于终端设备101、102、或103中,或设置于不同于终端设备101、102、或103的其他终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的模型训练方法的流程图。
如图2所示,该方法包括操作S201~S203。
在操作S201,构建多个用户的时序数据序列样本,每个该时序数据序列样本包括多个连续时间点下的样本,每个该样本包括一用户在当前时间点下的至少一个预设类型的数据。
在本公开中,用户可以是个人端贷款用户和/或法人端贷款用户。个人端贷款用户是指个人本人必须有企业,且是小微企业的法定代表人,且成功使用过纯信用消费贷或无抵押经营贷产品。法人端贷款用户是指成功使用过经营快贷产品的小微企业。
在本公开中,对于个人端贷款用户,预设类型的数据可以为个人基本信息、个人资产负债信息、个人资金交易信息、个人征信信息和个人贷款信息中的至少一种。对于法人端贷款用户,预设类型的数据可以为企业基本信息、企业资金流水信息、企业交易用途信息、企业征信信息中的至少一种。更多的,还可以包括投融资关系、担保关系等相关数据。
在本公开中,多个连续时间点之间的时间间隔可以按周、月或季者进行划分,按月划分例如,取2018年5月到2019年4月之间的样本,多个连续时间点为2018年5月、2018年6月、2018年7月、2018年8月、2018年9月、2018年10月、2018年11月、2018年12月、2019年1月、2019年2月、2019年3月和2019年4月。
在操作S202,采用预设的滑动时间窗口对该时序数据序列样本进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据。
在本公开中,可以根据多个连续时间点包括的时间点的数量确定滑动时点的数量,例如,多个连续时间点包括的时间点的数量与滑动时点的数量相同,也即,一个时间点对应一个滑动时点,又例如,多个连续时间点包括的时间点的数量与滑动时点的数量不相同,可以是一个滑动时点对应两个连续时间点或三个连续时间点,本公开对此不做限制。
在本公开中,各滑动时点对应的滑动时间窗口的时间长度可以相同或者不同,例如,在第一个滑动时点时,该滑动时点对应的滑动时间窗口的时间长度为4个月,在第二个滑动时点时,该滑动时点对应的滑动时间窗口的时间长度为5个月,在第三个滑动时点时,该滑动时点对应的滑动时间窗口的时间长度为5个月。
在操作S203,基于各该滑动时点对应滑动时间窗口的窗口数据,训练行为预测模型。
在本公开中,行为预测模型可以是逻辑回归、随机森林、GBDT、决策树、多层感知机等中的任意一种。
在本公开中,得到各滑动时点对应滑动时间窗口的窗口数据后,可以对所有窗口数据进行探索性数据分析(EDA,Exploratory Data Analysis),探索性数据分析包括描述性统计和相关性分析,描述性统计例如区间型变量-统计最小值,最大值,均值,标准差,偏度,峰度,分位数,缺失值,5%分位数、10%分位数、25%分位数、50%分位数、75%分位数、90%分位数、95%分位数;字符型变量-水平数、频数分布、目标用户数分布、缺失值。
在本公开中,得到各滑动时点对应滑动时间窗口的窗口数据后,还可以对其进行数据清洗和转换,主要针对不同窗口数据的不同特征进行相应的调整,包括:补缺、异常值处理、变量转换等。
具体的,补缺:首先分析缺失原因,针对不同的原因决定如何处理缺失。基本有三种处理方法:a)、删除样本;b)、删除变量;c)、补缺。补缺的方法有很多,分析每个有缺失值变量,采用不同的补缺方法。离散型变量常用补缺方法:众数补缺、特定值替换(如:‘未知’,-999);区间型变量常用补缺方法:中位数补缺、均值补缺等。除上述常用补缺方法外,业务建议的补缺方法也是非常重要的。同时还有一些比较复杂的补缺方法:热卡补缺、启发式补缺以及回归补缺等。
异常值处理:对数据的异常值的确认,首先要结合业务和探索性数据分析的结果进行确定,其次可以采用统计学中常用的一些方法进行确定,尽量追寻出异常值产生的原因,然后对异常值进行相应的处理来消除异常值对模型训练的影响。
变量转换:变量转换主要包括变量的数学转换和变量的分箱变换。变量的数学转换由于有些模型的使用条件对数据的分布情况有一定的要求,而实际的数据往往不能满足这些要求,因此就需要对原始变量进行适当的数学变换以满足模型的要求,常用的变换有对数变换,指数变换,倒数变换等。变量的分箱变换常用的方法有最优分箱,按分位数分箱,按桶分箱,woe转换等。
在本公开中,在模型的验证阶段,可以采用跨期验证的方式保证模型的泛化能力。例如,当训练模型时采用的样本的时期是2018年5月到2019年4月,则采用19年5月到19年10月的样本进行跨期验证,并去掉首月数据进行验证。
根据本公开实施例,构建多个用户的时序数据序列样本,每个该时序数据序列样本包括多个连续时间点下的样本,每个该样本包括一用户在当前时间点下的至少一个预设类型的数据,采用预设的滑动时间窗口对该时序数据序列样本进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据,基于各该滑动时点对应滑动时间窗口的窗口数据,训练行为预测模,训练出来的行为预测模型,可以用于预测用户是否可能会发生违约行为。
在本公开一实施例中,滑动时间窗口的时间长度包括至少两个连续时间点,可提高滑动时间窗口的滑动时点与用户贷款违约率的稳定性。例如,设置为5个月、6个月、7个月等,本公开对此不做限制。令T为滑动时间窗口的滑动时点,以滑动时间窗口的时间长度设定为6个月为例,则滑动时间窗口的时间长度可表示为(T-6,T],也即每个样本的观察期为6个月。
在本公开一实施例中,操作S301之前,也即模型训练之前还包括:计算时序数据序列样本中每一类型的数据在不同时间窗口下的稳定性指数,判断每一类型的数据的稳定性指数是否大于预设阈值,若存在一类型的数据的稳定性指数大于预设阈值,则去掉该类型的数据。其中,不同时间窗口可以是建模窗口、跨时间窗口、评分窗口等等,数据的类型例如三个月的交易笔数、历史贷款笔数等等,稳定性指数(PSI,Population Stability Index)反映了指标在各分段分布的稳定性。通常来说,如果未来样本分布与历史样本分布之间的偏差在可接受范围内就可认为模型或变量稳定。在建模过程中,一般将训练样本作为历史样本,将跨期验证样本作为未来样本,就各指标在两样本中分布的变化进行评估。
图3示意性示出了根据本公开实施例的模型训练方法的流程图。
如图3所示,该方法包括操作S301~304。
在操作S301,构建多个用户的时序数据序列样本,每个该时序数据序列样本包括多个连续时间点下的样本,每个该样本包括一用户在当前时间点下的至少一个预设类型的数据;
在操作S302,采用预设的滑动时间窗口对该时序数据序列样本进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据。
在操作S303,对各该滑动时点对应滑动时间窗口的窗口数据进行数据衍生处理,得到多种类型的衍生数据。
在操作S304,基于该窗口数据和该多种类型的衍生数据,训练行为预测模型。
在本公开一实施例中,操作S303具体包括统计所述窗口数据中所有样本中数据的类型的个数,计算每一类型的数据的熵值,根据所述每一类型的数据的熵值,对每个样本中的数据进行衍生处理。
在本公开中,可以基于业务场景进行数据衍生。例如,对于有贷用户是否有偿债能力的业务场景,可以从以下几个方面考虑,1)资产、负债、存款、贷款额的不同时间窗口的总额、月日均,变化情况等;2)法人、个人交易的金额、笔数、极值以及用途、变化情况、集中性情况等;3)个人、法人征信信息的衍生和加工;4)贷款信息中的类型、申请、审批情况、放款情况、还款情况等变量的衍生;5)投融资和担保关系的关联情况、关联方的信贷、资产等信息的衍生;6)工商注册信息的衍生等。
根据本公开实施例中,将窗口数据和基于窗口数据衍生出来的数据一起作为训练数据,训练行为预测模型,可以增加训练数据的多样性,提升行为预测模型的预测准确率。
图4示意性示出了根据本公开实施例的模型训练方法的流程图。
如图4所示,该方法包括操作S401~404。
在操作S401,构建多个用户的时序数据序列样本,每个该时序数据序列样本包括多个连续时间点下的样本,每个该样本包括一用户在当前时间点下的至少一个预设类型的数据。
在操作S402,查找该多个连续时间点中的第二个时间点。
在操作S403,使用该滑动时间窗口从该第二个时间点滑动到最后一个时间点进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据。
在操作S404,基于各该滑动时点对应滑动时间窗口的窗口数据,训练行为预测模型。
在本公开中,例如,取2018年5月到2019年4月之间的样本,则需从2018年6月开始滑动滑动时间窗口,可避免出现征信数据、行内评级数据等数据穿越的情况。在一个可能的情况中,当首月数据中存在用户不是第一次出现违约,即在T时的预设类型的数据已经不正常了,该用户则在T-1时被预警过,去掉首月用户可避免与实际场景不符,保证第二个时间点开始均为新增的违约用户。
图5示意性示出了根据本公开实施例的模型训练方法的流程图,样本的类型包括违约样本和正常样本。
如图5所示,该方法除了包括操作S201~203之外,还包括操作S501和S502。
在操作S501,当该滑动时间窗口内出现违约样本时,确定该违约样本对应的违约用户;
在操作S502,在该时序数据序列样本中剔除该违约用户的所有样本。
在本公开中,在借贷业务场景下,违约样本是指未按指定期限还款的借据。该期限可以是7天、15天等,更多的,还可对违约样本进行等级分类,高于预定等级且未按指定期限还款的借据为违约样本,低于预定等级的借据均为正常样本。
在本公开中,只要在当前滑动时间窗口检测到违约样本,则在时序数据序列样本中剔除该违约样本对应的违约用户的所有样本,保证在接下来的滑动时间窗口内均不出现违约样本。
图6示意性示出了根据本公开实施例的模型训练方法的流程图。
如图6所示,该方法除了包括操作S201~203之外,还包括操作S601和S602。
在操作S601,获取当前滑动时点和当前滑动时间窗口对应的时间点。
在操作S602,剔除该滑动时间窗口内的样本的有效时间小于该滑动时间窗口的当前滑动时点的样本。
在本公开中,在借贷业务场景下,有效时间指借据的到期时间。在一个示例中,滑动时间窗口内包括三个借据,三个借据的到期时间为2018年5月10日、2018年6月10日、2018年6月28日,滑动时间窗口的滑动时点T为2018年6月(取2018年6月1日),则剔除到期时间为2018年5月10日的借据,以保证提取的都是借据未到期的数据,从而包含贷款存续期及贷前的数据。
图7示意性示出了根据本公开实施例的行为预测方法的流程图。
如图7所示,该方法包括操作S701~S703。
在操作S701,采集待预测用户的时序数据序列,该时序数据序列包括在多个连续时间点下的至少一个预设类型的数据。
在操作S702,采用预设的滑动时间窗口对该时序数据序列进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据。
在操作S703,基于各该滑动时点对应滑动时间窗口的窗口数据和预先训练好的行为预测模型对该待预测用户进行行为预测,得到与该至少一个预设类型的数据相关的预测结果。
在本公开中,训练好的行为预测模型为根据图2至图6所示实施例训练出来的行为预测模型。待预测用户的时序数据序列的处理方式与上述图2至图6所示实施例的处理方式相同。在此不再赘述。
在本公开一实施例中,当训练好的模型用于行为预测时,可以采用KS(Kolmogorov-Smirnov)、ROC(Receiver Operating Characteristic)曲线和AUC(AreaUnder roc Curve)值来鉴别模型的风险区分能力。
其中,KS用于模型风险区分能力进行评估,指标衡量的是正负样本(违约样本和正常样本)累计分部之间的差值,是从概率角度衡量正负样本分布之间的差异。正负样本累计差异越大,KS指标越大,那么模型的风险区分能力越强。
ROC曲线和AUC常被用来评价一个二值分类器的优劣,反应的是分类器对样本的排序能力。AUC本质上反应的是随机给定一个正样本和一个负样本,分类器输出该正样本为正的那个概率值比分类器输出该负样本为正的那个概率值要大的可能性。对不同模型进行评估时,只需将各个模型的ROC曲线绘制到同一坐标中,直观地鉴别优劣,靠近左上角的ROC曲所代表的学习器准确性最高。而且ROC曲线除了可以反映模型的区分能力之外ROC曲线还可以看出模型的排序能力。经过这样训练出的模型当预警后业务量太大,管户经理不足以调查所有的预警时,可以优先调查违约概率高的用户。
在本公开中,预测结果可以是一个具体的评分值,或者是一个违约等级,本公开对此不做限制。违约等级例如,设定红黄绿蓝四个等级,ABCDE五个等级等等,针对不同等级的客户做出不同的管理。
在本公开一实施例中,操作S703包括:对各该滑动时点对应滑动时间窗口的窗口数据进行数据衍生处理,得到多种类型的衍生数据;将该多种类型的衍生数据输入该预先训练好的行为预测模型,得到预测结果。
在本公开一实施例中,操作S702包括:查找该多个连续时间点中的第二个时间点,使用该滑动时间窗口从该第二个时间点滑动到最后一个时间点进行数据提取,得到该各滑动时点对应滑动时间窗口的窗口数据。
在本公开一实施例中,图7所示的行为预测方法,还包括:获取当前滑动时点和当前滑动时间窗口对应的时间点,剔除该滑动时间窗口内的样本的有效时间小于该滑动时间窗口的当前滑动时点的数据。
在本公开一实施例中,操作S703中该至少一个预设类型的数据为与借贷相关的数据。该与该至少一个预设类型的数据相关的预测结果为该待预测用户违约结果。
基于上述图2至图6所示的模型训练方法,本公开还提供了一种模型训练装置。以下将结合图8对该装置进行详细描述。
图8示意性示出了根据本公开实施例的模型训练装置的结构框图。
如图8所示,该实施例的模型训练装置800包括构建模块810、第一提取模块820和训练模块830。
构建模块810,用于构建多个用户的时序数据序列样本,每个该时序数据序列样本包括多个连续时间点下的样本,每个该样本包括一用户在当前时间点下的至少一个预设类型的数据。在一实施例中,构建模块810可以用于执行前文描述的操作S201,在此不再赘述。
第一提取模块820,用于采用预设的滑动时间窗口对该时序数据序列样本进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据.在一实施例中,第一提取模块820可以用于执行前文描述的操作S202,在此不再赘述。
训练模块830,用于基于各该滑动时点对应滑动时间窗口的窗口数据,训练行为预测模型。在一实施例中,训练模块830可以用于执行前文描述的操作S203,在此不再赘述。
在本公开一实施例中,该训练模块830包括:
数据衍生子模块,用于对各该滑动时点对应滑动时间窗口的窗口数据进行数据衍生处理,得到多种类型的衍生数据;
训练子模块,用于基于该窗口数据和该多种类型的衍生数据,训练行为预测模型。
在本公开一实施例中,该第一提取模块820包括:
查找子模块,用于查找该多个连续时间点中的第二个时间点;
滑动子模块,用于使用该滑动时间窗口从该第二个时间点滑动到最后一个时间点进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据。
在本公开一实施例中,该样本的类型包括违约样本和距常样本,该装置还包括:
确定模块,用于当该滑动时间窗口内出现违约样本时,确定该违约样本对应的违约用户;
第一剔除模块,用于在该时序数据序列样本中剔除该违约用户的所有样本。
在本公开一实施例中,该装置还包括:
获取模块,用于获取当前滑动时点和当前滑动时间窗口对应的时间点;
第二剔除模块,用于剔除该滑动时间窗口内的样本的有效时间小于该滑动时间窗口的当前滑动时点的样本。
在本公开一实施例中,该滑动时间窗口的时间长度包括至少两个连续时间点。
在本公开一实施例中,该至少一个预设类型的数据为与借贷相关的数据。
基于上述图7所示的模型训练方法,本公开还提供了一种行为预测装置。以下将结合图9对该装置进行详细描述。
图9示意性示出了根据本公开实施例的模型训练装置的结构框图。
如图9所示,该实施例的模型训练装置900包括采集模块910、第二提取模块920和预测模块930。
采集模块910,用于采集待预测用户的时序数据序列,该时序数据序列包括在多个连续时间点下的至少一个预设类型的数据。在一实施例中,训练模块830可以用于执行前文描述的操作S701,在此不再赘述。
第二提取模块920,用于采用预设的滑动时间窗口对该时序数据序列进行数据提取,得到各滑动时点对应滑动时间窗口的窗口数据。在一实施例中,训练模块830可以用于执行前文描述的操作S702,在此不再赘述。
预测模块930,用于基于各该滑动时点对应滑动时间窗口的窗口数据和预先训练好的行为预测模型对该待预测用户进行行为预测,得到与该至少一个预设类型的数据相关的预测结果。在一实施例中,训练模块830可以用于执行前文描述的操作S703,在此不再赘述。
在本公开一实施例中,该预测模块930具体用于对各该滑动时点对应滑动时间窗口的窗口数据进行数据衍生处理,得到多种类型的衍生数据;将该多种类型的衍生数据输入该预先训练好的行为预测模型,得到预测结果。
在本公开一实施例中,该第二提取模块920包括:查找该多个连续时间点中的第二个时间点;使用该滑动时间窗口从该第二个时间点滑动到最后一个时间点进行数据提取,得到该各滑动时点对应滑动时间窗口的窗口数据。
在本公开一实施例中,该装置还包括:
时间获取模块,用于获取当前滑动时点和当前滑动时间窗口对应的时间点;
数据剔除模块,用于剔除该滑动时间窗口内的样本的有效时间小于该滑动时间窗口的当前滑动时点的数据。
在本公开一实施例中,该至少一个预设类型的数据为与借贷相关的数据。该与该至少一个预设类型的数据相关的预测结果为该待预测用户违约结果。
根据本公开的实施例,构建模块810、第一提取模块820和训练模块830中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,构建模块810、第一提取模块820和训练模块830中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者构建模块810、第一提取模块820和训练模块830中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图10示意性示出了根据本公开实施例的适于实现模型训练方法或行为预测方法的电子设备的方框图。
如图10所示,根据本公开实施例的电子设备1000包括处理器1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。处理器1001例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1001还可以包括用于缓存用途的板载存储器。处理器1001可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1003中,存储有电子设备1000操作所需的各种程序和数据。处理器1001、ROM 1002以及RAM 1003通过总线1004彼此相连。处理器1001通过执行ROM 1002和/或RAM1003中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,该程序也可以存储在除ROM 1002和RAM 1003以外的一个或多个存储器中。处理器1001也可以通过执行存储在该一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1000还可以包括输入/输出(I/O)接口1005,输入/输出(I/O)接口1005也连接至总线1004。电子设备1000还可以包括连接至I/O接口1005的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1002和/或RAM 1003和/或ROM 1002和RAM 1003以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的物品推荐方法。
在该计算机程序被处理器1001执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1009被下载和安装,和/或从可拆卸介质1011被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。