4. 缺失值基础:缺失值类型(MCAR/MAR/MNAR)、缺失机制与对模型的影响

在金融图谱特征工程中,缺失值并非随机噪声,其背后往往隐藏着特定的业务逻辑或数据采集缺陷。理解缺失值的产生机制,是选择正确填充策略、避免模型偏差的前提。本章从统计学角度系统梳理三种缺失机制及其对金融模型的影响。

4.1 三种缺失机制:MCAR / MAR / MNAR

缺失机制由 Rubin(1976)提出的分类框架定义,根据缺失数据与观测数据、未观测数据之间的依赖关系,分为以下三类:

缺失机制 英文全称 核心定义 金融场景示例
MCAR Missing Completely At Random 缺失与任何变量(观测或未观测)均无关,完全随机 系统随机抽样的数据丢失、传感器偶发故障
MAR Missing At Random 缺失仅依赖于已观测到的其他变量,与缺失值本身无关 高收入客户更可能不填写“月支出”字段(收入已观测)
MNAR Missing Not At Random 缺失依赖于缺失变量本身的值(即使控制其他变量) 违约客户故意隐瞒“逾期天数”字段
关键判断原则: 在金融风控场景中,MNAR 是最危险但最常见的缺失类型——缺失本身可能就是风险信号。例如,客户拒绝提供“职业信息”往往与收入不稳定相关,此时缺失值本身具有预测能力。

4.2 缺失机制的可视化对比

下图展示了三种缺失机制在数据矩阵中的依赖关系。箭头表示缺失概率的依赖方向,帮助理解不同机制下的数据生成过程。

三种缺失机制对比(MCAR / MAR / MNAR) MCAR 完全随机缺失 缺失概率 与任何变量无关 观测变量 X 缺失变量 Y ✅ 可忽略,直接删除 MAR 随机缺失(条件依赖) 缺失概率 依赖于已观测变量 观测变量 X 缺失变量 Y 依赖 ⚠️ 需建模填充 MNAR 非随机缺失 缺失概率 依赖于缺失值本身 观测变量 X 缺失变量 Y 自依赖 🚨 需领域知识建模 金融数据中,MNAR 占比最高(约 50-60%),MAR 次之(约 30%),MCAR 最少(约 10-20%)

4.3 缺失机制对金融模型的影响

不同缺失机制对模型训练、推断和业务决策产生差异化的影响。下表总结了核心风险点:

缺失机制 对参数估计的影响 对预测偏差的影响 金融业务风险
MCAR 无偏,但效率降低(样本量减少) 无系统性偏差 低,仅损失统计功效
MAR 若忽略缺失机制,可能产生有偏估计 条件偏差,可通过观测变量校正 中,需使用多重插补或似然方法
MNAR 严重有偏,标准方法失效 系统性偏差,不可忽略 高,可能导致错误的风险定价或信用评分
金融场景警示: 在信用评分卡建模中,如果“收入”字段的缺失属于 MNAR(高收入或低收入客户更倾向不填写),直接删除缺失样本或简单均值填充,会导致模型对极端收入群体的预测能力严重下降,进而引发监管合规风险。

4.4 如何诊断缺失机制

实际数据中,缺失机制往往是混合存在的。以下步骤帮助分析师初步判断:

  1. 统计缺失模式矩阵:使用 missingno 库可视化缺失的共现模式。
  2. 分组比较法:将数据按缺失/非缺失分组,检验其他特征均值是否存在显著差异(t 检验或卡方检验)。
  3. 逻辑回归诊断:构建二元变量 is_missing,以其他完整变量为特征训练分类器。若 AUC > 0.7,则强烈提示非 MCAR。
  4. 敏感性分析:对 MNAR 假设,通过改变缺失值的填充值范围,观察模型输出的稳定性。
# 示例:逻辑回归诊断缺失机制
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import roc_auc_score

# 假设 df 包含特征列和 'income' 列
df['income_missing'] = df['income'].isna().astype(int)
features = ['age', 'education_years', 'credit_score']
X = df[features].dropna()  # 确保特征无缺失
y = df.loc[X.index, 'income_missing']

model = LogisticRegression()
model.fit(X, y)
auc = roc_auc_score(y, model.predict_proba(X)[:, 1])
print(f"缺失预测 AUC: {auc:.3f}")
# AUC > 0.7 提示缺失非 MCAR,需进一步判断 MAR 或 MNAR

4.5 金融图谱特征缺失的特殊性

在图谱特征(如节点度、PageRank、社区归属)中,缺失机制呈现独特模式:

  • 结构依赖缺失:孤立节点(度=0)天然缺失邻居特征,属于 MAR(依赖于图结构)。
  • 传导性缺失:一个节点的缺失会通过图传播影响其邻居的特征计算(如二阶邻居聚合)。
  • 业务语义缺失:在反欺诈图谱中,黑产团伙节点可能故意隐藏关联关系,形成 MNAR。