《数据分析实战:基于EXCEL和SPSS系列工具的实践》一3.3.2 缺失值的填充和分析

简介:

本节书摘来华章计算机《数据分析实战:基于EXCEL和SPSS系列工具的实践》一书中的第3章 ,第3.3.2节,纪贺元 著 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.3.2 缺失值的填充和分析

数据中的缺失值产生的原因很多,有的是原始数据中就没有,有的是漏了,有的则是因种种原因没有收集;还有填写者故意不填的,例如市场调查的问卷中,涉及收入、对竞争对手如何看待等敏感性问题时,就经常会出现缺漏的情况。还有一种比较特殊的情况是,最近的数据还没有统计出来,例如现在是2017年,可能2017年的Q1的数据还没有出现,甚至有可能2016年的Q4的数据都还没有出来。
之前已经说过,对于缺失值数据,一般不能采用“简单粗暴”的删除方法,而应尽可能地进行填充,下面就介绍一些填充的方法。
(1)手工填充
以案例文件3.4为例,2011年和2012年的数据都是完整的,2013年的数据有一些缺漏,这个时候有几种填充思路:
1)按照2013年销量的平均值做填充,这是比较简单的做法。
2)用历年同月的平均值做填充,例如2013/12/21的数据是空缺的,就拿2011年和2012年销量的平均值来填充,这是比较精准的做法。
以上的填充技术非常简单,不再赘述,直接用average函数即可。
(2)利用SPSS“替换缺失值”进行填充
案例文件3.5,SPSS中有两处菜单功能涉及缺失值,一是“转换”中的“替换缺失值”,二是“分析”中的“缺失值分析”。“替换缺失值”中可以用多种替换方法,以案例文件3.5为例来看一下,先在图3-13所示的菜单找到“替换缺失值”。


image


然后,进入“替换缺失值”界面,如图3-14所示。


image


在替换的方法中,有序列均值、临近点的均值、临近点的中位数等多种方法可以选择,一般选择“序列均值”和“临近点的均值”比较多一些。
(3) 利用SPSS“缺失值分析”进行填充
对于案例文件3.6,在分析分组和年龄这两个因素对分析指标的影响时,可采用SPSS的线性回归来处理,如图3-15所示。


image


然后进入线性回归的界面进行设置,如图3-16所示。


image


得到的结论如图3-17所示。

image


由于体重组和年龄的检验p值都小于0.05,因此得到结论:体重组和年龄对于分析指标都有着显著的影响。
若对案例文件3.7(该案例有缺失值)执行同样的操作,得到的输出结果如图3-18所示。


image


从图3-18所示的输出可以看出,在有缺失值的情况下,体重组的sig是0.076>0.05,因此得到结论:体重组对于分析指标的影响不显著,而年龄对于分析指标的影响显著。
现在考虑如何填充数据,在图3-19所示的界面选择“缺失值分析”。


image


SPSS的缺失值分析中,常用的有EM和回归这两种方式。下面首先展示EM方式填充缺失值的方法,如图3-20所示。

image


在图3-20所示的界面中,点击“EM...”,进入如图3-21所示的界面。


image


将填充好的缺失值放到数据集a中,就完成了相应的操作。
同样也可以用回归方法实现缺失值的填充,如图3-22所示。

image


为了比较EM和回归这两种填充方法的优劣,仍旧做数据回归来比较EM和回归这两种填充方式的差异,请注意,这里出现了两个“回归”,前面一个“回归”是数据分析的回归方法,后面一个“回归”是SPSS里面的一种填充算法。

image


图3-23是采用EM方法填充数据后进行回归分析的输出结果,图3-24是采用“回归”方法填充数据后进行回归分析的输出结果。可以看到,EM回归的两个检验P值0.008和0.004,分别小于0.023和0.012,这说明EM填充缺失值的质量要高于回归填充缺失值。

