MCM520 ← 资料站首页 阿片干预的因果评估、敏感性与精准投放 打开交互阅读器 →

阿片干预的因果评估、敏感性与精准投放

摘要:本文针对美赛 2019-C 第三层问题——干预效果评估与资源优化。以第一层拟合的阶跃系数 c=−8.790c=-8.790 为支点,用反事实对照(令 c=0c=0 即"从未干预")量化一项综合干预的因果效应:实施后月度死亡率由反事实的 41.032/10 万 降至实际 34.147/10 万,相对降幅 16.78%;干预前趋势 +0.165/月 逆转为 −0.568/月。以州级人口 100 万 折算,干预期 30 个月累计避免死亡约 2066 人。敏感性分析揭示两条杠杆:干预强度由基准 8.5 提至 12,可避免死亡升至 2820(+36%);启动时点由第 54 月提前至第 42 月,避免死亡升至 3120(+51%)——早启动、强干预收益巨大。结合第二层结论,最高危 25% 人群贡献 38.3% 的复发负担,应将有限资源优先投向该层(图1—图8)。

关键词:反事实;双重差分;敏感性;避免死亡数;高危优先

一、问题重述

前两问分别给出了"人群时间序列"与"个体风险"两套模型。第三层要求把二者贯通,回答决策者最关心的问题:这项干预到底救了多少人?怎样才能救更多人? 这本质是因果推断:在观察数据上,干预与同期其他变化纠缠,直接用"前后均值差"会混入时间趋势。本文用第一层估计的干预阶跃作为"处理效应"估计量,构造干净的反事实(无干预的平行演化),以"实际 vs 反事实之差"度量净效应,再做强度与时点的双维敏感性,并把个体风险分层转化为投放优先级。

政策映射:州公共卫生署要在预算约束下决定"明年扩不扩戒毒床位、何时扩"。本文给出的"强度—时点"敏感性曲线,正是这类"值不值、早不早"决策的量化依据。

这类决策的本质是"在不确定中分配稀缺":戒毒床位有建设周期、随访人力有编制上限,盲目全覆盖并不现实。本文无意给出"标准答案",而是提供一条可辩论的证据链——把"救了多少人""早启动与多投钱孰优"翻译成可比较的数字,供决策者在公开听证中质证与取舍。

二、模型假设

  1. 第一层估计的 cc 是干预的平均处理效应(ATT)估计,且一旦启动即持续;
  2. 反事实 = 保持趋势与季节、仅令 c=0c=0 的序列,代表"若无此项干预"的演化;
  3. 率换算为人数:避免死亡数 =∑t(反事实t−实际t)/105×P= \sum_t (\text{反事实}_t-\text{实际}_t)/10^5 \times P,P=106P=10^6;
  4. 敏感性中"强度"以满额效应 cc 的取值 5/8.5/12 标定,"时点"以 t0∈{42,54,66}t_0\in\{42,54,66\} 标定;
  5. 个体风险分位沿用第二层的真实风险评分,负担占比为该层复发数占总复发数比例。

三、符号说明

符号 含义
yˉcf\bar y_{\text{cf}} 反事实(无干预)干预期均值
yˉpost\bar y_{\text{post}} 实际干预期均值
Δ%\Delta\% 相对降幅 (yˉcf−yˉpost)/yˉcf(\bar y_{\text{cf}}-\bar y_{\text{post}})/\bar y_{\text{cf}}
AA 累计避免死亡数
eff,t0\text{eff},t_0 干预强度 / 启动时点(敏感性参数)

四、模型的建立

4.1 反事实对照

由第一层预测式,定义

y^cf(t)=a^+b^ t+γ^t mod 12,y^(t)=y^cf(t)+c^⋅ramp(t)\hat y_{\text{cf}}(t)=\hat a+\hat b\,t+\hat\gamma_{t\bmod12},\qquad \hat y(t)=\hat y_{\text{cf}}(t)+\hat c\cdot\mathrm{ramp}(t)

