多国数据库联合课程|多重插补处理数据缺失值

文摘   2024-10-11 14:07   美国  

    多重插补(Multiple Imputation, MI)是一种处理缺失数据的统计方法,其主要目标是通过合理估计缺失值减少缺失数据对分析结果的影响提高数据分析的准确性和可靠性

    是否需要使用多重插补插补的准确性也与缺失比例有关。一般来讲多重插补适用的缺失比例在30%及以下。
  1. 10%以下的缺失:

  • 可通过相对简单的插补方法(如均值插补、最近邻插补等)处理,或直接剔除缺失值也不会对结果产生太大影响。

  • !!!但如果变量在模型中非常关键,哪怕是少量的缺失(如5%以下),也建议使用多重插补来确保分析的稳健性。

  • 10%-20%的缺失:

    • 简单的插补方法可能不够准确,因为缺失数据的影响可能会较大。

    • 使用多重插补可更好地反映缺失数据的不确定性,减少偏差。

  • 20%-30%的缺失:

    • 缺失数据对结果的影响可能非常显著。若剔除数据会导致样本量大幅减少,可能导致统计效能下降和结果偏差。

    • 多重插补可有效地保留样本量,并减少因缺失数据带来的模型偏差

  • 30%以上的缺失:

    • 缺失数据对结果的影响可能非常严重。尽管多重插补可以处理高度缺失的数据,但插补结果的可靠性可能会受到影响

    • 在这种情况下,可能需要更换数据,或在插补时使用更复杂的模型(如基于贝叶斯方法的插补)来尽量减少偏差。
    接下来我们给大家演示利用R语言的mice包进行charls数据库的多重插补。
    1.安装并加载mice包
    # 安装并加载必要的包install.packages("mice")library(mice)
    2. 假设我们使用charlsMAX包获取到了2015年wave-3的血压数据,代码如下,charls_data为我们需要进行缺失值插补的数据
    #查找所需变量 design <- c("qa007_Biomarker_2015","qa011_Biomarker_2015","qa008_Biomarker_2015","qa012_Biomarker_2015")column_names <- c("qa007","qa011","qa008",                  "qa012")# 获取所需变量charls_data <- charlsMAX::fetch_CHARLS_data(design, merge_method ="inner",column_names)%>%  transmute(ID,            sbp1 = ifelse(qa007>300,NA,qa007),            sbp2 = ifelse(qa011>300,NA,qa011),            dbp1 = ifelse(qa008>150,NA,qa008),            dbp2 = ifelse(qa012>150,NA,qa012),            sbp_follow=(sbp1+sbp2)/2,            dbp_follow=(dbp1+dbp2)/2  )%>% select(-(sbp1:dbp2))
    3.使用mice函数进行多重插补
    #①默认情况下,mice会使用预测模型(pmm)进行插补imputed_data <- mice(charls_data, m = 5, method = 'pmm', seed = 123)#m = 5参数指定了生成5组插补数据#method = 'pmm'指定了使用预测模型进行插补#seed = 123是为了确保结果的可重复性 #②查看插补后的数据completed_data <- complete(imputed_data, 1) #选择第一组插补数据进行分析#③查看插补的详细信息summary(imputed_data)##④如果需要,可以将插补后的数据导出到CSV文件write.csv(completed_data, "imputed_charls_data.csv", row.names = FALSE)
    效果如下
        
    本工作室特为《多国健康数据库精析与挖掘》课程开发专用R包(charlsMAX包,现已推出0.2.1版本,简介如下:无需官网申请及下载,已上传CHARLS、CLHLS、CHNS、HRS、ELSA、SHARE、MHAS数据库原始数据清洗后数据,可由R包在线调取。视频教程在文末哦~

    charlsMAX R包是什么?

        本工作室特开发全网首发charlsMAX 包,专为方便CHARLS、CLHLS、CHNS、HRS、ELSA、SHARE、MHAS七大数据库清洗变量、数据分析打造的R包,让大家缩短数据计算时间,发文更快、更高水准。

    charlsMAX 0.2.1 R包有哪些功能?

    1. R包直接获取变量数据-简简单单、干干净净。

    2. 一款帮你写好代码的R包---直接复制运行,轻松计算二次变量!

    3.  半小时学会生成基线表

    4. 加更轨迹分析、筛选并构建最佳模型、可视化样样齐全!

    5. 一键生成Kaplan-Meier曲线森林图-小白学习周期进一步缩短!

    6. 配备了完备的数据检索网站,再也不用查手册啦:配备charlsMAX相关code、变量的查询网站轻松知道所需变量的wave/year、description、Code、Source等信息,具体功能介绍如下图。

    深夜答疑,24h并肩作战

    charlsMAX R包如何购买?

    • 购买多国健康数据库精析与挖掘课程即送charlsMAX  R包,并配有常规学习代码、文章实操复现等视频学习内容(永久观看)
    • 另有服务:社群答疑(永久)、1v1选题 审稿 投稿推荐 返修指导服务(2年)
    • 价格:3999,学生3799(包含税,可开发票)

    福利来咯!

        转发此条至朋友圈+配文字“医豌豆,科研精,公共数据库助你行”(维持3小时以上),即可免费获取“配有charlsMAX相关code、变量查询的网站”,并可加入公共数据库交流社群一起学习。

    课程咨询微信

    豌豆老师
    小宇老师



    课程购买链接


    -END-
    行稳致远 进而有为

    期待你的

    分享

    点赞

    在看


    豌豆医学科研
    擅长医学公共数据库挖掘及教学:NHANES、charls、KLoSA、HRS等
     最新文章