模型输入数据缺失率监控方法
监控指标定义
模型输入数据缺失率应监控以下关键指标:
- 整体缺失率:总缺失值占总字段数的比例
- 字段级缺失率:每个输入特征的缺失比例
- 时间窗口缺失率:按小时/天统计的缺失趋势
实施步骤
1. 数据采集脚本
import pandas as pd
from datetime import datetime
def monitor_missing_rate(df):
total_cells = df.shape[0] * df.shape[1]
missing_cells = df.isnull().sum().sum()
missing_rate = missing_cells / total_cells
# 字段级缺失率
field_missing = df.isnull().sum() / df.shape[0]
return {
'overall_missing_rate': missing_rate,
'field_missing_rates': field_missing.to_dict(),
'timestamp': datetime.now().isoformat()
}
2. 告警配置
设置以下阈值:
- 严重告警:整体缺失率 > 5%
- 警告告警:整体缺失率 > 1%且 < 5%
- 正常状态:整体缺失率 < 1%
3. 监控集成
在Prometheus中配置监控指标:
# prometheus.yml
scrape_configs:
- job_name: 'model_monitor'
static_configs:
- targets: ['localhost:8000']
4. 告警规则定义
- alert: HighMissingRate
expr: model_input_missing_rate > 0.05
for: 5m
labels:
severity: critical
annotations:
summary: "输入数据缺失率超过5%"
复现验证
- 运行监控脚本获取当前缺失率
- 检查Prometheus指标面板
- 观察告警是否按阈值触发
该方案可快速部署至现有DevOps流水线中,实现模型输入数据质量的实时监控。

讨论