Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者: 孟佳音 (University College London)
邮箱: jiayin.meng.20@ucl.ac.uk
目录
本推文将介绍多重插补的最基本做法,可用于截面数据的分析中。有关多重插补的高级做法以及面板数据操作,我们将在后续的推文中为大家讲解。在学习多重插补过程中,我的老师曾反复说过一句话 “Doing multiple imputation is easy, but doing it well is hard.” 与各位学友共勉!
在数据缺失与多重插补专题系列的第一篇推文 (缺失值与多重补漏分析(一))中,我们较为详细的介绍了数据缺失的相关知识,并引出了运用多重插补方法处理数据缺失。下面我们简要回顾一下有关多重插补的知识点。
多重插补 (Multiple Imputation) 的思想来源于贝叶斯估计,其认为待插补的 缺失值是随机的 (MAR) ,它的值来自于已观测到的值。在具体操作上,是通过创建数据集的 m 个副本 (m 的个数通常为 3-10 个;目前实际操作中 m 也时常取值为 20),对每个副本使用不同的估计方法估算出缺失值,而后将模型拟合到 m 个数据集中,最后运用 Rubin 法则整合为一个结果。
据上文所述,进行多重插补的第 (4) 步是选择合适的插补方法,本文以重点讲述以下两种插补方法:
MVN (Multivariate Normal Regression) 多元正态回归方法假设插补模型中的所有变量遵循联合多元正态分布 (joint multivariate normal distribution),并使用数据增广 (data augmentation, DA) 方法 —— 一种马尔可夫链蒙特卡洛 Markov chain Monte Carlo (MCMC) 运算,在多元正态分布假设下估算缺失数据。
MVN 方法下回归是线性的,适用于连续变量 (continuous variables),而当缺失数据中存在二元变量 (binary variables) 和分类变量 (categorical variables) 时,该方法的假设条件不再适用。但是已有研究表明,当二元变量和分类变量数据中不存在严重偏斜 (severly skewed) 时,MVN 方法依然可以得到较好的运用。
MVN 方法最初由 Schafer (1997) 实现。本文将多重插补 MVN 方法的重点概括如下:
本节所展示的 Stata 命令根据本推文 1.2.2 节 “多重插补的操作步骤” 的顺序书写。首先,设定好回归模型,我们以线性回归 regress
为例。使用 MVN 方法进行多重插补的具体操作命令如下所示:
*定义回归模型
. regress varlist //设定模型为线性回归
*查看数据缺失数量和缺失模式
. mi set flong/mlong/wide //为 MI 声明数据结构
. mi misstable summarize varlist //查看缺失数据
*指定完全变量和要插补的变量
. mi register imputed varlist //声明要插补的变量
. mi register regular varlist //声明不含缺失值的变量
*选择 MVN 方法进行多重插补
. mi impute mvn ivars [= indepvars] [if] [, impute_options options] //声明使用 MVN 方法
*将回归模型拟合到插补数据中
. mi estimate: regress varlist //以线性回归模型为例
. mi estimate, vartable nocitable //显示插补的方差信息
MICE (Multiple Imputation by Chained Equations) 通过链式方程进行的多重插补又被称为 Fully Conditional Specification (FCS) 全条件定义法,或者 Sequential Regression Multiple Imputation (顺序回归多重插补)。
MICE 方法最初由 van Buuren, Boshuizen, 和 Knook (1999) 提出并应用于生存分析中。其与 MVN 方法的本质区别是在进行插补时,不必考虑变量的联合分布,而是利用单个变量的条件分布 (univariate conditional distributions) 逐一进行插补。这意味着每个变量都可以根据其自身分布建模,比如使用逻辑回归 (logistic regression) 建模的二元变量 (binary variables) 和使用线性回归 (linear regression) 建模的连续变量 (continuous variables) 等。
MICE 方法在实际操作中比 MVN 方法运用更为广泛,本节将多重插补 MICE 方法的重点概括如下:
MICE 在 Stata 中可用的回归模型有:二元、有序和多类逻辑回归 (binary, ordered, and multinomial logistic regression),线性回归 (linear regression),泊松和负二项回归 (poisson and negative binomial regression)。其中,线性回归是默认模式。
本节所展示的 Stata 命令根据本推文 1.2.2 节 “多重插补的操作步骤” 的顺序书写。由于 MICE 方法可以为不同类型的缺失变量指定不同的回归模型,为了展示方便,假设两个含有缺失值的变量 var1, var2 分别为连续变量和分类变量。设定好回归模型,我们以线性回归 regress
为例。使用 MICE 方法进行多重插补的具体操作命令如下所示:
*定义回归模型
. regress varlist //设定模型为线性回归
*查看数据缺失数量和缺失模式
. mi set flong/mlong/wide //为 MI 声明数据结构
. mi misstable summarize varlist //查看缺失数据
*指定完全变量和要插补的变量
. mi register imputed varlist //声明要插补的变量
. mi register regular varlist //声明不含缺失值的变量
*选择 MICE 方法进行多重插补
. mi impute chained (ologit) var2 (regress) var1 [= indepvars] [if] [weight] [, impute_options options] //为不同种类缺失变量指定不同的回归模型
*将回归模型拟合到插补数据中
. mi estimate: regress varlist //以线性回归模型为例
. mi estimate, vartable nocitable //显示插补的方差信息
MVN 方法与 MICE 方法均为多重插补中的常用方法,根据上文的讲解,相信大家对这两种方法的适用条件以及操作方法都有了比较全面的了解。现将两种方法的比较总结如下:
可以看出,MICE 方法的适用范围比 MVN 方法更广,在实际操作中也更受欢迎。
在上一篇推文中我们详细讲述了数据缺失模式 (Missing Data Pattern), 其中单调缺失模式 (Monotone Pattern) 如下图所示,指变量 Y1, Y2, Y3, Y4 的缺失值数量呈现单调递增状态。
当缺失数据为单调缺失模式时,除了 MVN 方法和 MICE 方法外,我们还可以调用 mi impute monotone
命令对缺失数据进行插补,详情请参考 help mi impute monotone
。在实际操作中单调缺失数据模式并不常见,所以本文不再对此详细展开,有兴趣的学友们可以自行学习。
Kropko, J., Goodrich, B., Gelman, A., & Hill, J. 2014. Multiple imputation for continuous and categorical data: comparing joint multivariate normal and conditional approaches. Political Analysis, 22(4). -PDF-
Lee, K. J., & Carlin, J. B. 2010. Multiple imputation for missing data: fully conditional specification versus multivariate normal imputation. American journal of epidemiology, 171(5), 624-632. -PDF-
Schafer, J. L. 1997. Analysis of incomplete multivariate data. CRC press. -Book-
Azur, M. J., Stuart, E. A., Frangakis, C., & Leaf, P. J. 2011. Multiple imputation by chained equations: what is it and how does it work?. International journal of methods in psychiatric research, 20(1), 40-49. -PDF-
Royston, P. 2004. Multiple imputation of missing values. The Stata Journal, 4(3), 227-241. -PDF-
Little, R. J., & Rubin, D. B. 2019. Statistical analysis with missing data (Vol. 793). John Wiley & Sons. -Book-
Enders, C. K. 2010. Applied missing data analysis. Guilford press. -Book-
Rubin, D. B. 1976. Inference and missing data. Biometrika, 63(3), 581-592. -PDF-
University College London PhD Course: Missing Data and Multiple Imputation for Cross-Sectional and Longitudinal Data
Note:产生如下推文列表的 Stata 命令为:
lianxh 补漏 缺失值 填充
安装最新版lianxh
命令:
ssc install lianxh, replace
连享会 缺失值能否用零代替?-L117
连享会 Stata:缺失值的填充和补漏
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh