供应链|M&SOM论文解读:半监督机器学习方法用于早期发现阿片类药物过度采购

编者按
本次解读的文章发表于 Manufacturing & Service Operations Management,原文信息为 Bertsimas, Dimitris, Mohammad M. Fazel-Zarandi, Joshua Ivanhoe, and Periklis Petridis. “Early Detection of Opioid Over-Procurement: A Semisupervised Machine Learning Approach.” Manufacturing & Service Operations Management 27(6), 1889–1904.
阿片类药物危机是美国近几十年来最严重的公共健康问题之一。既有讨论多关注医生处方、患者成瘾和药企营销,但一个同样关键的问题是:在合法处方药供应链中,哪些药店或下游买方正在以异常方式采购 opioids,并可能推动药物流向非法市场?传统监管规则通常依赖简单阈值判断可疑订单,但这类规则很难同时避免“误伤正常药店”和“放过真正风险主体”。文章利用 DEA 的 ARCOS 数据,追踪受控药品从制造商、分销商到零售端的流动,并结合司法文件和调查报道形成有限的真实标签,构建了一个半监督机器学习预警模型。研究发现,该模型不仅比传统 DEA 规则更有效地识别异常采购行为,还进一步揭示了 opioid over-procurement 的供应链特征:可疑买方往往在地理上集聚,并与共同的上游分销商或制造商相连。换言之,阿片类药物非法流失并非只是个别药店的孤立异常,更可能嵌入在特定地方供应链网络之中。
1. 研究问题
1.1 处方阿片类药物危机与供应链风险
处方阿片类药物滥用是美国近几十年来最严重的公共健康危机之一。自 20 世纪 90 年代末以来,阿片类药物滥用问题持续恶化,相关死亡人数已超过 40 万人,并被认为是美国预期寿命下降的重要原因之一。与此同时,处方阿片类药物问题并不只发生在患者使用端,也嵌入在药品生产、分销和零售组成的合法供应链之中。处方药供应链原本承担着将药品从制造商、分销商、药店输送至患者的功能,但在这一过程中,受控药品也可能被过度采购、非法转移或流入滥用渠道。
因此,文章关注的并不是传统意义上“患者是否会滥用 opioids”的预测问题,而是一个更具供应链管理特征的监管预警问题:在合法药品流通体系中,哪些下游买方,尤其是零售药店,可能存在异常采购和非法转移风险?这一问题具有典型的运营管理和供应链治理属性。一方面,药品流通具有多层级网络结构,制造商、分销商和零售药店之间的交易关系可能影响异常采购行为的形成和扩散;另一方面,监管部门需要在海量交易数据中及时识别高风险主体,以便将有限执法资源配置到最值得关注的地区和买方。
由此,核心研究问题可以概括为:在标签数据有限、交易数据规模庞大、异常行为具有时空和网络特征的情境下,如何利用机器学习方法提前识别处方阿片类药物供应链中的过度采购风险?
1.2 文章的研究思路与贡献
文章的研究思路可以理解为三步。
- 将 opioid 过度采购识别问题转化为一个监管预警问题,即不再单纯依赖某一笔订单是否超过固定阈值,而是综合判断某一地区、某一时间点的采购行为是否呈现异常风险。
- 利用半监督学习框架处理标签稀缺问题。由于 ARCOS 数据本身并不直接提供完整的违规标签,模型需要同时利用少量有标签样本和大量无标签交易信息。
- 进一步将供应链网络纳入模型,考察可疑买方是否在地理上集聚,是否共享相同上游分销商或制造商,从而识别异常采购背后的供应链结构性特征。
与既有研究相比,文章的贡献主要体现在研究对象和方法场景两个方面。已有 opioid 相关机器学习研究多集中于患者层面,例如预测患者成瘾、过量用药或其他不良结果;也有少量研究关注线上非法 opioid 营销。但从供应链端识别处方药非法转移和异常采购的研究仍然有限。文章将机器学习应用于处方药供应链监管场景,提出一种能够在有限标签环境下预测和标记可疑供应链主体的方法,从而补充了 opioid crisis 研究中相对不足的供应侧视角。
更重要的是,文章的研究贡献并不只是“用机器学习提高预测准确率”,而是展示了算法工具如何服务于供应链监管决策。模型识别出的可疑买方往往在地理上集聚,并且具有共同上游分销商或制造商,这说明 opioid over-procurement 并非完全是单个药店的孤立异常,而可能与地方供应链网络结构有关。由此,文章将公共健康危机、药品供应链监管和半监督机器学习方法连接起来,为监管部门利用既有交易数据建立早期预警系统提供了一个可操作的分析框架。
2. 数据与设定
2.1 ARCOS 数据与样本范围
文章使用的数据来自美国 DEA 维护的 Automation of Reports and Consolidated Orders System(ARCOS)。该系统记录受控药品从制造商、分销商到零售药店、医院和执业者的流动过程,包含药品类型、交易双方和订购剂量等信息,因此能够用于刻画处方阿片类药物在合法供应链中的流向。作者关注 2006—2012 年期间的 oxycodone 和 hydrocodone 两类处方阿片类药物,并以药片数量作为 dosage units。样本包含接近 3.8 亿笔交易,覆盖超过 765 亿片药品流动。总体上,这两类药物的采购规模在样本期内持续处于高位:全国总采购量从 2006 年的 85.6 亿片上升至 2011 年的 129 亿片,人均采购量也从 28.7 上升至 42.2。
2.2 分析层级与采购时间序列
作者没有直接以单笔订单作为分析单位,而是将交易数据聚合到 buyer-month 层面,即观察某个买方在某个月采购了多少 oxycodone 和 hydrocodone。这样可以捕捉采购行为的动态变化,而不是只根据某一笔订单是否超过固定阈值来判断异常。除采购时间序列外,作者还构造了供应链网络信息。具体而言,文章统计每一对上游 reporter 和下游 buyer 之间的交易次数,并将其作为买方—卖方网络的邻接矩阵。作者使用交易次数而非药片数量,是为了降低网络特征与采购量之间的相关性。
因此,文章的数据结构主要包括两部分:一是买方逐月采购量,二是买方与上游分销商或制造商之间的交易网络。后续模型正是利用这两类信息作为 side information 来识别过度采购风险。
2.3 监督标签的构造
文章的关键难点是,ARCOS 虽然记录药品交易流向,但并不直接提供某个买方是否被认定为 suspicious 的标签。因此,作者需要借助外部资料构造监督标签。作者将标签构造聚焦于 Walgreens。原因是 Walgreens 是样本期内美国最大的 opioid 零售商之一,2006—2012 年通过 7,437 个 buyer accounts 分销了约 129 亿片 opioids,比同期 CVS 高出约 30%。同时,Walgreens 也因相关诉讼和媒体调查留下了较多可用于识别可疑门店的外部资料。基于司法文件、政府处罚记录和调查报道,作者识别出 ARCOS 数据中的 308 家 Walgreens 门店作为潜在 bad actors。随后,作者将数据聚合到 ZIP code 层面,并排除 mail orders。最终,在 5,429 个 ZIP codes 中,有 206 个 ZIP codes 至少包含一家被标记为可疑的 Walgreens 门店,占比约为 3.8%。
这也是文章不能直接使用完全监督学习的原因:只有少量 ZIP codes 具有外部标签,大量 ZIP code-month 单元并没有明确标签,传统完全监督学习并不适合。
3. 半监督矩阵补全模型
3.1 半监督学习与标签稀缺问题
文章的核心方法是半监督学习。其适用场景在于:研究者只掌握一部分可靠标签,但同时拥有大量无标签交易数据。对于 opioid over-procurement 识别而言,这一点尤其关键。ARCOS 数据虽然完整记录了受控药品交易流向,但并不直接标明某个买方是否存在可疑采购行为。因此,作者不能直接采用标准监督学习模型,而是需要在“少量已标记样本 + 大量未标记样本”的环境下进行预测。
为此,作者将问题设定为一个 semisupervised matrix completion 问题。矩阵补全的基本思想是:在一个只观察到部分元素的矩阵中,利用已知元素和相关辅助信息推断缺失元素。文章中,需要补全的不是电影评分或消费偏好,而是某个 ZIP code 在某个月是否存在 opioid 过度采购风险。作者明确指出,该方法适用于标签信息有限的环境,并将目标定义为从部分观察到的矩阵中恢复缺失项。
3.2 风险矩阵与标签定义
作者首先构造一个 ZIPcode×monthZIP code \times monthZIPcode×month 的风险矩阵YYY, 其中i=1,…,Ni=1,…,Ni=1,…,N表示ZIP code, t=1,…,Tt=1,…,Tt=1,…,T表示月份。在概念上,矩阵元素YitY_{it}Yit表示ZIP code iii在月份 ttt是否存在可疑采购行为,但由于绝大多数 Walgreens 门店没有完整 ground-truth label,矩阵YYY中大量元素是缺失的。
初始标签矩阵的构造规则如下:若某 ZIP code 在某个月没有采购量,则设Yit=0Y_{it}=0Yit=0; 若该 ZIP code 中存在被外部资料标记的买方,且其当月采购量超过该 ZIP code 自身的月度中位数,则从该月开始将后续月份标记为 1;其他情况则设为缺失。作者使用月度中位数作为阈值,是为了捕捉采购行为的变化,而不是只识别极端异常值。
这一设定的含义是,模型并不是简单判断“采购量大就可疑”,而是判断某个地区的采购行为是否相对于自身历史水平出现异常变化。这一点对早期预警很重要,因为过度采购可能在成为极端异常之前,就已经呈现出持续上升的信号。
3.3 带辅助信息的矩阵补全
在构造风险矩阵后,作者进一步引入辅助信息矩阵XXX. 这里的XXX包含两类信息:第一是 ZIP code 的月度 opioid 采购时间序列,第二是买方与上游供应商之间的邻接矩阵。也就是说,模型既观察某个地区“买了多少药”,也观察它“从哪些上游主体采购”。
文中Eq.1 给出了模型的核心优化问题。简化理解,作者希望找到一个补全后的风险矩阵Y^\hat{Y}Y^, 使其在已知标签位置上尽可能接近真实YYY, 同时通过正则化避免过拟合:

