关于PSM的想法
在悬赏贴中看到三师兄说统计和统小计老师的讨论,自己这个二把刀也想了些。总结一下记录下来。有错的地方请大家批评。
三师兄老师举例说了4个思路,然后请大家讨论哪个或者哪些正确。
思路1:做是否发病间ABC三个因素的PSM,然后做因素D对是否发病的条件logit。
思路2:做是否发病间ABC三个因素的PSM,然后做因素ABCD对是否发病的条件logit。
思路3:做研究因素D间ABC三个因素的PSM,然后做因素D的是否发病的卡方或者是单因素非条件logit。
思路4:做研究因素D间ABC三个因素的PSM,然后做因素D的是否发病的因素ABCD的多因素非条件logit。
下面是我自己的理解。
思路1是根究结局分组,病例对照研究的方法。思路3,根据暴露因素分组,队列研究的方法。这句话说的真好。我记得之前版上有一篇文章介绍看队列研究还是病例对照研究,就看table1。我最近看到的使用PSM方法的一篇简单的文章,发表在Gastric Cancer上,供大家参详讨论。
Higher incidence of pancreatic fistula in laparoscopic gastrectomy. Real-world evidence from a nationwide prospective cohort study.
这个文章是讨论开腹手术和腹腔镜手术术后并发症差异的。结论是腹腔镜手术组胰瘘发生(这个结果)增加。
全文只有2个table,table1对于开腹组和腹腔镜手术组进行术前因素的匹配,table2直接卡方比较开腹组和腹腔镜手术组之间的差别,综合全文看,用的方法是本帖讨论中的思路3.
按照我之前的想法,研究胰瘘的发生,怎么着也得按照胰瘘是否发生,按照因素1.因素2.因素3.因素4....因素n(开腹还是腹腔镜),这些因素做单因素多因素分析,找出胰瘘的独立预后因子,这种统计方式更有说服力吧。没想到,人家对于开腹和腹腔镜组,PSM匹配术前因素后,直接还是按照开腹和腹腔镜手术分组,按照队列研究方式,对术后并发症简单做个卡方就结束了,然后直接下结论,腹腔镜手术组胰瘘发生率高。这样的table2可以纳入很多术后并发症,比如切口感染等。
这篇文章作者都是日本各个大学胃肠外科教授级,发表的杂志也是日本消化外科协会官方杂志,所以我觉得统计方法的正确性应该可以保证。
所以,我觉得,如果是队列研究,按照暴露因素分组,使用PSM方法,之后,仍然按照暴露因素分组,简单卡方,这个思路3方法可行。如果按照结果打乱重新分组,做单因素logistic,其实和按照暴露因素分组,和单纯卡方是一样的,上面有大神已经说过了。
我记得之前版上有一篇文章介绍看队列研究还是病例对照研究,就看table1。table1根究结局分组,是病例对照研究的方法;如果根据暴露因素分组,是队列研究的方法。现在越来越觉得正确之余,再补充一点心得体会。
就比如胃癌开腹手术和腹腔镜手术对比的这篇文章。
table1就是常见的table1,根据手术方式分组。看上去是一个队列研究。两组手术方式不同,带来了很多不同的结果,table1中看看两组在年龄,性别等等方面有没有差异。约等于一般文章三表一图文章中的表1和表2混合了一下。当然,实际上的实验设计的时候,也是按照队列研究来做的。事前想好记录所有的并发症。事先这个词很重要。
再看table 2,列举的是各种结局和手术方式之间的关系,横过来看就是好多个列联表的综合表。
如果这些个结果,是事先就想好的,都收集得挺完整,那么就可以把这些个2x2,或者2xC的列联表,看作是队列研究的列联表,是可以计算真实RR值的。能够临床上很好解释,推而广之到真实世界。
如果这些个结果是事后回顾中发现,然后逐一分析的,那么,这个表2 的列联表,就只能看作是数个2x2的,按照是否发生某些结果而分类的病例对照研究,或者说看成数个病例对照研究也行。只能能计算OR值。
说了这么多,我就是想说,如果你做的是队列研究,这是非常大的亮点。哪怕你开始实验设计的时候,事先并没想到文章的结论是关于胰瘘的发生率,只是想到了比较一些并发症的差异,那么它就是队列研究。只要你事先想到了,这就是很多人纳闷的为什么说队列研究是前瞻的,但是回顾数据分析也可以是队列研究,因为可以认为是事先想到过。那么,一定要像这篇文章一样,在标题中清晰明白的写出来:是反应真实世界的结果。
跑题跑了很远。我想说我感觉PSM最适合这种队列研究,因为我们的研究不是RCT,总有这个那个的不匹配存在,为了让它更像个RCT,只好PSM下。最后PSM之后,队列研究一个简单的卡方检验或者fishe'r精确检验,干脆利落结束出结论。这么理解PSM就好理解多了。正如胃癌这篇文章所做的。
至于匹配之后的队列,全部合并在一起,再按照是否出现某个结果,按照传统的病例对照研究的三表一图的方法,最后做这个结果的多因素,单因素分析表,感觉有点多余,原理上是否能说得过去,再等大牛们研究解惑。
刚刚说的是PSM用在队列研究中的想法。再补充自己的一个想法,如果PSM用在病例对照研究中:按照结果分类,两组之间PSM后找到的1:1或者1:n对照,是固定的配对关系,那么,是不是可以认为是:按照以往的病例对照研究方法,把一个普通的对照研究,转变为了配对对照研究?如果是,那么就是思路1,下一步的多因素按说就是条件logistic了吧?同样还是四格表的分析方法,计算OR值,了解暴露也结果的关联强度。但是这样做的优点是保证了两分类之间可比性。我看到一句话说是:提高了研究的内部真实性,但降低了研究的外部真实性。一想也是,扔掉了好多病例,已经不是真实世界发生的真实情况了。不过好像原本OR值也不具备推广到外部世界的外展性(这句话也是引用在哪里看到的)
无论如何,按照暴露与否分组,配对之后再重新打散合成一个cohort,再按照结果重新分组去算多因素分析,有点一会儿按照队列研究做,一会转而按照病例对照做了,这种思路4感觉有点乱。
总体上,我同意三师兄老师说的思路1,3,4。3是大大同意,然后顺便做一下4。1是小小同意。果然每次看大家的讨论都有一些新收货。
2020-12-25
最近又看了一些PSM的详细介绍,有一些新的收获,记录下来。同时更正以前的一些想法。
第一步肯定是得到一个评分Propensity Score,就是很多人说的把数据降维,综合成1个变量(0-1之间)。第二步可以有几种做法
做法1:matching,也就是完成了PSM的步骤。当然匹配有几个办法,如果设定caliper的话,建议设在0.2-0.25之间,有PSM方法的创始人的文献支持。
做法2:利用这个分数做分层,最多分5层。0-0.2分,0.2-0.4分,0.4-0.6分。。。。
做法3:大概懂一点,不太懂,说不好就不说了。
做法4:不懂
之前我们一直说的PSM,其实就是指的PS之后,第一个做法,配对。回到帖子最初的问题,4个做法,哪些是对的,哪些是说不好的?我之前思考大大的同意3,小小的同意1。现在依然是大大同意3,大大同意1.
到底能不能作为配对数据进一步分析,统计学的老师们也是有争议的,我也不知道PS这个得分到底是如何计算出来的,背后的运行公式什么。我就是从我自己的做的配对数据来看,620的数据中,对年龄,性别,T,N,M分期等进行1:1配对,配对了186对。但是和我想的不一样的是,我发现这372人里,存在转移M的患者有81个,是个单数,这就是说,肯定有个存在转移的数据和没有转移的数据Propensity Score匹配上了。至少是1对,至于真正有多少对,没有去数,等我有空去数一下。那么是不是还有除了转移之外的,没注意到的自变量也有这个问题呢?很奇怪。
有点统计学家是支持配对之后的样本之间,进行配对数据的分析,即使是配对的Y是分组,比如NEJM上的这篇,PMID: 2577508。配对的Y是两种手术方式,但是最后统计的地方明确的说配对后的数据,用的是McNemar和配对T,cox回归也是分层cox回归来保证配对带来的益处(虽然我也不知道咋做)。
有的统计学家认为Propensity Score可以保证在两群中让公变量的分布均等,但是个体这个水平上,不能保证。所以推荐的PSM匹配之后的做法是,仍然把两组数据作为独立样本,该t检验t检验,该卡方卡方,该log rank就log rank,该cox回归就cox回归。不要作为配对数据进行下一步分析。
还有一个收获是,配对后的数据,样本量缩小了,两组之间的平衡不要用p值去衡量,用 standardized diffrence去衡量,说这个值和样本量无关。连续变量和2分类变量有计算公式,有序的多分类变量的 standardized diffrence我没找到计算公式。
2020-12-28
周末看了浙江中医药大学一位郑老师的视频,有点体会,不知道对不对。记录一下。
最初困扰问题,是PS之后matching,然后呢?是简单卡方(单因素),还是logistic(或者cox),再或者是条件logistic?昨天看完视频,我的理解如下:
如果我们的配对条件Y,是你的分组,那么PSM之后,保证的是两组之间的均衡(在我们用到的这些因素之间是平衡的),个体之间的均衡是没办法保证的,这就是一个类似RCT的,类似前瞻的队列研究,是从原因到结果这个方向去看的。
如果我们的配对条件Y,是你的outcome,比如是否感染并发症,是否肺癌,是否xx,那么配对之后的每个对子之间,都是均衡的(在我们用到的这些因素之间是平衡的)这份想法和case-control 的想法是一样的。下一步应该就是用条件logistic了(至少郑老师是这么说的,正确与否,有待讨论,但是这种说法,理清了我之前一些有点混乱的思路)。2023-04-13补充,这种配对,我觉得就是巢式病例对照研究,就是在队列里找病例对照研究的那个。PSM只是寻找已知的病例的对照组的方法,那么下一步应该就是按照配对的病例对照研究的防范,用条件logistic。
我上周五25日的想法,是因为我做的是按照分组配对,所以是组间很平衡,具体到每个对子,其实不是绝对平衡的,所以出现了有转移的患者和没转移的患者配对了情况(大概可能也许没准估计差不多备不住是这个原因)。但是我没有做过对结果进行配对的,类似case-control的研究,所以,如果对结果进行配对,是不是会出现对子之间的这种一眼看上去就不平衡的情况,我现在还不知道,我自己感觉,十有八九也会有。
还有一句话是PS分数相同的两个患者,指的是进入两个分组或者两个结果的几率是相等的。这句话感觉很有用。
2021-1-14
继续记录自己关于PSM的体会。
对于筛选匹配的变量,有ppt讲到,一个是从已发表的论文中选择,一个是专家的意见。这个其实不是特别重要,算一般重要吧。最关键的是,选择要匹配的那些变量,应该是你在分组的时候(我们目的是两组之间平衡),那些已经确定的变量,而不能纳入还没有发生的变量。比如分了手术方式A组,手术方式B组,研究对预后的影响,那么术后并发症就不能纳入到平衡的变量里面去,因为分组的时候还没发生,虽然我们知道并发症也是影响预后的。但是肿瘤TNM这些分期可以纳入要匹配的变量。有人或许问了,做手术的时候还不知道病理分期呢,那不是也是手术以后发生的变量吗?其实手术的时候,这个患者的肿瘤情况已经是确定的了,至少有个cTNM分期吧,手术后的pTNM分期只是个修正而已,所以可以纳入匹配的变量中。
另一个体会是:PSM和多因素分析,作用差不多,有没有必要进行PSM呢?看上去更流行而已?困惑很久,今天找到一点答案,东京大学 流行病学教授康永 秀生的讲解。在C-index(就是我们平时说得AUC,说得更高大上一点)在0.6以下的时候,PSM没有意义,和多因素回归结果基本一致。c-indx超过0.9的时候,也没用,因为区别能力太强,配对就配不成多少对,病例数大为减少,得不偿失。这两句话我读了好久的PSM的介绍,都没有找到过类似的说法,但是我认为是对的。从自己做的来看,c-index在0.6多一点,PSM和多因素回归有差异,差异不大。
最后编辑于 2023-04-13 · 浏览 3628