常用【描述性统计指标】含义(by python)

这篇具有很好参考价值的文章主要介绍了常用【描述性统计指标】含义(by python)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

统计学有时候会被误解,好像必须有大量的样本数据,才能使统计结果有意义。
这会让我们觉得统计学离我们的日常生活很遥远。

其实,如果数据的准确度高的话,少量的样本数据同样能反映出真实的情况。
比如,很多国家选举时不断做的民意调查,一般做到有效样本1600多份就够了,不管你是几千万人的小国家,还是数亿人的大国,调查的样本数都差不多。

所以,正确地进行统计,即使样本数据量不大,我们也可以从中提取知识,避免被误导。
不过,在此之前,我们要能够清楚地理解统计数据和各种统计指标的含义,以及它们在区分真相和误导时的作用。

1. 统计是什么

统计是个很笼统的概念,它涉及到很多事情,简单来定义它的话,必然会掩盖很多细节。
统计学可以被认为是处理数据的科学框架,其中包括与数据收集、分析和解释相关的所有任务。

那么,什么是数据
数据是对世界观察的一般集合,其性质多种多样,从定性到定量。
比如,研究人员从实验中收集数据,企业家从用户那里收集数据,医生从病人那里收集数据等等。

本篇准备介绍一些在分析数据时常用的两种描述性指标,通过它们来实际的度量数据情况,而不是模凌两可的描述数据性质。

本文使用的示例数据来自scikit-learn中自带的糖尿病数据集。

from sklearn.datasets import load_diabetes

# 糖尿病人数据集
ds = load_diabetes(as_frame=True, return_X_y=True, scaled=False)
data = ds[0]

data.head()

常用【描述性统计指标】含义(by python)
其中一共有400多条数据。
这里不做糖尿病的分析,只是用这个数据集来演示一些统计学描述指标的计算方式。

2. 集中度指标

首先是集中度指标,它表示数据的“中间”是什么样的。
“中间”这个词是模糊的,我们可以用多种方式来定义中间。

2.1. 平均值

平均值是一种描述性统计量,描述的是数据集中最典型的值。
比如,我们看看示例数据中,糖尿病病人的年龄平均值:

# 获取年龄列表
ages = data["age"].tolist()

# 年龄之和
sum_ages = sum(ages)
# 人数
num_ages = len(ages)

# 平均年龄
avg_ages = sum_ages / num_ages
avg_ages

# 运行结果
48.51809954751131

这个平均年龄告诉我们,易患糖尿病的“典型”年龄可能是48岁左右

2.2. 中位数

中位数是数据“中间”的另一种定义,它不像平均值那样需要算术计算。
它只要将数据排序之后,取中间的那个值就行,如果数据集中数据的个数是偶数,则取排序后中间两个值的平均值。

# 获取年龄列表
ages = data["age"].tolist()

sorted_ages = sorted(ages)

# 人数
num_ages = len(ages)
mid = int(num_ages / 2)

# 因为人数是偶数,所以中位数是中间两个数的平均值
med_ages = (sorted_ages[mid - 1] + sorted_ages[mid])/2
med_ages

# 运行结果
50.0

中位数年龄50与上面计算的平均值差别不大。
有时候,数据集中有一些异常值(极大或极小的值),就会造成中位数平均值差别很大。

异常值一般会对平均值产生不利的影响,而对于中位数来说,一般影响不大。

2.3. 众数

众数是数据中出现最频繁的值,它不像平均值中位数那样更像数据的“中间”
不过,一个值在数据集中重复出现的次数越多,对平均值的影响就越大,因此,众数代表了对平均值的最高加权贡献因素。

# 获取年龄列表
ages = data["age"].tolist()

ages_count = {}
# 统计每个年龄的个数
for i in ages:
    if i in ages_count:
        ages_count[i] += 1
    else:
        ages_count[i] = 1

# 出现次数最多的年龄
max_age, max_count = 0, 0
for k, v in ages_count.items():
    if v > max_count:
        max_age = k
        max_count = v

print(max_age, max_count)

# 运行结果
53.0 19

众数也就是出现最多的年龄,是53岁,有19人。
众数相当接近中位数,这让我们对于数据的集中趋势更有信心。

3. 离散度指标

集中度指标让我们了解到数据的“中间”是什么样的,而离散度指标则是告诉我们数据“变化”有多大。
离散度指标让我们可以度量数据的变化程度,哪怕是轻微的变化程度。

3.1. 极差

极差就是数据的最大值与最小值之差,它让我们了解到数据的变化范围有多大。

# 获取年龄列表
ages = data["age"].tolist()

# 极差
max(ages) - min(ages)

# 运行结果
60.0

极差60岁,说明糖尿病患者的年龄差距很大,这是一种需要及早预防的疾病。

3.2. 标准差

标准差是对观察结果分布的衡量,是对数据与“典型”数据点的偏差程度的度量。
标准差越大,数据在平均值附近的分布就越分散,反之越集中。

# 标准差计算函数
def stdev(nums):
    diffs = 0
    avg = sum(nums)/len(nums)
    for n in nums:
        diffs += (n - avg)**(2)
    return (diffs/(len(nums)-1))**(0.5)

# 获取年龄列表
ages = data["age"].tolist()