其中, Ω\OmegaΩ表示已知标签的位置,Y^it\hat{Y}_{it}Y^it是模型预测的风险概率,XXX是辅助信息矩阵,WWW是待估计的特征权重,γ\gammaγ是正则化参数。该目标函数的第一项衡量预测误差,第二项是 L2 正则化,用来降低噪声影响并提高模型稳健性。这个设定背后的直觉是:风险矩阵虽然维度较高,但其背后可能由少数潜在结构驱动,例如地区性 opioid 需求、上游供应商网络、采购行为变化趋势等。因此,作者使用低秩矩阵补全,将复杂的 ZIP code-month 风险模式压缩为较低维的结构性特征。
3.4 模型估计与风险判定
在估计方面,作者使用 fastImpute 算法求解Eq.1. 由于该优化问题在原始形式下计算复杂,fastImpute 通过梯度下降和正则化提高大规模矩阵补全的可扩展性。作者选择该算法,是因为它更适合文章这种大规模交易数据环境,并且强调样本外预测表现。

模型输出的风险概率矩阵
模型输出的是每个 ZIP code 在每个月的风险概率Y^it\hat{Y}_{it}Y^it. 由于概率需要位于[0,1]区间,作者在后处理阶段对预测值进行 clipping. 随后,文中Eq.2 将各个月份的风险概率合成为 ZIP code 层面的总体违规概率:

