Stata-Matching:肾脏交换匹配问题

文摘   教育   2024-09-14 10:01   山西  


👇 连享会 · 推文导航 | www.lianxh.cn

🍓 课程推荐:2024 空间计量专题
主讲老师:范巧 (兰州大学)
课程时间:2024 年 10 月 2-4 日 (三天)
课程咨询:王老师 18903405450(微信)

 课程特色 · 2024空间计量

👉  一、从“零基础”到“高水平”的课程设计

  • 兼顾基础知识、主流模型与前沿模型
  • 既考虑软件安装、程序编写以及空间权重矩阵设计等 基础知识 讲授,更强调时空面板地理加权回归模型、贝叶斯空间计量模型、矩阵指数模型、空间计量交互模型与空间面板似不相关回归模型等 前沿模型 的传授。

👉  二、“保姆级”的空间计量代码

  • 编写与校准所有模型的MATLAB代码,简化实操环节
  • 模型的估计与检验等 仅按照提供的Excel数据版式 搜集与整理原始数据,即可一次性出结果并作图

👉   三、“最多上新” 的内容体系

  • 新增 矩阵指数模型、短面板空间似不相关模型、空间计量交互模型、贝叶斯空间计量模型等
  • 新增 前沿应用案例,包括空间计量与索洛余值法、随机前沿分析与数据包络分析等的互嵌研究,阐释基于空间计量的产业空间结构优化评价方法。
  • 新增 Dagum空间基尼系数、核密度估计、空间马尔科夫链与空间收敛性等内容,阐释现实研究中对空间收敛性的应用“谬误”。

作者:经菠 (中山大学)
邮箱:jingb@mail2.sysu.edu.cn

编者按:本文主要摘译自下文,特此致谢!
Source:Lee C. The matching problem using Stata[C]. 2019 Stata Conference. Stata Users Group, 2019 (43). -PDF-

温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:


目录

  • 1. 问题起源

    • 1.1 肾脏移植的供求不匹配

    • 1.2 一种可能的解决思路

  • 2. 一个典型的例子

  • 3. 利用 Stata 命令求解

    • 3.1 输入数据

    • 3.2 Stata 命令

  • 4. 小结

  • 5. 参考资料

  • 6. 相关推文



1. 问题起源

1.1 肾脏移植的供求不匹配

美国每年遗体器官捐赠的数量远远无法满足肾病患者的需要。例如,2018 年仅有 21167 人接受了肾脏移植 (平均每天 58 例肾脏移植),但同一时期等待肾脏移植的人数远超 10 万人。即便是如此,2018 年还新增 38791 位肾病患者 (几乎每十分钟就有一位)。可以看出,肾脏移植的供求存在严重失衡,因此一位肾病患者通常要等待 3-5 年才能找到与自己匹配的捐赠者。那些不能及时接受肾脏移植的患者将面临死亡风险。

图 1 呈现了 1995-2019 年美国各类等待或接受肾脏移植的人数。可以发现,每年等待者的人数远高于捐赠人数,说明长期以来器官捐赠者数量远远无法满足患者需求。

图 1:历年美国的各类肾脏移植人数

1.2 一种可能的解决思路

由于肾脏匹配概率较小,即使是与病人有血缘关系的亲人也未必能与之完全匹配。面对上述严重不匹配的供求关系,不少专家提出一种基于肾脏交换 (Kidney Exchange) 的肾脏移植手术。具体而言,每一位需要等待肾脏移植的患者 (该名患者没有在近亲和朋友中找到合适捐赠者),也有机会通过肾脏互换找到适配的活体器官。但前提是,病人需要找到一位身体健康且愿意捐赠肾脏的捐赠者 (捐赠者通常为患者的亲人或朋友),形成一个 “病人&捐赠者组合”,与其他 “病人&捐赠者组合” 完成肾脏交换。

