论文 | Predicting Mortgage Default Using Convolutional Neural Networks
本篇博客是对之前阅读的论文的一个介绍,该论文是采用 CNN 模型来对抵押贷款违约进行预测。
论文信息
论文题目:Predicting Mortgage Default Using Convolutional Neural Networks
发表期刊:Expert Systems With Applications
发表年份:2018年
1. 摘要
本文采用卷积神经网络的方法根据用户的交易数据预测抵押贷款违约,用到了时间序列。和之前研究相比不同的地方有:
- 数据只采用了交易数据的相关信息,(之前的文章采用相似的可解释变量,探索得分模型的不同);
- 采用了卷积神经网络,利用 CNN 来学习如何创造出好的可解释变量,或者自动从原始的时间序列中生成特征工程。
1.1 主要创新点
- 违约数据的扩增和非违约数据的扩增。
- 特征的选择
2. 数据
(1) 文章中使用到的时间序列如下表:
每个时间序列由聚合到每日水平的值组成。
(2) 训练集和预测集
将数据分为测试集和训练集。
对于训练集的数据,提取了2012.12.31 - 2013.12.31的数据,并且采用 2014.1.1 - 2015.1.1 期间的数据作为响应变量,即标注这段时间违约或者不违约的人。
对于测试集的数据,将 2014.2.28 - 2015.2.28 这期间的数据作为测试集,响应变量是2015.3.1-2016.3.1的数据。
(3)处理时间序列
数据归一化
缺点:实际大小被删除 只有相对大小
3. 方法
讲得比较详细了,代价函数:
模型框架:
单个时间序列的CNN模型
两个卷积层,每层都有一个max pooling,两个全连接层
防止过拟合
① We used this set to stop the gradient descent iterations when the net starts to overfit. This technique is commonly referred to as early stopping.
② Another common form of regularization is dropout ( Srivastava, Hinton, Krizhevsky, Sutskever, & Salakhutdinov, 2014 ), which simply sets activations to zero with a given probability during training. This prevents units in the network from co-adapting too much. At test time, the dropout layer scales the activations according to the dropout rate. We use dropout with rate 0.5 between the two last layers, but it can in practice be applied between any two layers.
4. 数据扩增
相关文献:However, recently some attempts of performing data augmentation on time series have been proposed. Le Guennec et al. (2016) explore the possibilities of training a CNN in a semi-supervised manner using time series from other datasets. Cui et al. (2016) propose a sliding window technique where they split the time series in many overlapping slices, and train a classifier using each slice as an individual series. This is in some sense similar to other time series prediction tasks where the dataset originally consists of many overlapping series of data (e.g. Ordóñez & Roggen (2016) ).
在我们设定的作为相应变量的期间,第一次出现违约的前一个月定义为训练期的end,训练期时长为2年。如果不足2年,则按照最早的算。
window设定为365天,设定stride,直到达到末尾。增加训练的样本。
对于非违约数据的增加,采用相似的方法。
5. Discussion
- CNN有一系列的超参数,如层数、层数和正则化类型等。表现最好的CNN两个卷积和两个全连接的层,y预测结果达到了0.915的AUC值。考虑到我们的训练集只有 12,696 名客户,并且我们不使用帐户数据以外的任何其他信息,结果是很有希望的。
- 数据集越大,AUC值越高;时间序列越长,AUC值越大。
- 只使用交易数据,就会丢弃许多通常用于信用评分的其他信息性数据,例如贷款余额、社会经济数据、支付历史和信用资产数据。此外,在拟合CNN之前,所有时间序列都被缩放到区间[0,1]内,这意味着有关时间序列大小的信息将丢失。为了考虑尺度,一个随机森林分类器被拟合到从未尺度序列中提取的协变量中,得到的AUC值为0.913。通过结合cnn和随机森林的预测,我们实现了0.925的AUC值。