相关文章
|
1月前
|
easyexcel Java 测试技术
读取Excel还用POI?试试这款开源工具EasyExcel
读取Excel还用POI?试试这款开源工具EasyExcel
57 0
|
1月前
|
自然语言处理 小程序 数据挖掘
数据分析实战-Python实现博客评论数据的情感分析
数据分析实战-Python实现博客评论数据的情感分析
104 0
|
2月前
|
数据采集 存储 数据挖掘
Python 爬虫实战之爬拼多多商品并做数据分析
Python爬虫可以用来抓取拼多多商品数据,并对这些数据进行数据分析。以下是一个简单的示例,演示如何使用Python爬取拼多多商品数据并进行数据分析。
|
1月前
|
数据可视化 数据挖掘 数据处理
Python在数据分析中的应用实践
【2月更文挑战第13天】 本文旨在探讨Python语言在当前数据驱动时代的核心应用之一——数据分析领域的实践方法和技术。Python,作为一种高级编程语言,因其简洁的语法、强大的库支持以及广泛的社区资源,已成为数据科学家和分析师首选的工具之一。文章首先简要介绍Python及其在数据分析中的优势,随后深入讲解使用Python进行数据处理、分析、可视化的关键技术,包括但不限于Pandas库的数据处理、Matplotlib和Seaborn库的数据可视化技术,以及SciPy和Scikit-learn库在数据分析中的应用。通过具体案例,展示Python如何有效地解决实际数据分析问题,最终旨在为读者提供一
21 2
|
1月前
|
数据采集 数据挖掘 大数据
Python在数据分析中的应用及实践
【2月更文挑战第13天】 本文旨在探讨Python语言在数据分析领域的广泛应用及其实践方法。通过深入浅出的方式,介绍Python在处理、分析大数据时的核心库和工具,如Pandas、NumPy、Matplotlib等,并通过一个实际案例来展示这些工具如何协同工作,解决数据分析中遇到的常见问题。文章不仅为读者提供了一个学习和应用Python进行数据分析的起点,也通过案例分析,展示了Python在数据处理能力上的强大与灵活性,旨在激发读者对Python数据分析深入学习和研究的兴趣。
|
2月前
|
数据采集 存储 数据可视化
Python数据分析从入门到实践
Python数据分析从入门到实践
|
8天前
|
数据采集 数据可视化 数据挖掘
Seaborn在数据分析中的应用:案例分析与实践
【4月更文挑战第17天】本文介绍了Seaborn在数据分析中的应用,它是一个基于Python的可视化库,简化了复杂数据的图表创建。通过一个销售数据分析的案例,展示了数据加载、描述性统计、相关性分析、多变量分析及高级可视化步骤。实践技巧包括数据清洗、图表选择、颜色使用、注释标签和交互性。Seaborn助力高效数据探索和理解,提升分析效率。注意,实际使用需根据数据集和目标调整,并参考最新文档。
|
9天前
|
存储 数据挖掘
Excel 实例:单因素方差分析ANOVA统计分析
Excel 实例:单因素方差分析ANOVA统计分析
15 0
|
9天前
|
供应链 搜索推荐 数据挖掘
Pandas实战案例:电商数据分析的实践与挑战
【4月更文挑战第16天】本文通过一个电商数据分析案例展示了Pandas在处理销售数据、用户行为分析及商品销售趋势预测中的应用。在数据准备与清洗阶段,Pandas用于处理缺失值、重复值。接着,通过用户购买行为和商品销售趋势分析,构建用户画像并预测销售趋势。实践中遇到的大数据量和数据多样性挑战,通过分布式计算和数据标准化解决。未来将继续深入研究Pandas与其他先进技术的结合,提升决策支持能力。
|
9天前
|
存储 数据可视化 数据挖掘
实战案例:Pandas在金融数据分析中的应用
【4月更文挑战第16天】本文通过实例展示了Pandas在金融数据分析中的应用。案例中,一家投资机构使用Pandas加载、清洗股票历史价格数据,删除无关列并重命名,将日期设为索引。接着,数据被可视化以观察价格走势,进行基本统计分析了解价格分布,以及计算移动平均线来平滑波动。Pandas的便捷功能在金融数据分析中体现出高效率和实用性。