二者之差 c^⋅ramp(t)\hat c\cdot\mathrm{ramp}(t) 即干预带来的月度"率缺口"。这等价于**单组中断时间序列(ITS)**的因果识别:用干预前的趋势外推作对照,扣除后得净效应(图1)。ITS 思路的说服力来自"用自身前期做对照",避免了寻找同期未干预对照组的困难;其前提假设是"若无干预,前期趋势会延续",本文第一层已证实趋势外推在留出窗口严重失效,反证了干预确实打断了趋势,使反事实设定成立。

4.2 避免死亡数折算

对干预期 t∈[t0,T)t\in[t_0,T),累计避免

A=∑ty^cf(t)−y^(t)105 P=∑t−c^⋅ramp(t)105 PA=\sum_{t}\frac{\hat y_{\text{cf}}(t)-\hat y(t)}{10^5}\,P =\sum_t\frac{-\hat c\cdot\mathrm{ramp}(t)}{10^5}\,P

图1 实际死亡率 vs 反事实(假设从未干预)

图2 月度死亡率缺口(反事实−实际,每 10 万人)

4.3 双重敏感性

固定其他,分别扫描强度 eff\text{eff} 与启动时点 t0t_0,观察 AA 的弹性,识别"边际收益最大"的杠杆点(图3、图4、图6)。敏感性并非灵敏度分析的同义反复:它回答的是"如果我们的 eff、t0t_0 估计有偏,结论会不会翻盘",从而把"点估计"升级为"决策稳健性证据"。

五、模型求解与结果

  • 因果效应:反事实干预期均值 41.032/10 万,实际 34.147/10 万,相对降幅 16.78%;趋势由干预前 +0.165/月 转为干预后 −0.568/月——干预不仅止升,且逆转下行(图1)。
  • 避免死亡数:30 个月累计 2065.5 人(约 2066 人),即每月平均约 69 人因干预免于过量死亡。
  • 强度敏感性(图3):eff=5 → 1175 人,eff=8.5(基准)→ 1998 人,eff=12 → 2820 人;强度每增一档,收益近似线性放大。
  • 时点敏感性(图4):t0=42 → 3120 人,t0=54(基准)→ 2066 人,t0=66 → 1011 人;提前 12 个月启动可多救约 1054 人,滞后则损失近半。
  • 高危集中(图5):最高危 25% 人群贡献 38.3% 的复发负担,是投放的"高杠杆"目标。

图3 敏感性:干预强度→累计避免死亡数

图4 敏感性:启动时点→累计避免死亡数

六、结果分析与灵敏度

  1. 干预确有效且反转趋势:相对降幅 16.78%、斜率由正转负,说明该综合干预(床位+纳洛酮+随访)打断了"处方→耐受→过量"的上升链,而非仅延缓。
  2. 早启动是最大杠杆:时点从 54 提前到 42,避免死亡 +51%;因效应随暴露时长累积,拖延直接损失近半收益——对决策者,"尽快启动"比"多投钱"更划算(图6 龙卷风右摆最大)。
  3. 强度有线性红利:eff 8.5→12 增 41% 投入对应 +36% 产出,近似等弹性,说明当前强度未达饱和,仍有扩面空间。
  4. 避免死亡数口径透明:2066 人建立在 P=100 万的州级假设上,若用于他州按人口线性缩放即可,方法可迁移。
  5. 精准投放提升性价比:结合第二层,把新增床位/随访优先给最高危 25%(复发率 86.4%),单位资源救回的事件数最高——把"人群层效应"与"个体层风险"打通。
  6. 不确定性诚实披露:本评估用 ITS 而非随机对照,可能残留同期混杂;龙卷风仅覆盖 eff/t0t_0 两参数,未含协变量漂移,属保守下限。
  7. 与个体层联动的投放效率:第三问的"避免死亡数"是人群总量,第二问的"高危 25% 占 38.3% 负担"是结构。二者结合可得"若只覆盖高危层,能用更少资源撬动更大比例的事件避免"——总量效应与结构效应相乘,才是精准公共卫生的全部含义。
  8. 结论的稳健方向:在全部扫描情景中,避免死亡数始终为正且随强度/时点单调,说明"干预有效"不依赖单一参数取值;龙卷风虽有幅度差异但符号方向一致,故政策建议(早启动、强干预、投向高危)稳健可信。

