Stata:面板数据缺失值与多重补漏分析-twofold

发布时间:2021-09-29 阅读 15219

Stata连享会   主页 || 视频 || 推文 || 知乎

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装命令如下:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

作者:孟佳音 (University College London)
邮箱jiayin.meng.20@ucl.ac.uk


目录


在缺失值与多重补漏分析的前三讲中,我们讲述了截面数据多重补漏的 MVN 与 MICE 方法,它们可以直接适用于面板数据吗?关于前三讲推文,详见Stata数据处理:缺失值与多重补漏分析 (一)Stata数据处理:缺失值与多重补漏分析 (二)Stata数据处理:缺失值与多重补漏分析 (三)

1. 面板数据多重补漏潜在问题

本文以英国老龄化 (ELSA) 数据为例。该数据研究英国 50 岁以上人群的身心健康、财务状况等,并且每 2 年进行一次调查。现在我们有 5 期的数据,假设研究模型如下:以第 5 期变量 depression5 (抑郁症) 为因变量,第 1 期变量 age1 (年龄)、sex1 (性别)、education1 (教育)、marital1 (婚姻状况)、income1 (收入)、cfex1 (认知执行功能得分)、cfme1 (记忆力功能得分) 为协变量,构建 logistic 回归模型 (变量后缀代表数据的不同期)。

*数据调用
cnssc install lxhuse, replace 
lxhuse elsa1.dta, clear

在剔除基期 (第一期) 中 depression 为 yes 的数据后,利用多重补漏 MICE 方法对缺失数据进行填补:

  • 依次对缺失数据进行插补;
  • 为每个变量指定合适的分布。
*插补模型中只包含因变量和协变量
mi impute chained (logit) marital1 (regress) cfex1 cfme1 income1 = age1 ///
   sex1 i.educ1 depression5  //marital1,cfex1,cfme1,income1存在缺失数据

然而,为了获得更加准确的结果,在插补模型中,我们需要加入辅助变量 (auxiliary variables)。另外,由于我们一共有 5 期的面板数据,可以充分利用每一期的数据进行插补,好处是:

  • 减少偏差 (reduce bias);
  • 使随机缺失 (MAR) 的假设更合理。
*插补模型中包含各期数据
mi impute chained (logit) marital* (regress) cfex* cfme* income* = age1 ///
   sex1 i.educ1 depression*  //数据中包含因变量、协变量和辅助变量

一般情况下,充分利用数据所包含的全部信息,将面板数据中每一期的数据都囊括在插补模型中是更推荐的方法。但是该方法在进行操作时会有如下潜在问题:

  • 共线性 (collinearity):对于具有很多期以及众多变量的数据来说,上述操作很容易使模型中存在高度相关的连续变量,从而导致共线性 (collinearity) 问题。共线性会使参数估计无法收敛,使模型的系数估计变得不可靠;
  • 完美预测 (perfect prediction):当模型中存在高度相关的分类变量时,会导致完美预测 (perfect prediction) 问题。完美预测如下图所示,假设我们希望根据自变量 x 预测结果 y,每当 x 取值为 1 时,y 的取值总为 0,即出现了完美预测。完美预测通常会导致无穷大的系数和无穷大的标准误差,并经常导致估计过程中的数值不稳定。在多重插补中可以使用 augument 选项来克服这一问题。

2. 二重 MICE 算法

接下来为大家介绍一种全新的多重插补分析方法,即二重 MICE 方法。该方法可以在避免上述共线性和完美预测问题的同时充分利用多期面板数据。二重 MICE 方法由 Nevalainen (2009) 等首次提出,将多重插补模型分为期间迭代 (Among-time Iteration) 和期内迭代 (Within-time Iteration)。

期内迭代是利用 (t-1) 和 (t+1) 期的数据估算第 t 期的缺失值,最初的缺失值用随机值填充,因此在 (t-1) 和 (t+1) 期处的缺失值被视为完全观测到的变量。下图为期内迭代的图示说明,其中 1-10 代表共 10 期观测值,星号代表事件发生,短线停止代表被调查对象退出。当二重 MICE 算法完成 10 期的组内插补时,即完成一次期间迭代。可以重复进行期间迭代,也可以选择迭代次数。

2.1 二重 MICE 插补优点

当面对大型面板数据集时,首选的方式是将面板数据中每一期的变量都囊括在插补模型中,因为这种方式可以充分利用数据中的信息。但是,当其由于共线性和完美预测而无法收敛时,多重 MICE 方法能够解决这一问题。

  • 易于对大型数据集进行多重补漏分析;
  • 期内插补降低共线性和完美预测的风险;
  • 由于相邻期数据的相关性较高,多重 MICE 方法更为合理。

2.2 二重 MICE 插补命令

在 Stata 中,二重 MICE 命令为 twofold,使用 cnssc install twofold, replace 命令安装,可通过 help twofold 命令查看其有关说明。在本例中,Stata 命令如下:

*命令安装
cnssc install twofold, replace
*命令语法
twofold, depmis(marital cfex cfme income) 
         indobs(age1 sex1 educ1) outcome(depression5) 
         cat(marital educ1 depression5) 
         timein(start) timeout(end) 
         m(20) ba(10) bw(5)
  • depmis:指定与时间有关的包含缺失值的变量;
  • depobs:指定与时间有关的不含缺失值的变量;
  • indmis:指定与时间无关的包含缺失值的变量;
  • indobs:指定与时间无关的不含缺失值的变量;
  • outcome:指定因变量;
  • cat:指定类别变量;
  • m:指定插补次数;
  • ba:指定期间迭代 (Among-time iterations) 次数;
  • bw:指定期内迭代 (Within-time iterations) 次数。

在使用二重 MICE 方法时,要保证数据为 wide 形式,同时保证不同期的变量名通过后缀数字的改变加以区分 (例如第 1 期的收入变量为 income1,第 2 期的收入变量为 income2) 。

3. 多重补漏敏感性分析

在运用多重补漏分析时,我们通过敏感性分析来验证数据随机缺失 (MAR) 假设的合理性。这里简要介绍模式混合建模 (Pattern Mixture Modelling) 方法 (Carpenter and Kenward, 2012):

  • 假设缺失数据与完全观测数据拥有不同分布;
  • 解释分布差异可能的原因;
  • 改变 MAR 假设,观测结果是否稳健。

举例如下图所示,假设 cfex1 (认知执行功能得分) 较差的受访者数据易于缺失。蓝色曲线代表那些观察到执行功能的患者的分布,这是可以从数据中观测的;红色曲线代表那些执行功能缺失的患者的分布,可以看到其数值较低,因为我们假设缺失数据的患者具有较低的认知功能。假设二者均为正态分布,仅数值有所差异。k 值为红色和蓝色曲线峰值之差,若 k=0,则缺失数据符合随机缺失 (MAR) 假设;相反,k 值越大则代表偏离 MAR 假设的程度越大。尝试不同 k 值对结果的影响,以验证结果的稳健性。

4. 参考资料

  • University College London PhD Course: Missing Data and Multiple Imputation for Cross-Sectional and Longitudinal Data
  • Welch C, Bartlett J, Petersen I. Application of multiple imputation using the two-fold fully conditional specification algorithm in longitudinal clinical data[J]. The Stata Journal, 2014, 14(2): 418-431. -PDF-
  • Carpenter J, Kenward M. Multiple imputation and its application[M]. John Wiley & Sons, 2012.

5. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh 补漏 缺失值 填充, m
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,400+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxh 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh