Zhang Zhongheng
Department of Emergency Medicine, Sir Run-Run Shaw Hospital, Zhejiang University, School of Medicine, Hangzhou 310016, China.
Ann Transl Med. 2017 Jan;5(1):7. doi: 10.21037/atm.2016.08.57.
Propensity score analysis (PSA) is a powerful technique that it balances pretreatment covariates, making the causal effect inference from observational data as reliable as possible. The use of PSA in medical literature has increased exponentially in recent years, and the trend continue to rise. The article introduces rationales behind PSA, followed by illustrating how to perform PSA in R with package. There are a variety of methods available for PS matching such as nearest neighbors, full matching, exact matching and genetic matching. The task can be easily done by simply assigning a string value to the method argument in the matchit() function. The generic summary() and plot() functions can be applied to an object of class to check covariate balance after matching. Furthermore, there is a useful package that contains several graphical functions to check covariate balance between treatment groups across strata. If covariate balance is not achieved, one can modify model specifications or use other techniques such as random forest and recursive partitioning to better represent the underlying structure between pretreatment covariates and treatment assignment. The process can be repeated until the desirable covariate balance is achieved.
倾向得分分析(PSA)是一种强大的技术,它可以平衡预处理协变量,使从观察数据中进行因果效应推断尽可能可靠。近年来,PSA在医学文献中的应用呈指数级增长,且这一趋势仍在持续上升。本文介绍了PSA背后的基本原理,接着说明了如何在R中使用软件包执行PSA。有多种用于倾向得分匹配的方法,如最近邻匹配、完全匹配、精确匹配和遗传匹配。只需在matchit()函数的方法参数中分配一个字符串值,就能轻松完成这项任务。通用的summary()和plot()函数可应用于类对象,以检查匹配后的协变量平衡。此外,有一个有用的软件包,其中包含几个图形函数,用于检查各层治疗组之间的协变量平衡。如果未实现协变量平衡,可以修改模型规范或使用其他技术,如随机森林和递归划分,以更好地表示预处理协变量与治疗分配之间的潜在结构。可以重复这个过程,直到达到理想的协变量平衡。