其含义是:只要某个 ZIP code 在任一月份出现较高风险,其总体被标记为可疑的概率就会上升。
在训练过程中,作者将 ZIP codes 随机划分为训练集、验证集和测试集:50% 用于训练,20% 用于调参,30% 用于测试,并使用分层抽样处理类别不平衡问题。模型的关键超参数包括低秩参数
和正则化参数γ\gammaγ, 通过 grid search 在验证集上选择。最终,作者根据 ROC 曲线选择 0.40 作为风险阈值;若某个 ZIP code 在某个月的预测概率超过该阈值,则被判定为存在可疑采购行为,并将首次超过阈值的月份作为最早检测时间。
4. 主要结果分析
4.1 模型预测性能与风险分布
作者首先检验半监督矩阵补全模型能否有效识别 opioid over-procurement. 模型的核心输出不是简单的“是/否”,而是一个风险概率:对于每个 ZIP code 和每个月,模型都会给出一个该地区是否存在可疑采购行为的预测概率。随后,作者需要设定一个阈值,将连续概率转化为二元判断:超过阈值则标记为 suspicious, 低于阈值则不标记。

Figure 4 是模型的 ROC 曲线,用于展示不同风险阈值下模型的识别能力。ROC 曲线的横轴是 false positive rate,即把正常地区误判为可疑地区的比例;纵轴是 true positive rate,也就是 sensitivity,即真正有问题的地区被模型识别出来的比例。曲线越靠近左上角,说明模型越能在较低误报率下识别更多真实风险地区。作者报告,模型在样本外测试中的 AUC 为 0.87. AUC 可以理解为模型区分高风险和低风险地区的总体能力:AUC=0.5 表示基本等同于随机猜测,AUC=1 表示完全区分正确。因此,0.87 表明模型具有较强的风险识别能力。
作者进一步根据 ROC 曲线选择 0.40 作为风险阈值。也就是说,如果某个 ZIP code 在某个月的预测风险概率超过 0.40,模型就将其标记为存在可疑采购行为。这个阈值不是任意选择的,而是作者根据 ROC 曲线选择的、能够最大化模型诊断能力的阈值。换言之,阈值太低会导致大量正常地区被误报,阈值太高又会漏掉很多真正有问题的地区,0.40 是作者在误报和漏报之间做出的折中选择。
在 0.40 阈值下,模型的 sensitivity 为 0.752, specificity 为 0.838. 这里 sensitivity 指的是:在所有真实可疑地区中,模型成功识别出了多少;0.752 意味着模型识别出了约 75.2% 的真实风险地区。Specificity 指的是:在所有正常地区中,模型正确放过了多少;0.838 意味着约 83.8% 的正常地区没有被误判为可疑。对于监管问题而言,这两个指标必须同时看。如果只追求 sensitivity, 模型可能把几乎所有地区都标为可疑,造成执法资源浪费;如果只追求 specificity, 模型可能过于保守,漏掉真正风险地区。文章模型的优势在于,它在两者之间取得了相对平衡。
接着,作者使用 Figure 5 展示模型识别出的风险地区空间分布。图中灰色区域表示至少有一家 Walgreens 门店的 ZIP codes, 红色区域表示被半监督模型标记为存在可疑 opioid 采购行为的 ZIP codes. 这个图的关键不是看单个红色区域在哪里,而是看红色区域是否呈现空间集聚。可以看到,被模型识别出的风险地区并非完全随机分散,而是在美国西部、东南部以及部分中东部地区形成若干集聚带。这说明 opioid over-procurement 可能具有区域性特征,监管部门如果只看单个药店订单,可能会忽略地区层面的异常模式。

