3. 数据采集与预处理:数据源类型、数据清洗、缺失值处理、异常值检测
在贷后预警实验中,数据质量直接决定模型的有效性与稳定性。本阶段的核心任务是从多源异构系统中采集原始数据,并通过系统化的预处理流程,将其转化为可供建模与分析使用的干净、一致、可靠的数据集。以下从数据源类型、数据清洗、缺失值处理、异常值检测四个关键环节展开论述。
3.1 数据源类型
贷后预警所需数据通常来源于金融机构内部系统与外部征信/第三方数据源。根据数据产生主体与存储位置,可划分为以下三大类:
| 数据源类别 | 典型系统/来源 | 主要字段示例 | 采集频率 |
|---|---|---|---|
| 内部核心数据 | 核心银行系统、信贷管理系统、账务系统 | 贷款余额、还款计划、逾期天数、利率、担保信息 | 日频 / 实时 |
| 内部行为数据 | 手机银行APP、网上银行、客服系统、交易流水 | 登录频次、交易金额、资金流向、设备指纹、客服投诉记录 | 日频 / 事件触发 |
| 外部征信与替代数据 | 人行征信、百行征信、税务系统、工商司法、社保公积金、运营商数据 | 征信查询次数、逾期历史、纳税评级、涉诉记录、通话时长、位置轨迹 | 月频 / 按需查询 |
实践提示: 内部核心数据是预警模型的基础底座,行为数据可提升模型对客户近期风险变化的敏感度,外部数据则用于补充长周期信用画像。建议优先保证内部核心数据的完整性与时效性,再逐步引入外部数据源。
3.2 数据清洗
数据清洗是预处理流程中的基础环节,旨在识别并修正数据中的错误、不一致与冗余。贷后预警场景下,常见的数据质量问题及清洗策略如下:
- 格式标准化: 统一日期格式(如 YYYY-MM-DD)、金额单位(统一为元)、证件号码格式(身份证18位校验)、电话号码格式(去除空格与特殊字符)。
- 去重处理: 基于客户唯一标识(如身份证号、客户号)对多系统来源的数据进行去重,保留最新或最完整的一条记录。
- 逻辑校验: 检查字段间的逻辑一致性,例如“贷款余额”不应为负值,“逾期天数”与“还款状态”应相互匹配,“放款日期”应早于“到期日期”。
- 字段拆分与合并: 将地址字段拆分为省/市/区/详细地址,将姓名与证件号合并为唯一键等。
关键原则: 数据清洗应保留原始数据备份,所有清洗操作均需记录转换日志,确保可追溯、可回滚。对于无法自动修正的脏数据,应标记为“待人工核查”而非直接删除。
3.3 缺失值处理
缺失值是贷后数据中的常见现象,可能由系统故障、人工录入遗漏、字段非必填等原因造成。缺失值处理策略需结合缺失率、字段重要性及数据分布特征综合选择:
| 缺失率范围 | 推荐处理策略 | 适用场景说明 |
|---|---|---|
| < 5% | 直接删除(行删除)或均值/中位数填充 | 缺失比例极低,对整体分布影响可忽略 |
| 5% - 30% | 统计填充(均值/中位数/众数)或模型预测填充(KNN、回归) | 字段重要性中等,需保持样本量 |
| 30% - 60% | 增加“是否缺失”指示变量 + 统计填充 | 缺失本身可能包含信息(如未查询征信可能代表客户风险特征) |
| > 60% | 删除该字段,或保留为弱特征并配合强正则化 | 缺失率过高,填充引入的偏差可能大于收益 |
注意: 对于贷后预警中的关键风险指标(如“当前逾期天数”、“还款金额”),即使缺失率较低,也应优先采用模型预测填充或业务规则填充,避免直接删除导致样本偏差。时间序列类字段(如“最近一次还款日期”)建议使用前向填充(Forward Fill)或插值法。
3.4 异常值检测
异常值是指与数据集中大多数样本显著偏离的观测值,可能源于录入错误、系统故障、欺诈行为或真实的极端风险事件。贷后预警中,异常值检测的常用方法包括:
- 统计方法: 基于 Z-Score(标准分数)或 IQR(四分位距)识别离群点。Z-Score 绝对值大于 3 通常视为异常;IQR 方法中,低于 Q1 - 1.5×IQR 或高于 Q3 + 1.5×IQR 的点为异常。
- 业务规则法: 根据贷后业务知识设定阈值,例如“单日交易金额超过客户月均收入的 10 倍”、“同一设备登录超过 50 个不同账户”等。
- 机器学习方法: 使用孤立森林(Isolation Forest)、LOF(Local Outlier Factor)、DBSCAN 聚类等无监督算法检测多维异常。
实践建议: 在贷后预警场景中,推荐采用“业务规则 + 孤立森林”两阶段异常检测策略。第一阶段用业务规则快速过滤明显异常(如金额为负、日期穿越),第二阶段用孤立森林对剩余样本进行多维异常评分,最终输出异常概率值供后续模型参考。异常值不应简单删除,而应结合业务背景判断是否属于欺诈或真实风险信号。
3.5 预处理流程总结
数据采集与预处理是贷后预警实验的基础工程,其输出质量直接影响后续特征工程与模型训练效果。完整的预处理流程可归纳为以下步骤:
- 数据接入: 从各数据源抽取原始数据,统一存储至数据湖或数据仓库。
- 数据探查: 进行描述性统计,了解字段分布、缺失率、异常值比例。
- 数据清洗: 执行格式标准化、去重、逻辑校验、字段拆分/合并。
- 缺失值处理: 根据缺失率与字段重要性选择删除、填充或增加指示变量。
- 异常值检测与处理: 采用统计方法、业务规则或机器学习方法识别异常,并标记或修正。
- 数据质量评估: 输出数据质量报告,确认预处理后的数据集满足建模要求。
效率提示: 建议将上述预处理流程封装为可复用的 ETL 管道(如使用 Python 的 Pandas + PySpark,或 SQL 存储过程),支持自动化调度与增量更新,以应对贷后预警业务中每日新增的数据量。