风控体系:策略与模型

目录

同设备注册多个账号,既可能是批量套利,也可能是家庭共用设备。规则可以把它筛出来,但要决定是否拒绝,还需要结合领取节奏、历史结果和本次潜在损失。风控总览讨论了判断、执行与反馈的完整链路;本篇继续回答:如何把这些证据变成可检验的策略?

模型负责估计目标事件,策略负责选择业务动作。 两者之间还隔着样本偏差、概率校准、成本与执行约束。离线 AUC 更高,只完成了其中一部分。

本文以优惠活动反滥用说明策略设计,评分卡部分使用明确标注的“好坏样本”教学例子。所有数值算例均用于解释方法,不代表线上实验。

规则与模型承担不同的确定性

资格已经用尽、活动已经结束,这些条件可以直接校验。对批量滥用的推测则有不确定性:同设备账号数只是一个信号,结合注册时间、核销行为和已核实关联后,才可能获得更强证据。

机制 适合表达什么 需要验证什么
业务规则 资格、额度、时间范围等明确约束 条件完整性、并发一致性、规则版本
风险规则 具有解释性的组合信号 命中质量、覆盖变化、误伤对象
统计模型 多个信号与目标事件的关系 时点可用性、泛化、校准与分群表现
处置策略 判断结果如何映射为动作 成本、容量、权限、执行与申诉

规则可以累加分数,模型也可以输出离散类别,不能把二者机械分成“0/1”和“连续值”。更关键的区别在于证据如何形成、更新,以及是否适合当前决策。

对于同设备多账号,一条组合规则可以要求“账号数较多,且领取集中于很短时间”;具体阈值应从对应业务样本和动作成本中确定。它仍然只能产生风险信号,不能把整台共享设备上的所有用户都自动认定为同一人。

执行结构与判断逻辑分别设计

先查资格再调用模型,是执行依赖;两个检测并行运行,是调度方式。AND、OR、评分融合和优先级,则是结果组合方式。串行或并行不天然对应任何一种布尔逻辑。

组合多个模型之前,还要核对它们预测的是不是同一目标、同一时间窗口,分数方向和标定是否一致。盗号概率与优惠滥用分数不能直接相加;两个高度相关的设备模型也可能重复计算同一证据。使用 Stacking 等学习组合时,应采用折外预测训练组合层,避免把基模型的训练集拟合结果当成独立证据。

样本定义先于算法选择

模型学习的是标签定义,而不是抽象的“坏人”。一次活动领取是否违反资格、是否有经核实的批量滥用、是否最终造成补贴损失,是不同目标。

构造样本前至少确定四件事:

  1. 决策时点:需要预测的是领取前的风险,还是核销前的风险。
  2. 观察窗口:结果在多久后才足以确认,尚未成熟的样本如何处理。
  3. 标签依据:来自调查、业务结果还是人工判断,是否可能被申诉纠正。
  4. 可见人群:模型只看到了通过旧策略的人,还是覆盖了全部申请者。

退款不能自动等于欺诈,未投诉不能自动等于正常,被旧规则拒绝也不能直接作为正样本。训练集应保留未知标签与确认时间,而不是为了凑齐二分类数据抹掉这些差别。

防止把未来信息带回过去

领取时只能使用当时已经可用的信息。即便某条行为的事件时间早于领取,如果它延迟到决策后才进入特征系统,历史回放也不应提前使用。

离线和在线特征需要共享统计定义、去重键、窗口边界和缺失语义。计算“领取次数”时,HTTP 重试、业务申请与成功发券不能混为一谈。对超时或采集故障返回的空值,也不能未经区分地填成零。

评估划分应贴近部署方式。预测未来请求时,需要保留靠后的时间段;要检验新账号或新团伙上的泛化,还应控制实体重叠。按行随机划分会把同一设备或团伙的相邻行为分到训练集与测试集,造成过于乐观的结果。

分箱、特征筛选、标准化、目标编码和校准都必须在相应训练或独立校准数据上拟合,再应用到验证集。测试集不能参与这些步骤。scikit-learn 对数据泄露与预处理的说明

特征工程把原始事件变成可解释证据

同样是“高频”,累计次数、瞬时突发和周期性重复表达的含义不同。特征应尽量对应一个可以检验的行为假设。

