为什么中位数(大多数时候)比平均值好

简介: 为什么中位数(大多数时候)比平均值好

开始我的数据分析冒险之旅,我发现了解数据描述的主要统计方法是非常必要的。当我深入研究时,我意识到我很难理解为给定的数据选择哪个集中趋势指标有三种:平均值,中位数和众数。

所以我决定写这篇文章来帮助像我一样在这个领域里的新人来弄明白这一点,而不是害怕数据和统计。这里我们使用Pandas和世界人口的数据来做说明。

image.png

首先,我们应该把数据用于探索。我在Kaggle上找到了一个很好的数据集:这个国家的统计数据。它代表了全世界所有国家的经济、社会、基础设施和环境指标。对于我们的研究,我们只需要这个数据框架中的三列:国家名称、地理位置和人口。

https://www.kaggle.com/sudalairajkumar/undata-country-profiles/data

image.png

现在我们可以进入我们的问题:我们应该使用哪种集中趋势度量来研究数据,以及为什么。

最简单的部分是关于众数(mode)。它只是行或列中所有值中最常见的值——仅此而已。这是数据中最“流行”的数字。

我们只对非数值使用众数(mode)。为了找到它,我们必须计算一个特定的单元出现在给定列中的频率。结果最好的单位是我们正在寻找的众数(mode)。

在我们的数据集中,我们只能对region列应用一个关于众数(mode)的问题,region列是表中唯一一个有意义的列。因为在Country列中所有的值都是不同的,而在Population列中它们是数字。

我事先清理了这列数据,只留下了五大洲的名称(取而代之的是南亚-亚洲等等)。

image.png

很好。这意味着大多数国家都位于非洲大陆。这并不奇怪,对吧?

现在让我们转到平均值和中值。这两个值都显示了行中心的数字。但方式不同。

平均值是一个平均值(这好像是废话),我们可以通过汇总一行中的所有值,然后将结果除以它们的数量来计算它。让我们看看人口。为了计算平均值,我们应该将所有国家的人口值相加,然后除以数据集中的国家数。幸运的是,pandas可以为我们做这件事。

image.png

这个数字表明,在一个正常的国家,平均生活着大约3300万人。

中位数也显示了一个平均数。但它正好是行中间的值。如果我们将总体值从最小到最大排序,则在该排序行的中间位置,中值为:

image.png

根据中位数,一个国家的平均人口只有大约550万。根据平均数,它比平均人口要小得多。怎么会这样?

通常中位数和中位数是相当接近的。如果不是,那么问题就出在异常值中—这些值与行中的所有其他值都非常不同。让我们做一个小图形。

image.png

我们看到,大多数国家都集中在零附近。但有些数值与众不同。虽然这些点很小,但我们可以看到其中一些点超过2亿,其中两个点接近10亿4亿。对于平均值的计算来说这些都是异常值 因为这就是均值的本质——把所有值都考虑在内。而中位数没有这个缺点。

统计量的稳健性和有效性,以及实际运用时的计算复杂度这三点是数据统计中最重要的衡量标准

平均数是总体均值很好的估计,中位数是对总体中心很好的估计,如果数据是来自某对称未知分布时,估计均值和估计中心是等价的,这时候中位数的效率要比均值低不少

就稳健性而言,显然是中位数更好的,常见的衡量稳健性的指标是崩溃点,即能使统计量“失真”的最大比例,对于均值,只需要有一个点离得无穷大,均值就会无穷大,但改变中位数至无穷大,你最多可以移动一半的数据,所以中位数要比均值稳健的多

最后是计算的复杂性,均值只需要求和除,但中位数,我的理解的话,至少要排个序吧,排序的复杂度应该比直接加要复杂一些,而且很多数据的样本量都特别大,这时候计算均值要方便不少,所以为了简单才会有很多使用平均值计算的情况。

最后:我们可以通过这三个值来简单的查看数据的分布情况,比如:正态分布是单峰对称分布,所以中位数、平均数和众数三个参数都位于对称中心,三者是相等的。

