模型输入特征维度变化监控指标设计
在机器学习模型运行时监控中,输入特征维度的变化是关键的异常检测点。当特征维度突然增加或减少时,可能意味着数据管道异常、新特征注入或数据源变更。
核心监控指标
1. 特征维度连续性监控
- 指标:当前批次输入特征维度 vs 历史平均维度
- 阈值:标准差3σ告警,均值±2%波动预警
2. 特征缺失率监控
- 指标:各特征列空值比例
- 阈值:单特征缺失率>10%触发告警,整体缺失率>5%预警
实现方案
# 特征维度监控实现
import numpy as np
from collections import deque
class FeatureDimensionMonitor:
def __init__(self, window_size=100):
self.history = deque(maxlen=window_size)
self.threshold = 0.02 # 2%波动阈值
def monitor(self, feature_matrix):
current_dim = feature_matrix.shape[1]
self.history.append(current_dim)
if len(self.history) < 5:
return None
avg_dim = np.mean(list(self.history))
diff_ratio = abs(current_dim - avg_dim) / avg_dim
if diff_ratio > self.threshold:
return {
'alert': 'DIMENSION_CHANGE',
'current': current_dim,
'expected': avg_dim,
'ratio': diff_ratio
}
return None
讨论