图5 复发负担集中于高危前 25% 人群

图6 参数敏感性龙卷风(对避免死亡数的 % 影响)

七、模型评价

优点:(1) 以第一层估计量为支点,反事实构造干净、可解释;(2) 强度/时点双维敏感性直接服务决策;(3) 率→人数的折算使"救了多少人"直观可比;(4) 与个体风险分层衔接,形成"人群—个体"闭环。反事实折算出的"避免死亡数"以人数为单位,天然比"率下降百分之几"更易被公众与立法者理解,利于政策传播。

局限:(1) ITS 设计对同期其他政策敏感,未做协变量调整;(2) 假设干预效应恒定、无衰减;(3) 敏感性仅两参数,未做全因素蒙特卡洛;(4) P=100 万为常数,未建模人口结构差异。

八、结论

该项干预使月度死亡率相对下降 16.78%、并逆转了上升趋势,30 个月在百万人口中避免约 2066 例死亡。决策优先级清晰:早启动(提前一年可多救约 1054 人)的边际收益大于加强度;同时应将新增资源精准投向最高危 25% 人群(占 38.3% 负担)。把时间序列的"效应估计"、分类的"风险排序"与干预的"因果核算"三链合一,构成一套从监测到投放的完整公共卫生决策闭环。需要强调的是,本文所有数字均来自可复现的合成生成器(种子 2019),方法而非具体数值才是可迁移资产:换一州、换一年,重跑同一套代码即得该地的专属证据链。

图7 累计避免死亡数随时间(不同干预强度)

图8 本研究技术路线(Q3 干预评估)

九、管理建议(落地指引)

把效应评估转化为预算决策,需配套五条可执行指引。第一,优先争取"早启动"而非盲目"加强度":敏感性表明提前一年部署的边际救人数量,远高于同等成本下单纯提高干预强度,因此资源应当向时间维度倾斜。第二,将新增预算的至少一半定向投入最高危的百分之二十五人群,因为他们承载着约四成的死亡负担,单位投入的减损效率最高。第三,建立季度评估节奏:每三个月用最新实测与反事实对照重新核算累计避免死亡数,向立法机构汇报投入产出,巩固持续 funding。第四,对干预效应做保守假设并公开 uncertainty:在汇报时同步给出乐观与悲观情景区间,避免把点估计当作确定承诺,维护公共卫生公信。第五,把本研究的合成代码作为各州可复用的"评估模板",换入本地数据即可生成本地的专属证据链,实现方法资产化。这五条建议的核心,是让有限的公共卫生经费花在边际收益最大的时间和人群上。

附录:核心 Python 实现

# 附录:核心 Python 实现(独立可运行,复现本文权威数字)
import os, sys
_HERE = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, os.path.abspath(os.path.join(_HERE, "..", "..", "..", "tools")))
import gen_mcm2019c as G

D = G.gen_mcm2019c()
iv = D["interv"]
print("干预前斜率=%.4f 干预后斜率=%.4f" % (iv["pre_slope"], iv["post_slope"]))
print("反事实均值=%.3f 实际均值=%.3f" % (iv["cf_mean"], iv["post_mean"]))
print("相对降幅 = %.3f%%" % iv["rel_reduction_pct"])
print("累计避免死亡数 = %.1f 人(人口=%d)" % (iv["averted_cases"], D["P"]))
print("强度敏感性:", {k: round(v, 1) for k, v in iv["sens_intensity"].items()})
print("时点敏感性:", {k: round(v, 1) for k, v in iv["sens_timing"].items()})
print("高危前25%%负担占比 = %.2f%%" % iv["topq_burden_share"])