评分卡的优势:
可解释性的对策
稳定性的要求及其对策
及时监控的要求
审核要求: 分数分组, 分区间
量化损失的要求, 确定利息成本
特征工程的优化方向:
命名的规则化: 因在特征变量的命名中包含: 数据来源, 数据分布类型(连续型, 离散型 ), 数据类型(字符, 数字), 以便做自动化
同源特征的自动化: 自动做 乘 / 除 / log 等操作, 生成新衍生.
特征的分 bin: 自动化计算最优分 bin (ChiMerge 算法), 自动生成对应的分 bin 代码逻辑(在命名规则的前提下)
对于 B/C 卡: 提供逾期类的细节时序特征的自动化生成: Rencent / Frequent / Count 等特征的自动生成
(重点: 支持后期监控, 建模前的分时段进行特征分布检测)GBDT 的思想使其具有天然优势可以发现多种有区分性的特征以及特征组合. 业界中, Facebook 使用其来自动发现有效的特征, 特征组合, 来作为 LR 模型中的特征, 以提高 CTR 预估 (Click-Through Rate Prediction) 的准确性(详见参考文献 5,6);GBDT 在淘宝的搜索及预测业务上也发挥了重要作用(详见参考文献 7).
为了保留用户的逾期类的细节特征, 可以加上时间维度, 转换成二维数据, 使用 autoencoder 将数据转换到新空间, 再转换成一维, 方便入 LR, 也可以以此与人工设计的统计类特征做对比.
特征选择优化方向:
使用 variance Threshhold 筛除掉方差较低的特征
使用 f_regression(F-score) 方法来做特征筛选, 发现线性相关的特征
使用 mutual_infomation 来发现任意类型的相关性特征
使用 chi2 卡方检验 (仅适用于离散特征, 如统计量之类) 做 特征与 label 的独立性检验
Spearman 顺序型 秩相关系数
Kendall 等级相关
使用 varcluster 或者 来根据高相关性特征 - 做特征分组筛选
RFE (recursive features elimination) 特征筛选最优组合
使用 step-wise 做最优化特征组合的发现 :
VIF 的共线性对于模型的影响: 1. 容易过拟合 2. 如果入模型的特征变量中, 多个模型特征能够表达另一个特征, 那说明这几个特征中存在某个分量方向 与 另一特征变量夹角很小, 从而表现出类似于夹角很小的两个向量的点乘结果较大, 从而使得该向量方向对于模型的贡献分值过大, 进而使得模型有偏, 不稳定, 影响模型表现.
模型训练的优化方向:
SMOTE
生成新样本: 使用 GAN 生成坏样本 https://zhuanlan.zhihu.com/p/25071913
加权
overSampling
使用 http://rasbt.github.io/mlxtend/ 来绘制模型分割面, 以分析数据及模型的过拟合情况
hyperopt
贝叶斯参数调优
模型集成:
将现有的 statsmodel 的模型训练过程代码嵌入到 sklearn 中, 让他变成一个 Pipeline 的一部分, 包含 dataSaver
利用 GBDT 生成的特征做 model
分分钟带你杀入 Kaggle Top 1% https://zhuanlan.zhihu.com/p/27424282
如何进入 Top 10%
Xgboost 原理与调优
监控的优化方向:
psi 计算
打分异常问题自动计算定位
采用 auto_encoder + logistic 建模, 此时, 需要监控的就是 auto_encoder 的各个维度, 可以做到提前发现异动, 但如何定位具体导致问题的原因所在, 依然较为困难.
模型的分界面可视化: mlxtend
上线实施的优化方向:
优化实施过程: 根据将训练好的模型参数, 分 bin 逻辑, woe 自动化输出, 生成实施过程需要的 分 bin 逻辑代码, woe 转换代码
优化实施打分与离线打分的核对流程:
实施打分表 与 离线打分表的结构统一, 方便使用两份数据的对应字段进行 分 bin 和 woe 的数值比对, 确认离线与实施代码的逻辑一致性.
提供自动核对与统计的代码
数据预处理:
- Z-score
- Min-max (对于神经网络类存在激活函数 Saturation 问题的, 建议标准化到: 0.1~0.9 区间, Depending on the task objetives. For example; for neural networks is recommended normalization Min max for activation functions. To avoid saturation Basheer & Najmeer (2000) recommend the range 0.1 and 0.9. Another possibility is to use the Box Cox transformation + constant to avoid the problem of the zeros)
- Std-norm
数据验证:
各时间阶段 ylabel 的分布
各类统计量
分 bin 标准
好坏比(对数几率? Logit? woe) 差 15
最多 8 个分 bin
最少分组含有 2% 的样本, 其中不少于 30 的坏用户样本
Bad_rate 单调递减
Bad rate 尽量等差
类别型的特征转换
- LabelEncoder
- OneHotEncoder(dummies)
- Woe
单颗树的叶子节点编号
数值类变量分组 或 类别型变量的离散化优化方法:
Gini
卡方
信息熵增益 (决策树的叶子节点编号, 再合并分组, 再确定目标数值?)
WOE (非线性转换, 与强烈暗示性的数值)
筛选:
Varclus 分组,
特征选择:
单变量特征选择:
回归类: f_regression , mutual_info_regression
分类: chi2 , f_classif , mutual_info_classif
递归特征降维: sklearn 的 RFE 方法
相似度
unique column
特征取值极度不平衡: 99:1
全自动分箱 与 逻辑生成:
全自动分 bin: 参考分 bin 标准
模型参数:
imbalance
拒绝推断对于模型的提升
建模初期选用的是 "有偏样本" , 只选择了在公司业务系统中有表现的用户, 实际上, 还有之前并未通过系统的样本也是申请者之一, 他们属于样本总体, 但却被筛选掉了.
正确标准的做法是: 使用: 对被拒绝用户进行推断演绎技术, 即: 使用有偏的有变现用户进行第一版建模, 完成后, 使用该模型对''被拒绝用户''进行预测, 然后 将预测的概率作为其权重, 重新加入训练样本中, 重新分 bin 和建模, 这样才能用上原始的真正分布.
金融领域建模使用 ks 或者 auc 的原因是什么
ks 与 auc 可以量化区间的损失或者说坏账率在承受范围内, 并可以以此计算出放贷的基础利率
正负样本的不均衡使得像 accuracy 这类指标不适用.
评分卡 逻辑回归中的模型指标解释说明 :
卡方: 越接近 1 越好
Adj. R-squared:
F 统计量: 大于 3.86
Prob 统计量:
logs 似然
AIC :
BIC :
T 统计量: 每个变量的绝对值都应大于 1.96
P 值> |t|: 都应小于 0.05
参考:
SPSS 分析技术: 线性回归分析(Evernote 有保存) https://zhuanlan.zhihu.com/p/25507503
回归模型的一些判断方法 (Evernote 有保存)
- OLS Regression Results
- ==============================================================================
- Dep. Variable: LTS R-squared: 0.531
- Model: OLS Adj. R-squared: 0.453
- Method: Least Squares F-statistic: 6.806
- Date: Fri, 27 Apr 2018 Prob (F-statistic): 0.00291
- Time: 15:30:53 Log-Likelihood: 85.700
- No. Observations: 22 AIC: -163.4
- Df Residuals: 18 BIC: -159.0
- Df Model: 3
- Covariance Type: nonrobust
- ==============================================================================
- coef std err t P>|t| [95.0% Conf. Int.]
- ------------------------------------------------------------------------------
- const -0.9666 0.449 -2.155 0.045 -1.909 -0.024
- fpd90 -5.6018 2.940 -1.905 0.073 -11.778 0.575
- log_sub 5.5858 2.933 1.905 0.073 -0.576 11.747
- log2_add -5.6248 2.950 -1.907 0.073 -11.823 0.573
- log_add -5.6177 2.947 -1.906 0.073 -11.809 0.574
- log10_add -5.6087 2.943 -1.906 0.073 -11.792 0.574
- sqrt_add -0.6421 0.647 -0.992 0.334 -2.002 0.718
- log2_sub 5.5787 2.930 1.904 0.073 -0.576 11.734
- log10_sub 5.5948 2.937 1.905 0.073 -0.575 11.765
- sqrt_sub 10.5615 5.269 2.005 0.060 -0.507 21.630
- ==============================================================================
- Omnibus: 0.110 Durbin-Watson: 1.900
- Prob(Omnibus): 0.946 Jarque-Bera (JB): 0.047
- Skew: 0.047 Prob(JB): 0.977
Kurtosis: 2.795 Cond. No. 1.05e+19
==============================================================================
参考:
递归特征筛选法 RFE :
F-test 与 互信息 在特征与 label 的相关性计算上的对比:
嵌套交叉验证 Nested versus non-nested cross-validation:
标准化的重要性:
特征融合:
Stepwise 存在的问题:
多个模型用 AUC 作为筛选, 用 TPR 确定决策点:
特征的聚类: 谱聚类(varcluster 是否由 PCA 计算特征向量个数, 再根据此设定 cluster 数量, 使用谱聚类计算结果),
样本相似度度量方法 拉普拉斯核函数 高斯核 RBF 核函数的表达式:
傅里叶级数与希尔伯特空间的说明:
特征聚类:
LR 不会偏移分离超平面向大类: this is an imbalanced dataset, you could do under sampling for majority case as the results are always going to be biased towards majority (exception Logistic Regression) use SMOTE, ROSE, k-medoids for the same. Or you could do random under sampling :
来源: http://www.bubuko.com/infodetail-3121660.html