通过此类肾脏交换,患者的等待时间得到大幅缩减。以图 2 中典型的二元匹配为例,涉及肾脏互换的为两组 “病人&捐赠者组合”。其中,

  • 一组是丈夫 A 和妻子 B 的 “病人&捐赠者组合” (A 为健康的捐赠者,B 为病人,两者肾脏不能相互移植),
  • 另一组是妹妹 C 和哥哥 D 的 “病人&捐赠者组合” (C 为健康的捐赠者,D 为病人,两者肾脏不能相互移植)。

但是 A 的肾脏可以捐赠给患者 D,而 C 的肾脏可以捐赠给患者 B,这样的话就称这两个 “病人&捐赠者组合” 配对成功。为避免道德风险,即在其他病人接受捐赠之后退出捐赠,此类肾脏互换手术需同时进行。通过上述方法,肾脏供需不匹配的问题得到部分解决。

图 2:肾脏交换的二元匹配

当然有的时候,不能找到两个 “病人&捐赠者组合” 完全配对。这时如果可以找到三个 “病人&捐赠者组合” 形成如下图 3 的配对模式,仍然是可以进行三元配对的,这种结构称为环式结构。与二元匹配类似,此类环式结构要求手术同时进行,而且在医院各方面资源的限制下,环式结构允许的长度较小,通常为二元环或三元环。

图 3:肾脏交换的三元环式结构

当然有时候也会有健康人自愿加入肾脏的交换过程,尝试去救治病人。当有无私捐赠者参与时,链条将会从无私的捐赠者出发,然后依次向下进行传递,最终至在等待名单上的病人 (这个人没有能够找到亲人或者朋友,帮他形成 “病人&捐赠者组合”)。

上述交换的过程,如图 4 所示。这种链式交换可以不在同时进行,可以分时间进行,只要保证移植手术的源头从自愿捐赠肾脏的健康人开始。如果出现与之配对的病人接受完其他人的肾脏移植后,这个捐赠者可以选择不捐赠自己的肾脏,退出肾脏交换。虽然这并不合理,但是合法的,因为美国没有法律规定,捐赠者必须捐赠自己的肾脏。

图 4:肾脏交换的链式结构

2. 一个典型的例子

考虑一个最简单的情形,即没有自愿捐赠肾脏的健康人参与,那么就意味着是所有手术需要同时进行。以图 5 为例,其中 表示一个 “病人&捐赠者组合”。 为虚拟变量,取 1 时表明 组合的肾脏可以捐赠给 ,否则为 0。图中的单向箭头表示肾脏只能由箭头的起点组合捐赠给终点组合。

图 5:肾脏交换配对的典型案例

为了能够最大化匹配病人捐赠者组合,我们需要将上述肾脏交换问题抽象成一个线性规划的最优化问题。具体来看,我们需要最大化 的和,以使尽可能多的患者得到救治,约束条件如下所示:





其中, 为医院最多同时支持的手术台数, 表示每个 “病人&捐赠者组合” 最多能够捐赠肾脏给另外一个 “病人&捐赠者组合”。 表示每个 “病人&捐赠者组合” 要么不会得到捐赠肾脏也不会去捐赠肾脏,要么就是得到捐赠肾脏同时也去捐赠肾脏,也就是说有付出也要有回报。 表示环式结构的大小不能超过医院同时支持的手术台数。

上述的最优化方程应用在图 5 中的话,便可以写成如下式子: 


[1]

[2]


[3]


[4]


3. 利用 Stata 命令求解

3.1 输入数据

在该部分,我们将使用作者写的 lp 命令对上述问题求解。首先在 Stata 中输入数据,要求是将所有 移到等式左边,常数项移到等式右边。每一行数据代表一个不等式,并且每一个数据表示不等式中对应变量的系数。

图 6:在 Stata 中输入数据

3.2 Stata 命令