特征类型 优惠活动中的例子 解释时要保留的条件
频次与速度 同一主体在窗口内的成功领取次数 业务去重、窗口边界、当前请求是否计入
关联 同设备关联的独立账号数 指纹误差、共享设备、关联有效期
序列 注册、浏览、领券、核销的顺序与间隔 埋点缺失、客户端时间可信度
结果 已成熟订单中的历史异常比例 标签成熟度、样本量、业务差异
图结构 与已核实滥用账号的有限路径关系 边的来源、时间和强度,公共节点影响

高连接度节点可能是团伙中心,也可能是公共网络或正常服务商。图算法可以帮助发现调查线索,但沿关系传播的风险分不能伪装成逐个账号已经查实的结论。

新增数据源的价值也应按决策增量判断。它是否在已有特征之外降低了损失,是否减少了不必要的验证,收益能否覆盖采集、调用、延迟及治理成本?单变量区分度高,不代表值得采集,更不代表具有无限使用权限。

WOE 与评分卡:先统一符号和分数方向

WOE 常用于把分箱后的变量转成与好坏样本分布有关的数值。这里规定“坏”为目标事件,“好”为非目标事件:

WOEᵢ = ln(goodDistᵢ / badDistᵢ)

其中 goodDistᵢ 是第 i 箱的好样本数占全部好样本数的比例,badDistᵢ 同理。在这个约定下,正 WOE 表示该箱的坏样本赔率低于总体,不表示这一箱没有风险。WOE 与事件率的关系

下面是一组教学计数:

箱 好样本 坏样本 goodDist badDist WOE
A 450 10 0.50 0.10 1.609
B 270 30 0.30 0.30 0
C 180 60 0.20 0.60 −1.099
合计 900 100 1.00 1.00 —

信息值 IV 定义为 Σ(goodDistᵢ − badDistᵢ) × WOEᵢ。上表约为 1.083,它描述这组样本上两类分布的差异。数值很高时,首先排查目标泄露、样本划分和特征含义,不能直接宣称发现了一个优秀变量。

某箱好或坏样本为零时,对数不可直接计算。若采用平滑,可对每一类、每一个箱加入相同 α,并相应修改分母。例如好样本分布使用 (goodᵢ + α) / (goodTotal + αK),K 为箱数。只给分子加数而不重新归一化,会破坏分布定义。

分箱也不是越细越好。小样本箱会让 WOE 不稳定,按标签反复调箱容易过拟合;缺失值是否独立成箱、是否施加单调约束,应结合业务机制和验证结果决定。WOE 转换本身并不保证逻辑回归假设成立。

从概率到分数的映射

逻辑回归使用线性组合描述坏样本概率 p 的对数赔率:

ln(p / (1 − p)) = β₀ + Σβⱼxⱼ

概率本身不是输入的线性函数。模型是否校准,仍取决于样本、模型设定和训练方式。

若希望分数越高风险越低,可以定义:

Score = A − B × ln(p / (1 − p))

设基准坏赔率为 1:50 时得分 600,每当坏赔率翻倍,分数下降 20 分,则:

  • B = 20 / ln 2,约 28.854。
  • A = 600 + B × ln(1/50),约 487.123。
  • 坏赔率由 1:50 变为 1:25,得分从 600 降至 580。

这里翻倍的是赔率 p/(1−p),不是概率 p。基准概率为 1/51,而非 1/50。如果另一个系统采用“分数越高风险越大”,就不能沿用同一阈值方向。

拒绝样本偏差无法靠伪标签自动消失

线上策略会改变能够观察到的结果。信贷中被拒绝的申请没有在本机构产生还款表现;优惠活动中被拦截的申请也没有发生后续核销。通过人群的标签不能无条件代表全部申请人。

常见处理思路包括补充合法可得的外部结果、设计受控抽样复核,以及在明确假设下进行加权或拒绝推断。它们的证明能力不同:

方法 能做什么 关键前提
抽样调查与独立复核 补充部分原本不可见的标签 抽样与调查流程可信,目标事件可核实
逆概率加权 调整已观察样本的选择偏差 选择概率可估计、具有重叠,相关选择因素已考虑
Parcelling 等推断 按分段和假设风险率为拒绝样本分配伪标签 推断依赖的风险率假设成立
合规范围内的受控实验 观察部分替代动作的真实结果 满足业务和权益约束,暴露范围可控

