
1) 【一句话结论】构建不良资产回收预测模型的核心是通过业务驱动的特征工程(含高比例缺失值删除、异常值分箱/聚类处理),结合分类/回归算法,输出回收概率或时间,关键在于提升模型对回收行为的预测精度,同时满足最大化回收金额的业务目标。
2) 【原理/概念讲解】不良资产回收预测属于分类(是否回收)或回归(回收时间)问题。特征工程是模型性能的核心,步骤包括:
3) 【对比与适用场景】分缺失值和异常值处理方法:
缺失值处理:
| 方法 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 均值/中位数填充 | 用列均值/中位数替换缺失值 | 简单,可能引入偏差 | 缺失比例低(<10%),数据分布对称 | 偏态分布(如收入)用中位数,避免均值偏差 |
| 机器学习填充(KNN) | 用相似样本的值填充 | 保留数据分布 | 缺失比例中等(10%-30%),数据量足够 | 计算成本高,需选择合适K值(5-10),避免过拟合 |
| 删除缺失值 | 直接移除含缺失的样本 | 简单,可能损失信息 | 缺失比例低(<5%),样本量充足 | 高比例缺失(>30%)时,删除特征或样本,避免信息丢失过多 |
| 降维/变换 | 通过变换(如对数)减少缺失影响 | 处理高维数据 | 缺失比例高(>30%) | 可能改变数据分布,需验证 |
异常值处理:
| 方法 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 删除异常值 | 移除超出阈值或离群点 | 简单,可能损失信息 | 异常值比例低(<5%),样本量充足 | 高比例异常(>15%)时,删除会导致数据偏差 |
| 修正异常值 | 用合理值替换(如均值、中位数) | 保留数据完整性 | 异常值比例低(<5%),数据分布已知 | 避免掩盖真实风险,如逾期天数极高但实际可回收 |
| 分箱(分箱化) | 将变量分箱为区间(如逾期天数分箱为正常、轻度、严重) | 简单,保留分布信息 | 异常值比例中等(5%-15%) | 区间划分需结合业务逻辑(如逾期30天为轻度,90天为严重) |
| 聚类(DBSCAN等) | 用聚类识别异常簇 | 处理高维或复杂异常 | 异常值比例高(>15%) | 需选择合适的距离参数(eps),避免误判 |
4) 【示例】(伪代码展示数据清洗与特征构造):
import pandas as pd
from sklearn.impute import SimpleImputer, KNNImputer
from sklearn.preprocessing import StandardScaler
# 加载数据
data = pd.read_csv('asset_data.csv')
# 1. 处理高比例缺失值(如收入30%缺失)
# 删除收入特征(因缺失过多无法有效补充)
data = data.drop(columns=['income'])
# 2. 处理异常值(逾期天数15%异常,分箱处理)
Q1 = data['overdue_days'].quantile(0.25)
Q3 = data['overdue_days'].quantile(0.75)
IQR = Q3 - Q1
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR
data['overdue_bin'] = pd.cut(data['overdue_days'],
bins=[-float('inf'), 30, 90, 180, float('inf')],
labels=['正常', '轻度逾期', '严重逾期', '极严重逾期'])
# 3. 特征构造(滚动平均逾期天数)
data['rolling_avg_overdue'] = data.groupby('loan_id')['overdue_days'].rolling(window=3).mean().reset_index(0, drop=True)
# 4. 少量缺失值处理(信用评分用中位数填充)
imputer_median = SimpleImputer(strategy='median')
data['credit_score'] = imputer_median.fit_transform(data[['credit_score']])
# 5. 标准化(用于模型训练)
scaler = StandardScaler()
data[['debt_ratio', 'loan_amount']] = scaler.fit_transform(data[['debt_ratio', 'loan_amount']])
5) 【面试口播版答案】(约90秒):
“面试官您好,构建不良资产回收预测模型的核心是通过业务驱动的特征工程,重点处理缺失值和异常值,结合分类/回归算法输出回收概率或时间。首先,数据预处理阶段,针对高比例缺失值(如>30%),我们选择删除相关特征(如收入,因缺失过多无法有效补充);对于异常值(如逾期天数异常比例>15%),采用分箱化处理,将逾期天数分为正常、轻度、严重等区间,保留业务分布信息。然后,特征工程结合业务逻辑,比如针对房地产不良资产增加抵押物评估价值、房产位置等特征;消费信贷增加历史还款延迟次数、滚动平均逾期天数等滞后特征。模型选择上,通常用XGBoost或随机森林,通过滚动窗口交叉验证(时间序列数据),优化参数后输出回收概率。整个流程确保模型能精准捕捉回收行为,同时满足业务目标(如最大化回收金额)。总结来说,关键在于数据质量提升和业务特征的有效构造,这样才能让模型更贴合不良资产回收的实际场景。”
6) 【追问清单】:
feature_importances_或SHAP值,识别关键特征(如信用评分、抵押物价值、逾期天数),指导业务调整(如加强高信用评分但逾期严重的案例的回收策略)。7) 【常见坑/雷区】: