查看原文
其他

软件应用 | Stata:面板数据缺失值与多重补漏分析-twofold

数据Seminar 2022-12-31

The following article is from 连享会 Author 连享会

本文转载自公众号连享会(ID:lianxh_cn)

作者:孟佳音 (University College London)

邮箱:jiayin.meng.20@ucl.ac.uk

目录

  • 1.面板数据多重补漏潜在问题
  • 2.二重 MICE 算法
    • 2.1 二重 MICE 插补优点
    • 2.2 二重 MICE 插补命令
  • 3.多重补漏敏感性分析
  • 4.参考资料

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

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-[4]
  • Carpenter J, Kenward M. Multiple imputation and its application[M]. John Wiley & Sons, 2012.

友情链接[1]

Stata数据处理:缺失值与多重补漏分析 (一): https://www.lianxh.cn/news/716da36e2cb70.html

[2]

Stata数据处理:缺失值与多重补漏分析 (二): https://www.lianxh.cn/news/c3e8128be3072.html

[3]

Stata数据处理:缺失值与多重补漏分析 (三): https://www.lianxh.cn/news/3b79ea976a27e.html

[4]

J]. The Stata Journal, 2014, 14(2): 418-431. [-PDF-]: https://journals.sagepub.com/doi/pdf/10.1177/1536867X1401400213

- END -

本文转载自公众号:连享会(ID:lianxh_cn),作者:连享会。





星标⭐我们不迷路!
想要文章及时到,文末“在看”少不了!

点击搜索你感兴趣的内容吧


往期推荐


统计计量 | 内生性解决办法大全!!!

统计计量 | 关于DID平行趋势检验基准组的选择

数据治理|Stata如何直连关系型数据库

统计计量 | 双重差分法(DID)平行趋势检验的Stata操作

数据可视化 | 快来看这6款常用的动态数据可视化工具

软件应用 | Stata: 外部命令的搜索、安装与使用

软件应用 | findname——想要什么找什么






数据Seminar




这里是大数据、分析技术与学术研究的三叉路口


推荐 | 彭绮荣


    欢迎扫描👇二维码添加关注    

点击下方“阅读全文”了解更多

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存