如果某类申请始终被拒绝,选择概率为零,单靠加权无法恢复其真实结果。为拒绝样本补上模型预测标签,再用这些标签证明同一个模型有效,也构成循环论证。

拒绝推断可以用于敏感性分析或候选模型训练,但评估时应区分真实标签与推断标签,展示结论对假设的依赖。不能把伪标签数量增加当成证据增加。

选择模型时,把比较条件固定下来

逻辑回归便于检查变量和系数,树模型便于表达非线性与交互,序列或图模型能够利用相应结构。哪个更合适,需要在相同样本、时点、目标和部署约束下比较,不能仅凭模型类别排名。

选择维度 实际问题
效果 在可接受的误杀或审核容量下,能识别多少成熟风险
概率质量 相同预测区间的实际发生比例是否接近,分群是否稳定
在线成本 完整特征获取加推理的尾延迟、失败率与资源消耗
运维 特征依赖、版本兼容、回放和回滚能否落实
解释 能否给出与实际决策路径对应、可核实的原因

概率校准应使用与模型拟合分离的数据。过采样或下采样改变了训练类比例时,也要检查输出是否仍对应部署人群。可同时观察可靠性图与 Brier 分数等指标,但 Brier 分数还受区分能力等因素影响,不能把它当作纯校准度量。概率校准文档

阈值属于业务策略,不能只由 AUC 决定

ROC-AUC 描述排序能力:随机抽取一个正样本和一个负样本,正样本分数更高的概率,并对同分计入半分。它不指定任何一个实际执行阈值。风险稀少时,还需要检查 Precision–Recall 曲线及具体动作容量。

KS 可定义为好坏样本分数累积分布差的最大绝对值。取得最大差异的分数点,不一定使业务损失最小。Fβ 通过 β 调整对召回的侧重,也不等价于把用户损失、资金损失和审核费用都纳入了决策。

假设只有“放行”和“拦截”两种动作,放过一次风险的成本为 C_FN,误拦一次正常请求的成本为 C_FP;其余成本暂设为零,且 p 是校准后的风险概率:

  • 放行的预期成本为 p × C_FN。
  • 拦截的预期成本为 (1 − p) × C_FP。
  • 两者相等时,p = C_FP / (C_FN + C_FP)。

若教学例子取 C_FN = 100、C_FP = 5,阈值约为 4.76%。这不是通用线上阈值;加入追加验证、审核容量、不同金额和权益约束后,策略需要重新求解。这个算例说明的是:阈值依赖动作成本,而不是天然等于 0.5。

对每个候选阈值,应同时检查精确率、召回率、误杀率和业务结果,保留分母、样本量及标签成熟窗口。分类评估指标

监控分布变化,也监控结果是否仍成立

PSI 比较当前分布与基准分布。设固定分箱中基准占比为 eᵢ、当前占比为 aᵢ:

PSI = Σ(aᵢ − eᵢ) × ln(aᵢ / eᵢ)

两期必须使用相同的分箱边界、缺失口径和对象定义。遇零占比需要明确平滑方式并重新归一化。常见的 0.1、0.25 等阈值属于经验规则,不是适用于所有样本量和业务的统计检验标准。

PSI 上升只说明所测分布变化,不能单独证明模型失效;PSI 稳定也不能排除 P(Y|X) 改变。输入缺失、流量结构、模型分数、成熟标签上的效果、执行回执和申诉都应一起观察。

规则同样需要维护。长期很少触发的规则可能已经过时,也可能用于防守罕见但严重的事件。移除前应检查覆盖对象和替代控制,不能只按命中量排名淘汰。

解释必须对应真实的决策路径

SHAP 等方法解释的是模型输出在特定假设下的特征贡献,不自动证明改变某特征就会改变现实结果。相关性、背景样本和输出空间都会影响解释。SHAP 对因果解释的提醒

如果请求实际因活动资格用尽被拒绝,就不能给用户展示模型中“设备关联较多”的贡献作为拒绝原因。对外说明应绑定最终决策与可核实证据;对内则保留模型、规则、阈值和版本,便于复核。

模型升级是否值得,最终要回到开篇问题:面对同设备多账号,新的证据有没有帮助系统更准确地选择动作,并在真实执行后降低损失、减少误伤。能够回答这一点,模型评估才完成了到业务策略的最后一步。

评论