业务需求
数据集为 2009-2016 年商业银行部分客户的历史数据(54 个自变量, 1 个二分类因变量, 354293 条数据),主要包括用户基本信息,资产状况,历史交易信息,是否购买了该理财产品等信息, 根据现有信息, 提取有价值信息供市场决策以及预测哪些新用户会购买该理财产品.
变量说明
数据描述分析![在这里插入图片描述](https://img-blog.csdnimg.cn/b9ef733955104a9381f88707829e59c1.png)
(1)部分变量的观测存在大量缺失
(2)可能存在重复观测行
proc freq
(3)目标变量观测严重不均衡
(4)存在不少字符型变量
(5)变量之间存在重复
数据预处理
(1)删除重复行(proc sql)
(2)数据抽样,目标变量观测值比例应分布均衡 0:1=3:1(proc
surveyselect)
(3)划分训练集,验证集(ranuni(12345)<0.7)
(4)删除缺失值过多的变量(Excel)
(5)数据集中所有字符型变量重编码处理(if…then…)
(6)填补缺失值,异常值删除或替换(max(min))
(7)数据归一化(去量纲)( proc standard)
(8)变量进一步压缩:相关性分析(proc corr spearman& pearson),主成分分析(proc princomp),逐步回归分析(proc logistic)
删除重复观测行
删除除ID不同外,其他信息均相同的冗余信息后,剩余观测数据为
352487条数据.
抽取均衡数据集
随机抽样,保留target=1中所有数据(11114), 抽样target=0(33342)使1: 0占比1:3,得到新的数据集包含44456条观测值,55个变量.
划分训练数据集和验证数据集
训练数据 : 验证数据 = 7:3
删除缺失值占比大于85%的变量
变量数 | |
---|---|
删除前 | 55 |
删除 | 16 |
删除后 | 39 |
需要进一步压缩的变量数据 | 37 |
字符型变量重编码
F_VIP(VIP)、GENDER(性别) 、F_TEL(签约电话银行)
GAP_FINACE_3(近三个月购买理财产品间隔)、F_STAFF(本行员
工)、C_FIANCE_3(近三个月理财产品购买次数)、F_PAYROLL(代
发工资)、CHANNEL_PRE(该理财产品购买渠道)、F_MOBILE(签约
手机银行)、F_YLJ(代发养老金)、F_HLOAN(房贷)、F_YJL(YLJ用
户)、F_FUND(签约基金)、F_WEB(签约网银)、F_CLOAN(消费贷款)、F_CC(信用卡用户)
得到纯数值型变量的训练数据集data_train, 验证数据集data_test.
填补缺失值,异常值删除或替换
- 连续变量缺失值填补:中位数填补
- 分类变量缺失值填补:众数填补,备注: C_FIANCE_3(近三个月理财产品购买次数) 将缺失值单独做一类填充.
- 离群值替换:超出3sigma范围的数据视为离群值,使用中位数替换;
去量纲(数据归一化)
根据相关性进一步删除变量
连续变量之间的相关性(Pearson)
连续变量与分类变量之间的相关性(Spearman)
分类变量之间的相关性(VIF检验)
删除共线性变量(13): FIX_3 C_FINACE_3 C_FINACE_6
GAP_FINACE_3 DEPOSIT_3 DEPOSIT_6 AUM_3 DEBIT_3 DT_L_FINACE
FUND_3 FUND_6 FINACE_3 C_1W_TR_3
剩余连续变量(9): FIX_6 FINACE_6 GAP_FIANCE_6 C_1W_TR_6
AUM_6 DEBIT_6 AGE DOB A_L_FIANCE,
剩余分类变量(14): F_CC F_CLOAN F_FUND F_HLOAN F_MOBILE
F_PAYROLL F_STAFF F_TEL F_VIP F_WEB F_YJL F_YLJ CHANNEL_PRE
GENDER.
逐步回归方法进一步压缩变量
变量逐一进入模型方程,在引入变量时利用残差平方,当方程加
入了该变量后,一旦该变量对残差的变化不显著时即可删除该变
量,如此下去,逐一删除变量。
压缩后剩余显著变量有(7):
回归模型预测
ods graphics on;
proc logistic data=bank.data_train_std
outmodel=bank.data_model plots(MAXPOINTS=5000)=roc;
class CHANNEL_PRE F_WEB GENDER;
model target(event='1')=&var1 /pprob=0.40 ctable; *参数可调
score out=bank.data_train_score;
run;
proc logistic data=bank.data_test_std
plots(MAXPOINTS=5000)=roc;
class CHANNEL_PRE F_WEB GENDER;
model target(event='1')=&var2;
run;
ods graphics off;
模型回归方程 Z = 0.5920AUM_6+0.8884CHANNEL_PRE-
0.1222F_WEB-
0.3675DOB+2.0311AGE+0.1005GENDER+0.0480*GAP_FINACE_6 –6.2444
训练集准确率=0.8074
验证集准确率=0.8083
分析与结论
(1) 多关注年龄偏高的用户群体
(2) 引导用户使用网络渠道
(3) 关注行龄比较久的客户,这类客户购买意向较高
(4) 在历史购买人群中,女性占多数,因此着重关注女性用户
预测功能
如果要向新用户推荐该理财产品,可着重关注近六月在我行的月均流水, 该用户的年龄,之前该买别的理财产品的频率,购买渠道偏好,是否已开通网银及手机银行, 账龄,性别等维度信息, 通过模型进行预测该用户会够买该理财产品的概率.从而让理财产品经理在筛选目标客户有所放矢,提高工作效率及成功营销概率.