4.2 供应链网络特征:共同上游与地理集聚
文章的一个重要发现是,模型识别出的可疑买方不仅在地理上集聚,而且往往共享相同的上游 distributors 或 manufacturers. 这一点使文章不同于普通的机器学习预测文章。作者不是只报告“模型预测得准”,而是进一步指出:异常采购行为背后可能存在供应链网络结构。
这一发现需要结合 原文Figure 1(如下)和 Figure 5 理解。Figure 1 展示了模型使用的 side information: 一部分是买方逐月订购的药片数量,另一部分是买方与上游卖方之间的邻接矩阵。也就是说,模型不只是看某个 ZIP code 每个月买了多少药,也看它和哪些上游主体发生交易。 如果某些被模型标记的地区共享相同上游供应商,这说明风险可能不是孤立地发生在某个零售药店,而是沿着特定供应链关系集中出现。

Figure 5 则从空间上展示了这一点:红色 ZIP codes 的分布显示出区域集聚。这种地理集聚与共同上游关系结合起来,意味着 opioid diversion 可能具有“地方供应链网络”特征。换言之,如果一个地区存在多个可疑买方,而且它们又连接到相似的上游 distributors 或 manufacturers, 那么监管部门应当关注的不只是单个药店的采购量,还应当关注该地区的上游—下游交易网络。
这一结果的管理含义很直接:传统监管规则通常围绕单个订单或单个买方设置阈值,而文章结果表明,更有效的监管应当从网络角度识别异常。例如,同一地区多个买方是否同时出现采购上升?这些买方是否共享相同上游供应商?某些上游主体是否反复出现在高风险地区的交易网络中?这些问题都不是简单阈值规则能够充分回答的。
4.3 与 DEA 传统规则的比较
为了说明模型相对于传统监管规则的优势,作者将半监督模型与 DEA 常用的三类规则进行比较:Max-6、Avg-12 和 Extreme Avg-12. Max-6 的含义是,如果某个月订单超过过去 6 个月最大值,就标记为可疑;Avg-12 是如果某个月订单超过过去 12 个月平均值的两倍,就标记为可疑;Extreme Avg-12 则是超过过去 12 个月平均值的三倍才标记为可疑。
这三类规则的问题在于,它们都是机械阈值规则。阈值设得太低,就会把大量正常波动也标记为 suspicious; 阈值设得太高,又会错过真正正在形成的异常采购。原文 Table 2 清楚展示了这一点。Max-6 规则能够识别全部 206 个正标签 ZIP codes, 看起来 sensitivity 很高,但它同时将 5,147 个负标签 ZIP codes 误判为 positive. 这意味着 Max-6 几乎把所有 ZIP codes 都标记为可疑,误报严重,实际监管中会造成大量无效调查。