stdev(ages)

# 运行结果
13.109027822041087

极差看出年龄的差距有60岁,但是标准差只有13岁左右,说明数据还算集中,不是太分散。

3.3. 方差

方差就是标准差的平方,它们几乎是完全相同的东西。
需要注意的是,方差的单位是原始数据不一样,而标准差的单位和原始数据一样。

平均值一样,方差标准差也会受到异常值的影响。

4. 总结

本篇主要内容包括:文章来源地址https://www.toymoban.com/news/detail-747837.html

  1. 描述性统计指标分两种:集中度指标和离散度指标
  2. 描述性统计指标表示数据的简单摘要
  3. 平均值计算我们数据集的典型值,易受异常值影响
  4. 中位数是数据集排序后的中间值,不易受异常值影响
  5. 众数是出现次数最多的值
  6. 极差是数据集中最大值和最小值之间的差
  7. 方差标准差表示在平均值附近的波动情况

到了这里,关于常用【描述性统计指标】含义(by python)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数理统计SPSS软件实验报告一--描述性统计

    实验报告内容: 1 、实验目的: 熟练掌握利用SPSS进行描述性统计分析的基本技能。 2 、实验要求: (1) 利用SPSS软件计算常用统计量(样本均值、中位数、众数、分位数;最大值、最小值、极差、总和、样本方差、样本标准差、变异系数;偏度系数、峰度系数等)的值; (2)

    2023年04月12日
    浏览(58)
  • 【SAS应用统计分析】数据的描述性统计分析

    声明:本文知识参考内容来自网络,如有侵权请联系删除。本文还参照了B站up主庄7的课程内容【公开课】数据分析与SAS【15课】 目录 实验原理 描述性统计量 1.反映数据集中趋势的特征量 2.反映数据离散程度的特征量 3.反映数据分布形状的特征量 数据的图形描述 直方图 箱线

    2024年02月01日
    浏览(50)
  • 使用Python进行数据分析——描述性统计分析

    大家好,描述性统计分析主要是指求一组数据的平均值、中位数、众数、极差、方差和标准差等指标,通过这些指标来发现这组数据的分布状态、数字特征等内在规律。在Python中进行描述性统计分析,可以借助Numpy、Pandas、SciPy等科学计算模块计算出指标,然后用绘图模块Ma

    2024年02月07日
    浏览(52)
  • 统计学基础1:描述性统计(数据的离散度、极差、方差、标准差)

    1、频数:一组定量数据中,每一个数值发生的次数即为频数。 2、频率:将每一个数值发生的次数除以样本总数量,即频率

    2023年04月10日
    浏览(48)
  • 【100天精通Python】Day57:Python 数据分析_Pandas数据描述性统计,分组聚合,数据透视表和相关性分析

    目录 1 描述性统计(Descriptive Statistics) 2 数据分组和聚合 3 数据透视表 4 相关性分析

    2024年02月07日
    浏览(60)
  • 【Python 数据分析】描述性统计:平均数(均值)、方差、标准差、极大值、极小值、中位数、百分位数、用箱型图表示分位数

    前面讲了数据分析中的第一步:数据预处理,下面就是数据分析的其中一个重头戏:描述性统计,具体内容为: 平均数(均值)、方差、标准差、极大值、极小值、中位数、百分位数、用箱型图表示分位数 。 关键方法 含义 .mean() 求均值 .var() 求方差 .std() 求标准差 .max() 求极

    2024年01月21日
    浏览(46)
  • R语言实验1 :数据的描述性分析

    实验 1     数据的描述性分析 一、实验目的 1. 掌握理解均值、方差等一系列统计相关概念。 2. 加深对散点图、直方图、相关系数等概念的理解。 3. 熟悉R语言等语言的集成开发环境。 二、实验分析与内容 完成教材P37第6题。 题目如下: ( 1 )(1)分别计算数学成绩和统计学成

    2024年01月18日
    浏览(49)
  • 交易流水指标统计——pandas

    1、根据交易流水,计算每个交易交易对象的如下指标, 总收入笔数、总收入月数、最大月收入笔数、最大月收入笔数所在日期(年月日格式) id _COL0 x _COL4 _col5 交易对方 0 1000050001202305060010n153222358 2023-05-06 18:10:45 转账 收入 676.0 三巷7号303 1 1000050001202305060717n985751052 2023-05-0

    2024年02月15日
    浏览(35)
  • 利用Prometheus做指标统计

    背景:目前公司需要统计一些数据, 而这些数据有些量非常大(千万量级的数据)。 如果在mysql中做统计, 可能会引发慢查询或者造成mysql集群负载过高的问题。 目前业务没有将这些数据同步到ES等数据库, 如果为了统计而调整业务, 这个改造成本比较高。 目前这些指标,

    2024年02月12日
    浏览(39)
  • 简单使用Spark、Scala完成对天气数据的指标统计

    目录 一、前言   什么是Spark?   什么是Scala 二、数据准备(数据类型的转换) 三、Spark部分 1、使用Spark完成数据中的“风级”,“风向”、“天气情况”相关指标统计及筛选 四、Scala部分 1、使用Scala统计某月、全年的温差、平均气温以及最值等相关的指标 五、遇到的问题

    2024年02月03日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包