lp varlists [if] [in] [using/] [,rel(varname) rhs(varname) min max intvars(varlist) tol1(real) tol2(real) saving(filename)]
  • rel(varname):用变量表示每个等式的符号;
  • rhs(varname):用变量来表示每个等式右边的常数项;
  • min/max:对最优化函数取最小值或者最大值;
  • intvars(varlist):指定哪些变量为整数取值;
  • tol1(real):输出结果的误差范围,默认值为
  • tol2(real):输出逆矩阵结果的误差范围,默认值为
  • saving(filename):定义输出文件的名称。


接着,在 Stata 中输入以下命令:

lp x12 x21 x23 x32 x31,max intvars( x12 x21 x23 x32 x31 ) rel(rel) rhs( rhs)

输出的最优化结果 x12x23x31 都等于 1。

4. 小结

值得注意的是,在进行上述匹配问题之前需要先明确几个问题:

  • 哪些是自愿捐赠的健康自愿者;
  • 哪些是 “病人&捐赠者组合”;
  • 病人和捐赠者的匹配信息;
  • 是否存在优先的病人;
  • 环式结构的最大范围 (也就是医院最多同时支持的手术台数)。

本文仅是针对肾脏捐赠问题的最简单形式进行介绍,更为丰富的例子和详细算法,可以参考王泫钡 (2019)。

5. 参考资料

温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」

  • Lee C. The matching problem using Stata[C]. 2019 Stata Conference. Stata Users Group, 2019 (43). -PDF-
  • 王泫钡. 肾脏交换问题的参数算法和复杂度研究[D]. 电子科技大学, 2019. -Link-

6. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh 匹配, m
安装最新版 lianxh 命令:
ssc install lianxh, replace

  • 专题:Stata命令
    • Stata:iematch-近邻贪婪匹配
  • 专题:数据处理
    • Stata:数据合并与匹配-merge-reclink
  • 专题:倍分法DID
    • 面板PSM+DID如何做匹配?
  • 专题:PSM-Matching
    • Stata:终极匹配 ultimatch
    • Stata 手动:各类匹配方法大全 A——理论篇
    • Stata:psestimate-倾向得分匹配(PSM)中协变量的筛选
    • Stata:广义精确匹配-Coarsened-Exact-Matching-(CEM)
    • Stata:psestimate-倾向得分匹配(PSM)中匹配变量的筛选
    • Stata+PSM:倾向得分匹配分析简介
    • Stata-从匹配到回归:精确匹配、模糊匹配和PSM
    • Stata:PSM-倾向得分匹配分析的误区
    • Stata:模糊匹配之matchit

🍓 课程推荐:2024 空间计量专题
主讲老师:范巧 (兰州大学)
课程时间:2024 年 10 月 2-4 日 (三天)
课程咨询:王老师 18903405450(微信)

尊敬的老师 / 亲爱的同学们:

连享会致力于不断优化和丰富课程内容,以确保每位学员都能获得最有价值的学习体验。为了更精准地满足您的学习需求,我们诚挚地邀请您参与到我们的课程规划中来。 请您在下面的问卷中,分享您 感兴趣的学习主题或您希望深入了解的知识领域 。您的每一条建议都是我们宝贵的资源,将直接影响到我们课程的改进和创新。 我们期待您的反馈,因为您的参与和支持是我们不断前进的动力。感谢您抽出宝贵时间,与我们共同塑造更加精彩的学习旅程!https://www.wjx.cn/vm/YgPfdsJ.aspx# 再次感谢大家宝贵的意见!

New! Stata 搜索神器:lianxh 和 songbl  GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
  . ssc install lianxh
  . ssc install songbl
👉  使用:
  . lianxh DID 倍分法
  . songbl all

🍏 关于我们

  • 连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 直通车: 👉【百度一下: 连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。

连享会
连玉君老师团队分享,主页:lianxh.cn。白话计量,代码实操;学术路上,与君同行。
 最新文章