同设备注册多个账号,既可能是批量套利,也可能是家庭共用设备。规则可以把它筛出来,但要决定是否拒绝,还需要结合领取节奏、历史结果和本次潜在损失。风控总览讨论了判断、执行与反馈的完整链路;本篇继续回答:如何把这些证据变成可检验的策略?
模型负责估计目标事件,策略负责选择业务动作。 两者之间还隔着样本偏差、概率校准、成本与执行约束。离线 AUC 更高,只完成了其中一部分。
本文以优惠活动反滥用说明策略设计,评分卡部分使用明确标注的“好坏样本”教学例子。所有数值算例均用于解释方法,不代表线上实验。
规则与模型承担不同的确定性
资格已经用尽、活动已经结束,这些条件可以直接校验。对批量滥用的推测则有不确定性:同设备账号数只是一个信号,结合注册时间、核销行为和已核实关联后,才可能获得更强证据。
| 机制 | 适合表达什么 | 需要验证什么 |
|---|---|---|
| 业务规则 | 资格、额度、时间范围等明确约束 | 条件完整性、并发一致性、规则版本 |
| 风险规则 | 具有解释性的组合信号 | 命中质量、覆盖变化、误伤对象 |
| 统计模型 | 多个信号与目标事件的关系 | 时点可用性、泛化、校准与分群表现 |
| 处置策略 | 判断结果如何映射为动作 | 成本、容量、权限、执行与申诉 |
规则可以累加分数,模型也可以输出离散类别,不能把二者机械分成“0/1”和“连续值”。更关键的区别在于证据如何形成、更新,以及是否适合当前决策。
对于同设备多账号,一条组合规则可以要求“账号数较多,且领取集中于很短时间”;具体阈值应从对应业务样本和动作成本中确定。它仍然只能产生风险信号,不能把整台共享设备上的所有用户都自动认定为同一人。
执行结构与判断逻辑分别设计
先查资格再调用模型,是执行依赖;两个检测并行运行,是调度方式。AND、OR、评分融合和优先级,则是结果组合方式。串行或并行不天然对应任何一种布尔逻辑。
组合多个模型之前,还要核对它们预测的是不是同一目标、同一时间窗口,分数方向和标定是否一致。盗号概率与优惠滥用分数不能直接相加;两个高度相关的设备模型也可能重复计算同一证据。使用 Stacking 等学习组合时,应采用折外预测训练组合层,避免把基模型的训练集拟合结果当成独立证据。
样本定义先于算法选择
模型学习的是标签定义,而不是抽象的“坏人”。一次活动领取是否违反资格、是否有经核实的批量滥用、是否最终造成补贴损失,是不同目标。
构造样本前至少确定四件事:
- 决策时点:需要预测的是领取前的风险,还是核销前的风险。
- 观察窗口:结果在多久后才足以确认,尚未成熟的样本如何处理。
- 标签依据:来自调查、业务结果还是人工判断,是否可能被申诉纠正。
- 可见人群:模型只看到了通过旧策略的人,还是覆盖了全部申请者。
退款不能自动等于欺诈,未投诉不能自动等于正常,被旧规则拒绝也不能直接作为正样本。训练集应保留未知标签与确认时间,而不是为了凑齐二分类数据抹掉这些差别。
防止把未来信息带回过去
领取时只能使用当时已经可用的信息。即便某条行为的事件时间早于领取,如果它延迟到决策后才进入特征系统,历史回放也不应提前使用。
离线和在线特征需要共享统计定义、去重键、窗口边界和缺失语义。计算“领取次数”时,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 对因果解释的提醒
如果请求实际因活动资格用尽被拒绝,就不能给用户展示模型中“设备关联较多”的贡献作为拒绝原因。对外说明应绑定最终决策与可核实证据;对内则保留模型、规则、阈值和版本,便于复核。
模型升级是否值得,最终要回到开篇问题:面对同设备多账号,新的证据有没有帮助系统更准确地选择动作,并在真实执行后降低损失、减少误伤。能够回答这一点,模型评估才完成了到业务策略的最后一步。