3. 特征缺失的定义与分类:完全缺失、部分缺失、逻辑缺失、结构性缺失

在金融风控数据质量巡检中,特征缺失并非简单的“空值”问题。不同缺失类型对模型训练、特征工程及风险决策的影响差异显著。本章明确定义四种核心缺失类型,并给出金融场景下的典型判别标准。

3.1 缺失类型总览

缺失类型 定义 金融场景典型示例 巡检关注点
完全缺失 某特征在全部样本中均无有效值 “征信查询次数”字段整列为空 数据源接入异常、ETL 配置错误
部分缺失 某特征在部分样本中存在有效值,部分为空 “公积金缴纳基数”仅 60% 客户有值 缺失率波动、缺失模式是否随机
逻辑缺失 因业务规则约束,特定条件下特征不应有值 “配偶收入”对未婚客户为空 业务规则是否被正确编码
结构性缺失 因数据采集系统或流程设计导致整块数据不可得 新接入渠道无“历史逾期天数”字段 数据源版本差异、系统升级影响
巡检提示: 在风控特征巡检中,逻辑缺失不应被当作数据质量问题处理,而应保留为业务规则特征;结构性缺失往往需要触发特征废弃或数据源补录流程。

3.2 完全缺失(Complete Missing)

完全缺失指某个特征在数据集中所有记录均为空值或无效值。在金融风控中,这通常意味着数据采集链路断裂或上游系统未产出该字段。

  • 巡检判定标准: 缺失率 = 100%
  • 常见根因: 接口字段映射错误、数据库列被删除、数据源切换后未同步
  • 处理策略: 立即触发数据源告警,该特征在模型训练中应被排除

3.3 部分缺失(Partial Missing)

部分缺失是最常见的缺失形态,特征在部分样本中有值,部分为空。金融场景中需区分随机缺失与非随机缺失。

子类型 定义 金融案例 对模型影响
随机缺失(MAR) 缺失概率与其他观测变量相关 高收入客户更可能填写“年收入”字段 可引入偏差,需用插补或加权
完全随机缺失(MCAR) 缺失概率与任何变量无关 系统随机丢包导致部分记录缺失 影响较小,可直接删除或均值填充
非随机缺失(MNAR) 缺失概率与缺失值本身相关 违约客户故意不填写“联系方式” 需构建缺失指示变量,谨慎处理
风控警示: 部分缺失中 MNAR 类型在信贷场景中常与“拒绝推断”问题交织,直接删除或简单填充可能导致模型低估违约风险。

3.4 逻辑缺失(Logical Missing)

逻辑缺失是指根据业务规则,特定样本不应拥有该特征的值。这类缺失是合法且预期的,不应被当作数据质量问题。

  • 判定原则: 存在明确的业务条件表达式
  • 金融场景示例:
    • “授信额度”对未通过审批的客户为空
    • “抵押物估值”对信用贷款客户为空
    • “逾期天数”对从未逾期的账户为空
  • 巡检要点: 验证逻辑缺失条件是否与业务规则一致,避免误报
# 逻辑缺失判定伪代码示例
def is_logical_missing(feature_value, business_conditions):
    """
    判断某个空值是否为逻辑缺失
    :param feature_value: 特征值(可能为 None)
    :param business_conditions: 业务条件字典
    :return: (is_logical, reason)
    """
    if feature_value is not None:
        return False, "有值,非缺失"
    
    # 检查业务条件
    if business_conditions.get('loan_status') == 'rejected' and feature_name == 'credit_limit':
        return True, "未通过审批,授信额度应为空"
    
    if business_conditions.get('marital_status') == 'unmarried' and feature_name == 'spouse_income':
        return True, "未婚客户,配偶收入应为空"
    
    return False, "非逻辑缺失,需进一步排查"

3.5 结构性缺失(Structural Missing)

结构性缺失源于数据采集系统的架构差异或版本变更,导致整块数据在特定数据源或时间段内完全不可用。

典型场景: 某金融机构在 2024 年 Q1 升级了核心信贷系统,新系统不再采集“社保缴纳年限”字段,导致 Q1 之后所有新客户该特征均为空。这不是数据质量问题,而是系统结构变更导致的缺失。
  • 巡检特征: 缺失模式与时间、数据源、渠道强相关
  • 处理策略:
    1. 标记该特征在特定数据源/时间段内为“不可用”
    2. 在模型训练中按数据源分群或使用时间窗口过滤
    3. 触发数据治理流程,评估是否补录或废弃该特征

3.6 缺失类型判别流程

以下 SVG 流程图展示了金融风控巡检中特征缺失类型的判别路径:

特征缺失类型判别流程图 特征缺失检测 缺失率 = 100%? 完全缺失 有业务规则约束? 逻辑缺失 系统结构变更? 结构性缺失 部分缺失(需进一步分析) 部分缺失需区分 MAR / MCAR / MNAR

3.7 四种缺失类型对比总结

对比维度 完全缺失 部分缺失 逻辑缺失 结构性缺失
缺失率 100% 0% < x < 100% 条件性 100% 按数据源/时间 100%
是否数据质量问题 是 视情况 否(合法缺失) 是(需治理)
模型处理方式 排除特征 插补/指示变量 保留为业务规则 分群建模或废弃
巡检优先级 最高(立即告警) 高(持续监控) 低(验证规则) 中(触发治理流程)
巡检最佳实践: 在金融风控特征巡检中,建议为每个特征建立缺失类型标签,并在巡检报告中区分“数据质量缺失”与“业务规则缺失”,避免误报和无效告警。