目录
相关文章
|
开发工具 Windows
关于 fatal error LNK1158: 无法运行“rc.exe” 的解决方法
关于 fatal error LNK1158: 无法运行“rc.exe” 的解决方法
关于 fatal error LNK1158: 无法运行“rc.exe” 的解决方法
|
7月前
|
机器学习/深度学习 人工智能 编解码
AI 只用 60 秒就能生成 Logo,用 AI 生成 Logo 有什么优势和特点?
AI Logo生成工具测评:免费方案能否满足品牌需求? AI Logo生成工具凭借高效低价的特点,为初创企业和个人提供了便捷的选择。本文对比了7款主流免费AI Logo工具(如LogomasterAI、燕雀光年等),发现这些工具平均1分钟即可生成Logo,提供多种行业模板和编辑功能,部分甚至支持矢量格式输出。但在专业性方面,AI生成的Logo虽具备基础设计感,却可能缺乏独特性。值得注意的是,各工具版权政策差异较大,用户需仔细确认商用授权条款。建议预算有限的用户可先用AI生成基础方案,再结合专业建议进行优化,
365 0
|
数据可视化 数据挖掘 BI
MATLAB学习之旅:数据统计与分析
在MATLAB中,我们掌握了数据导入、处理及插值拟合等基础技能。接下来,我们将深入数据统计与分析领域,学习描述性统计量(如均值、标准差)、数据分布分析(如直方图、正态概率图)、数据排序与排名、数据匹配查找以及数据可视化(如箱线图、散点图)。这些工具帮助我们挖掘数据中的有价值信息,揭示数据的奥秘,为后续数据分析打下坚实基础。
|
9月前
|
数据采集 前端开发 JavaScript
深挖navigator.webdriver浏览器自动化检测的底层分析
本文详细讲解了如何通过技术手段破解浏览器 `navigator.webdriver` 检测,结合爬虫代理、多线程等策略,在豆瓣图书页面批量采集数据。具体包括:隐藏 Selenium 特征、配置代理突破 IP 限制、设置伪装用户、利用多线程提升效率。文章面向初学者,提供分步教程与示例代码,同时设有「陷阱警告」帮助规避常见问题。目标是从底层实现反检测,高效采集图书评分、简介、作者等信息,适合具备 Python 和 Selenium 基础的读者实践学习。
378 12
深挖navigator.webdriver浏览器自动化检测的底层分析
|
缓存 Linux
Linux查看内存命令
1. free free命令是最常用的查看内存使用情况的命令。它显示系统的总内存、已使用内存、空闲内存和交换内存的总量。 free -h • -h 选项:以易读的格式(如GB、MB)显示内存大小。 输出示例: total used free shared buff/cache available Mem: 15Gi 4.7Gi 4.1Gi 288Mi 6.6Gi 9.9Gi Swap: 2.0Gi 0B 2.0Gi • to
2096 2
在Win10中、如何把常用的应用添加到高效工作窗口呢?
这篇文章提供了两种方法来在Windows 10系统中将常用应用程序添加到高效工作窗口,包括通过开始菜单固定应用和直接从软件安装位置创建快捷方式,并介绍了如何调整图标大小和位置。
在Win10中、如何把常用的应用添加到高效工作窗口呢?
|
安全 API
Vue3 proxy 解决跨域
jsonp 这种方式在之前很常见,他实现的基本原理是利用了HTML里script元素标签没有跨域限制 动态创建script标签,将src作为服务器地址,服务器返回一个callback接受返回的参数
769 0
Vue3 proxy 解决跨域
|
存储 前端开发 JavaScript
uni-app:基础组件 (上)
本文介绍了uni-app中多个组件的使用方法,包括存储操作、图标展示、按钮样式、表单输入、导航跳转和输入框控制等。通过具体代码示例展示了如何设置存储键值、使用不同类型的按钮、实现表单提交与重置功能、控制输入框的显示与清除等功能。
342 0
|
人工智能 自然语言处理 算法
|
缓存 安全 数据中心
IDC许可证 互联网数据中心业务 增值电信业务许可证 办理流程
IDC许可证 互联网数据中心业务 增值电信业务许可证 办理流程
444 0