Stata数据处理:缺失值与多重补漏分析(三)
👇 连享会 · 推文导航 | www.lianxh.cn
🍎 Stata:Stata基础 | Stata绘图 | Stata程序 | Stata新命令 📘 论文:数据处理 | 结果输出 | 论文写作 | 数据分享 💹 计量:回归分析 | 交乘项-调节 | IV-GMM | 时间序列 | 面板数据 | 空间计量 | Probit-Logit | 分位数回归 ⛳ 专题:SFA-DEA | 生存分析 | 爬虫 | 机器学习 | 文本分析 🔃 因果:DID | RDD | 因果推断 | 合成控制法 | PSM-Matching 🔨 工具:工具软件 | Markdown | Python-R-Stata 🎧 课程:公开课-直播 | 计量专题 | 关于连享会
「十年口碑,桃李三千」
🎦 2021 Stata 暑期论文班
📅 2021 年 7 月 28-30 日
🔑 江艇 (中国人民大学)
🍓 课程主页:https://gitee.com/lianxh/PX
作者: 孟佳音 (University College London)
邮箱: jiayin.meng.20@ucl.ac.uk
目录
1. 确保插补模型的兼容性
1.1 什么是兼容性?
1.2 插补模型的变量选择
2. 插补次数与模型检验
2.1 插补次数 (m) 的选择
2.2 模型的检验
3. 插补操作常见问题
3.1 非正态分布
3.2 非线性
3.3 交互项
4. SMC FCS 方法
5. 总结
6. 参考资料
7. 相关推文
在本系列的前两篇推文中,我们详细讲述了数据缺失与多重插补的基础知识,相信大家已经对 MVN 和 MICE 多重插补方法有了较全面的理解。本篇推文将重点讲述在多重插补中可能出现的问题:如何确保插补模型 (Imputation Model) 与分析模型 (Analysis Model) 的兼容性 (Compatibility)?如何选取辅助变量 (Auxiliary Variables)?如何应对非正态分布 (Non-normal Data) 以及非线性关系 (Non-linear Terms)?...
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:
1. 确保插补模型的兼容性
插补模型与分析模型之间的兼容性 (Compatibility), 是确保多重插补有效性 (validity) 的关键因素之一。
1.1 什么是兼容性?
插补模型与分析模型兼容指两者存在联合分布 (joint distribution),意味着插补模型和分析模型是条件分布 (conditional distribution)。下面我们用数学公式举例:
假设两个变量 X 和 Y,其中 X 是包含缺失数据的协变量 (covariate variable);Y 是完整的,不含缺失数据的因变量 (dependent variable)。
协变量 (covariate variables):任何可测量并被认为与因变量 (dependent variables) 具有统计关系的变量都可以作为潜在协变量。换句话说,协变量是因变量可能的预测或解释变量。在回归分析中,自变量(即回归量)有时被称为协变量,此时,协变量是最重要的。然而在大多数其他情况下,与自变量相比,协变量并不是最重要的,它们的出现是因为实验或观察单位是异质的。
令 与 符合下列二元正态分布 (Bivariate Normal Distribution, BNV)
分析模型 对 的线性回归) 可以作为条件分布从该上述联合分布中导出:
相似的,变量 的插补模型 对 的线性回归) 也可以导出条件分布:
因此,分析模型与插补模型是兼容的。
1.2 插补模型的变量选择
在实际操作中,兼容性意味着插补模型应保留分析模型中的所有结构。插补模型中需要包含:
分析模型中包括因变量在内的所有变量 其他潜在的辅助变量 (auxiliary variables) 体现出分析模型中协变量之间的交互作用或非线性关系(若存在)
(1) 当插补模型包含除分析模型的额外项 (例如辅助变量或增加一些交互项)时:
若为正确的额外项,则插补模型的偏差 (bias) 减小,精度 (precision) 提升 若为错误的额外项,分析不会产生偏差,但可能会导致更大的标准误 (standard errors)
(2) 当插补模型从分析模型中排除一些项时:
若为正确排除,插补模型将会很高效 (Rubin, 1996),但这种操作实际中几乎不存在 若为错误排除,插补模型会产生明显偏差 (typically biased)
模型中辅助变量的选取应考虑以下几点 (Carpenter & Kenward, 2013):
辅助变量 (auxiliary variables) 指的是未包含在分析模型中,但是与含有缺失值的目标变量有联系的变量,或者是能够使随机缺失 (MAR) 假设更合理的变量。
能同时预测缺失 (missingness) 和缺失值 (missing values) 的变量应作为插补模型的辅助变量,以减少偏差 仅预测缺失值 (missing values) 的变量可以提高效率,但对偏差无影响 仅预测缺失 (missingness) 的变量不会提供额外信息,不应作为辅助变量
2. 插补次数与模型检验
2.1 插补次数 (m) 的选择
传统的观点认为,考虑到多重插补的效率,m 的取值在 3 到 10 之间。但是如果希望得到较为稳定的标准误 (SE),则需要增加插补的次数。最近根据再现性 (Reproducibility) 观点认为,m 的取值应使蒙特卡洛误差足够小,以便于结果的再现 (White, Royston & Wood, 2011)。
蒙特卡洛误差 (Monte Carlo Error) 是使用相同数据,重复运行相同插补程序的估计标准误。随着 m 的增加,蒙特卡洛误差趋于 0。较小的蒙特卡洛误差可以确保插补结果的稳定。经验法则认为 m 应大于数据集中不完整个体 (incomplete case) 的占比。
2.2 模型的检验
随着多重插补在数据处理中的广泛应用,检验多重插补的有效性显得愈发重要。在实际操作中,插补模型和分析模型都需要被检验,而且对分析模型检验的重要性与对插补模型检验的重要性旗鼓相当。
简单方法是在每个插补后的完整数据集中进行模型检验,并报告检查结果。估算每个完整数据集中的残差,并绘制 残差图。
3. 插补操作常见问题
3.1 非正态分布
之前我们介绍了 MVN 方法和 MICE 方法,利用线性回归对连续变量进行插补。若缺失数据为非正态分布, MVN 方法不再适用。可以用如下方法应对非正态分布:
在插补前将非正态分布数据转换为正态分布,插补后再将其反方向转换 (常见的操作例如对 “年龄” 和 “性别” 进行对数变换和逆变换) 用 PMM (predictive mean matching, 预测均值匹配) 方法进行插补,其中 MICE 方法可以使用 PMM,命令为 mi impute chained (pmm) ivars
, 具体请见help mi impute chained
。
3.2 非线性
当因变量 Y 与协变量间存在非线性相关关系时,使插补模型与分析模型兼容会变得更加困难。若面对包含因变量 Y 与协变量 X, X2 的回归,可以用以下方法应对非线性关系:
忽略 X 与 X2 的关系,将二者视为两个变量,分别进行插补 用 PMM (predictive mean matching, 预测均值匹配) 方法进行插补,命令为 mi impute chained (pmm) ivars
。
PMM 方法的操作步骤如下:
利用去除缺失值的 X 对 Y 回归,构建插补模型 计算插补模型的系数 利用插补模型的系数和 Y 值预测 X 的缺失值 从无缺失的观测数据中选择离预测值最近的数据作为填充值
3.3 交互项
当模型中存在交互项时,MVN 方法不适用,我们可以用 MICE 方法进行插补。举个例子,假设收缩压 (SBP) 与年龄的关系因性别而异,且在数据中有两个个体的年龄和性别均缺失。以 SBP 为因变量,年龄和性别作为两个协变量进行分析,如下图所示。
*MICE 方法交互项
. mi impute chained (logit, include ((sbp*age))) sex (regress, include ((sbp*sex))) age = sbp
4. SMC FCS 方法
上述多重插操作中的常见问题还可以用 SMC FSC 方法处理。SMC FCS (substantive-model compatible fully-conditional specification,实体模型兼容的全条件定义) 方法可以有效的应对非线性和交互项等问题 (Bartlett & Morris, 2015)。
SMC FCS 方法由 MICE 方法演变而来,其核心思想是强制使插补模型与分析模型兼容。当样本量 n 较小时,SMC FCS 方法能快速得到结果,但当 n 扩大时,其速度逐渐下降。
*安装 SMC FCS 命令. ssc install smcfcs*针对非线性的命令. smcfcs regress y x xsq, regress(x) passive(xsq = x^2) m(10)*针对交互项的命令. smcfcs regress sbp age sex agesex, regress(age) logit(sex) passive(agesex = age*sex) m(10)
5. 总结
作为数据缺失与多重插补系列的第三篇推文,本文着重讲解了在实际运用多重插补的过程中可能遇到的一些问题,比如非线性和交互项等,以及相应的处理方法。本文的全部讲解基于一个假定条件:模型的因变量不含有缺失数据,而协变量存在缺失数据。对于数据中因变量 Y 含有缺失值的情况,我们并未涉及,有兴趣的学友可以自行查阅相关资料。
6. 参考资料
Sterne, J. A., White, I. R., Carlin, J. B., Spratt, M., Royston, P., Kenward, M. G., Wood, A. M., & Carpenter, J. R. 2009. Multiple imputation for missing data in epidemiological and clinical research: potential and pitfalls. Bmj, 338. -PDF-
Wood, A. M., White, I. R., & Royston, P. 2008. How should variable selection be performed with multiply imputed data?. Statistics in medicine, 27(17), 3227-3246. -PDF-
Carpenter, J., & Kenward, M. 2012. Multiple imputation and its application. John Wiley & Sons. -Book-
White, I. R., Royston, P., & Wood, A. M. 2011. Multiple imputation using chained equations: issues and guidance for practice. Statistics in medicine, 30(4), 377-399. -PDF
Bartlett, J. W., & Morris, T. P. 2015. Multiple imputation of covariates by substantive-model compatible fully conditional specification. The Stata Journal, 15(2), 437-456. -PDF-
University College London PhD Course: Missing Data and Multiple Imputation for Cross-Sectional and Longitudinal Data
7. 相关推文
Note:产生如下推文列表的 Stata 命令为:
lianxh 补漏 缺失值 填充
安装最新版lianxh
命令:
ssc install lianxh, replace
连享会 缺失值能否用零代替?-L117
连享会 Stata缺失值专题:多重补漏分析
连享会 Stata:缺失值的填充和补漏
连享会 Stata数据处理:面板数据的填充和补漏
New! Stata 搜索神器:
lianxh
和songbl
GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉 使用:
. lianxh DID 倍分法
. songbl all