4. 异常检测概述
在费用报销与审批链场景中,异常检测不是单纯找“离群点”,而是要在业务规则、审批权限、时间节奏与财务合规之间建立可解释的判断体系。本节先建立共同语言:什么算异常、异常有哪些类型、我们究竟要检测什么、受哪些约束、用什么指标衡量效果。
一、异常定义:从统计偏离到业务违规
异常(Anomaly)通常指显著偏离大多数样本或既定规则的数据模式。在费用报销中,这种偏离可能表现为金额、频率、时间、地点、审批路径或票据特征上的不合理。但要注意:统计上的离群不等于业务违规,业务违规也未必在统计上离群。因此我们采用三层定义:
- 统计异常:与历史分布或同类群体显著不同,如某员工单笔差旅费是部门均值的 8 倍。
- 规则异常:违反明确制度,如超标住宿、缺少发票、重复报销同一张票据。
- 行为异常:审批链或操作序列异常,如审批人长期在深夜批量通过、同一审批人既申请又审批。
二、异常分类:按对象、机制与粒度划分
为了让检测任务可落地,我们按三个维度分类。第一维是检测对象:单据级、员工级、审批人级、供应商级。第二维是异常机制:点异常、上下文异常、集体异常。第三维是业务语义:金额异常、时间异常、路径异常、票据异常、关系异常。
| 异常类型 | 典型表现 | 检测信号示例 |
|---|---|---|
| 点异常 | 单笔金额远超同类 | 金额 z-score > 3,且无特殊审批 |
| 上下文异常 | 同一金额在旺季正常、淡季异常 | 结合时间、部门、出差事由判断 |
| 集体异常 | 多人多单形成拆分报销 | 同一天、同一供应商、金额接近阈值 |
| 路径异常 | 审批链跳级、缺失或循环 | 审批序列与标准路径编辑距离过大 |
| 关系异常 | 申请人与审批人存在利益关联 | 共用银行账户、同一设备、频繁互审 |
三、检测目标:从“抓坏人”到“降风险、提效率”
检测目标决定模型与阈值的选择。常见目标包括:
- 发现高风险单据:优先召回严重违规,允许一定误报,由人工复核兜底。
- 压缩审核工作量:在保证召回的前提下,把低风险单据自动通过,减少人工抽检比例。
- 监控审批链健康度:识别审批瓶颈、形式审批、权力集中等结构性问题。
- 支持审计与合规取证:输出可追溯的证据链,满足内审与外部监管要求。
四、业务约束与评估指标
费用报销数据具有强业务约束:审批链是有向序列、金额有制度上限、时间不可逆、票据唯一、权限分层。这些约束既是特征来源,也是检测边界。例如,不能把“金额为负”的冲销单直接判为异常,因为它可能是合法红冲。
评估指标需结合业务成本。常用指标如下:
precision = TP / (TP + FP) # 误报高则人工复核成本高
recall = TP / (TP + FN) # 漏报高则合规风险高
F_beta = (1+beta^2)*P*R / (beta^2*P + R)
# beta > 1 更看重召回,适合高风险审计场景
alert_rate = 告警单数 / 总单数 # 控制人工复核容量
cost = C_fp * FP + C_fn * FN # 业务总成本,用于阈值调优
在审批链场景中,还可引入路径级指标:路径召回率、审批节点命中率、平均发现延迟(从异常发生到告警的天数)。这些指标比单纯准确率更能反映业务价值。
五、案例与复盘:一次拆分报销的检测
某部门在 3 天内提交 6 笔差旅报销,单笔金额均为 4800~4950 元,低于 5000 元审批阈值,供应商均为同一家酒店。单看每笔都正常,但集体异常检测发现:同一员工、同一供应商、金额聚集在阈值下方、时间密集。系统输出风险分 0.87,并附证据:金额分布直方图、时间线、供应商集中度。人工复核确认存在拆分规避审批。复盘结论:点异常模型漏报,必须引入集体异常与阈值邻近特征。
综上,异常检测概述的核心是建立“定义—分类—目标—约束—指标”的闭环。只有把业务约束嵌入特征与评估,才能让检测结果既准又可解释、既降风险又不压垮审核团队。