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

文摘   教育   2025-01-12 10:03   山西  

👇 连享会 · 推文导航 | www.lianxh.cn

🍓 课程推荐:连享会:2025 寒假班
嘉宾:连玉君(初级|高级);杨海生(前沿)
时间:2025 年 1 月 13-24 日
咨询:王老师 18903405450(微信)

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


目录

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

  • 2. 二重 MICE 算法

    • 2.1 二重 MICE 插补优点

    • 2.2 二重 MICE 插补命令

  • 3. 多重补漏敏感性分析

  • 4. 参考资料

  • 5. 相关推文



温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:

在缺失值与多重补漏分析的前三讲中,我们讲述了截面数据多重补漏的 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

  • 专题:Stata命令
    • Stata:让缺失值一览无余
  • 专题:数据处理
    • Stata:缺失值与多重补漏-misstable
    • Stata数据处理:缺失值与多重补漏分析(一)
    • Stata数据处理:缺失值与多重补漏分析(二)
    • Stata数据处理:缺失值与多重补漏分析(三)
    • 缺失值能否用零代替?-L117
    • Stata缺失值专题:多重补漏分析
    • Stata:缺失值的填充和补漏
    • Stata数据处理:面板数据的填充和补漏

   

🍓 课程推荐:公开课:Stata+R 软件基础
嘉宾:候丹丹
扫码进群 获取资料及听课链接!

尊敬的老师 / 亲爱的同学们:

连享会致力于不断优化和丰富课程内容,以确保每位学员都能获得最有价值的学习体验。为了更精准地满足您的学习需求,我们诚挚地邀请您参与到我们的课程规划中来。请您在下面的问卷中,分享您 感兴趣的学习主题或您希望深入了解的知识领域 。您的每一条建议都是我们宝贵的资源,将直接影响到我们课程的改进和创新。我们期待您的反馈,因为您的参与和支持是我们不断前进的动力。感谢您抽出宝贵时间,与我们共同塑造更加精彩的学习旅程!https://www.wjx.cn/vm/YgPfdsJ.aspx# 再次感谢大家宝贵的意见!

New! Stata 搜索神器:lianxh 和 songbl  GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
  . ssc install lianxh
  . ssc install songbl
👉  使用:
  . lianxh DID 倍分法
  . songbl all

🍏 关于我们

  • 连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 直通车: 👉【百度一下: 连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。

连享会
连玉君老师团队分享,主页:lianxh.cn。白话计量,代码实操;学术路上,与君同行。
 最新文章