相反,Avg-12 和 Extreme Avg-12 规则过于保守。Avg-12 只识别出 8 个正标签 ZIP codes, Extreme Avg-12 只识别出 4 个正标签 ZIP codes. 也就是说,这两个规则虽然可以减少误报,但会漏掉绝大多数真实风险地区。文章也指出,Avg-12 和 Extreme Avg-12 只能识别 2%—4% 的 labeled ZIP codes, 因此 false negatives 问题严重。
半监督模型的优势正在于折中能力。Table 2 显示,半监督模型在 206 个正标签 ZIP codes 中识别出 155 个,漏掉 51 个;同时,在负标签 ZIP codes 中,有 4,381 个被正确判为 negative, 842 个被误判为 positive. 这个结果不是完美的,但相比 Max-6 的大规模误报和 Avg-12/Extreme Avg-12 的严重漏报,半监督模型更适合作为监管预警工具。监管模型的目标不是完全替代执法判断,而是帮助监管部门在海量交易中筛选出更值得优先关注的风险地区。
4.4 早期预警效果与稳健性检验
模型除了要“识别得准”,还要能“识别得早”。这是文章的另一个重点。作者通过 Figure 6 检验模型的早期预警能力。Figure 6(a) 展示了使用截至不同年份的数据训练模型时的样本外 AUC。即使只使用早期年份的数据,模型表现仍然比较稳定,平均 AUC 约为 0.85. Figure 6(b) 进一步使用六个月为单位递增训练样本,结果显示,即使用最初六个月的数据,模型也能够识别 opioid over-procurement. 这说明该模型并不需要等到大量历史违规已经发生后才有效,而是具有较强的早期预警潜力。

作者还检验了模型对样本划分的稳健性。他们进行了 200 次随机训练集、验证集和测试集划分,并在每次划分中重新训练模型、选择超参数、计算测试集 AUC. 结果显示,在完整 2006—2012 年数据下,模型 AUC 的四分位区间为 [0.85, 0.89]. 这说明模型表现并不是偶然来自某一次有利的数据划分,而是在不同训练/测试划分下都较为稳定。
文章还则检验正则化参数γ\gammaγ 的影响。这里的γ\gammaγ 控制模型在“拟合已知标签”和“避免过拟合噪声”之间的权衡。直观地说,如果正则化太弱,模型可能过度记住训练数据中的偶然噪声;如果正则化太强,模型又可能过于简单,无法捕捉真实风险模式。结果显示,当γ\gammaγ达到一定水平后,模型 AUC 稳定在约 0.85—0.90, 训练时间也较稳定。这说明模型对γ\gammaγ的选择并不过度敏感,只要避免过低的正则化水平,预测表现整体较稳健。
5. 结论与讨论
文章提出一种半监督矩阵补全模型,用于识别处方阿片类药物供应链中的过度采购风险。与 DEA 传统阈值规则相比,该模型不只关注单笔订单是否异常,而是综合利用采购时间序列、地理信息和上游—下游供应链网络,在标签有限的条件下预测高风险 ZIP codes。研究结果表明,模型能够较有效地识别可疑买方,并在误报和漏报之间取得较好平衡。更重要的是,模型识别出的高风险地区呈现地理集聚,且许多可疑买方共享上游 distributors 或 manufacturers. 这说明 opioid over-procurement 并非完全是单个药店的孤立异常,而可能嵌入在地方供应链网络之中。
文章对监管实践的主要启示在于:处方药供应链监管需要从被动响应转向主动预警。现有系统总体上仍偏向 reactive,即在异常已经暴露后进行处理。相比之下,文章提出的机器学习方法能够补充既有监管工具,引入 proactive detection 能力,用 DEA 已有数据基础识别异常分销模式。 这对供应链管理研究也有较强启发:在高风险行业中,监管系统不仅需要记录交易,更需要从交易网络中识别异常结构和持续风险。另一个重要启示是,监管不应只依赖一次性异常信号。文章提到,模型可以定期生成风险 flags,例如按季度运行模型,从而观察某些地区是否持续被标记为高风险。这种“持续异常”信号可以帮助监管部门优先安排调查资源,同时减少因单次异常波动而产生的误判。 换言之,模型的作用不是直接替代执法判断,而是为监管者提供一个更系统的风险排序工具。
文章的主要局限在于标签数据有限。由于 ARCOS 本身不提供完整的可疑订单标签,作者只能基于司法文件、政府处罚记录和调查报道构造部分监督标签。未来若能整合 DEA Suspicious Orders Report System Online 等更权威标签,模型表现可能进一步提升。此外,文章主要关注 oxycodone 和 hydrocodone. 若未来扩展至更广泛的 opioids, 需要进一步考虑不同药物效力的差异,例如使用 morphine milligram equivalents 形成更可比的供应量指标。这篇文章最值得借鉴的地方,是把交易数据、供应链网络和半监督学习放进了一个真实监管场景。对于药品供应链、食品安全、金融交易等监管场景,这一框架都具有一定借鉴意义。
更多推荐
所有评论(0)