程序员眼中的统计学2

程序员眼中的统计学系列是作者学习笔记整理而得。随着科学技术的发展和机器智能的普及,统计学在机器智能中的作用越来越重要。正如吴军先生在《数学之美》一书中阐述的,基于统计和数学模型对机器智能发挥重大的作用。( 本文原创,未授权不得转载。)。

看点

01

集中趋势度量:强大的距

平均数

均值的定义

均值有两种计算方法:第一种计算方式是:将所有的数字加起来,然后除以数字的个数 。可用记为:µ=∑x/n。另一种计算方法是把每个数的频数考虑进去了的,它表示如下:µ=∑fx/f。均值符号定义:

  • n:表示的是输入的数据的个数
  • µ:为数据的均值
  • ∑:表示所有数据之和

均值算法中的计算方法

  1. 统计出输入数据的个数n
  2. 计算出所有的数据之和 sum
  3. 计算出数据的均值avg=sum/n

均值算法的应用场景

  • 案例描述:俱乐部中,各个舞蹈班的人数的清单为:1人,2人,3 人,4人,5人,6人,7人。
  • 案例定义:这个俱乐部舞蹈班的总人数为28,总共有7个舞蹈班,知道了总的人数和总共有多少个班级,即可求出舞蹈班人数的均值。

该场景下算法中符号解释

  • n:用来统计输入的舞蹈班的个数
  • list:用来存储输入的舞蹈班的人数
  • sum:表示所有舞蹈班的人数之和
  • avg:表示n个舞蹈班的人数的均值

该场景下算法计算方法

  • 案例中俱乐部舞蹈班的人数的总和为:sum=1+2+3+4+5+6+7,sum=28,
  • 统计出俱乐部中舞蹈班级的个数为:n=7
  • 计算出该俱乐部的人数的均值为:avg=sum/n,avg=28/7=4 ,

优缺点

  • 优点:能够快速准确地计算出均值
  • 缺点: 在输入的数据过多时,会产出一定的误差。

中位数

中位数定义

中位数的定义永远处于一组数据的中间,它是个中间值,中位数均值符号定义,n:表示的是输入的数据的个数。

中位数算法中的计算方法

  1. 按顺序排列数字:从最小值排列到最大值
  2. 如果有奇数个数值,则中位数为位于中间的数值。如果有n个数,则中间数的位置为(n+1)/2
  3. 如果有偶数个数值,则将两个中间数相加,然后除以2.中间位置的算法是:(n+1)/2。两个中间数分别位于这个中间数位置的两侧

中位数算法的应用场景

  • 案例描述:有两组数据,分别求出两组数据的中位数,并比较两组数据的中位数的情况。

年龄

19

20

21

147

145

频数

3

6

3

1

1

1 1 1 2 2 2 2 3 3 31 31 32 32 32 32 33 33 33

中位数算法在该场景的定义

  • 案例定义:将两组数据输入到算法中,算法中用数组list接受,之后,算法就会自动的算出这两组数据的中位数。

该场景下算法计算方法

  • 按顺序排列数字:1 1 1 2 2 2 2 3 3 31 31 32 32 32 32 33 33 33
  • 如果有奇数个数值,则中位数为位于中间的数值。如果有n个数,则中间数的位置为(n+1)/2:
  • 如果有偶数个数值,则将两个中间数相加,然后除以2.中间位置的算法是:(n+1)/2:

该组数据中有18个数据为偶数。因此,用③中的方法,求出该组数据的中位数是17

优缺点

  • 优点:能够快速准确地计算出数据的中位数
  • 缺点: 在输入的数据过多时,会产出一定的误差。

众数

众数的定义

众数:即频率最大的数,与均值和中位数不同,众数必须是数据集中的一个数值,而且是最频繁出现的数值。众数符号定义:

  • n:表示的是输入的数据的个数
  • 众数算法中的计算方法

众数的三步法

  1. 把数据中的不同类别或数值全部找出来。
  2. 写出每个数值或类别的频数。
  3. 挑出具有最高频数的一个或几个数值,得出众数。

众数算法的应用场景

  • 案例描述:有一组数据,求出这组数据的众数。

年龄

19

20

21

147

145

频数

3

6

3

1

1

众数算法在该场景的定义

  • 案例定义:将这组数据输入到算法中,算法中用数组map接受,之后,算法就会自动的算出这组数据的众数。

该场景下算法中符号解释

  1. n:用来统计输入的值个数
  2. map:用来存储输入的值和值出现的频数
  3. tm:存储频数
  4. max:表示最大的频数的值

该场景下算法计算方法

  • 首先按照要求将上述的数据输入到算法中,并以输入两个#号为结束。
  • 将输入的数据的频数存储到数组tm中。
  • 找出tm数组中最大的数。
  • 输出tm中与max值相同的数,即为要求的众数。

优缺点

  • 优点:能够快速准确地计算出众数
  • 缺点: 在输入的数据过多时,会产出一定的误差。

方差

方差的定义

方差:量度数据分散性的一种方法,是数据与均值的距离的平方数的平值。方差公式:∑(x-μ)^2/n。方差符号定义

  • n:表示的是输入的数据的个数
  • u:为数据的均值
  • ∑:表示所有数据之和

方差算法中的计算方法

  • n:表示的是输入的数据的个数
  • u:为数据的均值
  • ∑:表示所有数据之和

方差算法的应用场景

  • 案例描述:有一组数据,求出这组数据的方差情况。

1 1 1 2 2 2 2 3 3 31 31 32 32 32 32 33 33 33

方差算法在该场景的定义

案例定义:将这组数据输入到算法中,算法中用数组list接受,之后,算法就会先计算出这一组数据的均值,再统计出该组数据的个数,最后,计算出这组数据的方差。

该场景下算法中符号解释

  • n:用来统计输入的数据个数
  • list:用来存储输入数据
  • sum:表示所有的数据之和
  • u:表示n个数据的均值

该场景下算法计算方法

案例中数据的和:sum=306 ,

统计数据的个数为:n=18

计算出该组数据的均值为:avg=sum/n,avg=17 ,

再计算出该组数据的方差为226.4083044982699

优缺点

  • 优点:能够快速准确地计算出方差
  • 缺点: 在输入的数据过多时,会产出一定的误差。

标准差

标准差的定义

标准差:是描述典型值与均值距离的一种方法,标准差越小,数值离均值越近 。标准差公式:σ=方差开方。

注:标准差也有可能为0,如果每个数值与均值的距离都是为0,则标准差将为0。

标准差符号定义

  • n:表示的是输入的数据的个数
  • u:为数据的均值
  • ∑:表示所有数据之和
  • σ:表示标准差

标准差算法中的计算方法

1、计算出该组数据的均值u

2、再统计该组数据的个数n

3、利用方差的公式计算出方差

4、利用标准差的公式计算出标准差

标准差算法的应用场景

  • 案例描述:有一组数据,求出这组数据的标准差情况。

1 1 1 2 2 2 2 3 3 31 31 32 32 32 32 33 33 33

标准差算法在该场景的定义

案例定义:将这组数据输入到算法中,算法中用数组list接受,之后,算法就会先计算出这一组数据的均值,再统计出该组数据的个数,计算出这组数据的方差,最后计算出该组数据的标准差。

该场景下算法中符号解释

  • n:用来统计输入的数据个数
  • list:用来存储输入数据
  • sum:表示所有的数据之和
  • u:表示n个数据的均值

该场景下算法计算方法

案例中数据的和:sum=306,

统计数据的个数为:n=18

计算出该组数据的均值为:avg=sum/n,avg=17 ,

再计算出该组数据的方差为226.408304498269

最后计算出该组数据的标准差:15.129074290546956

优缺点

  • 优点:能够快速准确地计算出标准差
  • 缺点: 在输入的数据过多时,会产出一定的误差。

全距

全距

全距:也叫极差,是用于来量度数据集分散程度的一种方法。其算法为:上界减去下界,其中上界为最大值,下界为最小值。

  • 优点:全距是量度数据分散程度的既简单又方便的方法。
  • 缺点:全距仅仅描述了数据的宽度,并没有描述数据在上下界之前的分布形态,不能体现数据的实际分布形态。并且,全距很容易受到异常值的影响。

摆脱异常值的办法:四分位数

四分位法:它将数据一分为四,最小的四分位数称为下四分位数,最大的四分位数称为上四分位数,中间的四分位数即为中位数。

四分位距=上四分位数-下四分位数

求下四分位数的位置

  1. 首先计算n/4。
  2. 如果结果为整数,则下四分位数位于“n/4”这个位置和下一个位置的中间取这两个位置上的数值的平均值,即得到下四分位数。
  3. 如果“n/4”不是整数,则向上取整,结果即为下四分视为数的位置。
  • 例如:如果你有6个数,首先计算6/4,得到1.5.向上取整的得到2,这表示下四分数的位置为2.

求上四分位数的位置

  1. 首先计算3n/4。
  2. 如果结果为整数,则上四分位数位于“3n/4”这个位置这个位置和下一位置的中间,取这两个位置上的数值的平均值,即得到上四分位数。
  3. 如果“3n/4”不是整数,则向上取整,所得到的新数字即为上四分位数的位置。

百分位数:是将数据一分为百的数值。

箱线图

用箱线图绘制各种“距”

创建箱线图:首先按标度画出一个“箱”,想的左右两边分布代表下四分位数和上四分位数,然后在箱中画出一条线,标示中位数,这个箱的宽度就是四分距的宽度,随后,在箱的两边画出“线”,显示出全距的上界、下界和宽度。以下就是之前提到的舞蹈者的得分的箱线图。

舞蹈者A的全距相对较小,她的得分中位数比舞蹈者B的高一些,舞蹈者B的全距非常大,有时候这位舞蹈者的得分比舞蹈者A高很多,但是有时又低很多,舞蹈者A发挥更稳定,通常得分高于舞蹈者B,所以,我们会选择舞蹈者A

标准分

标准分是对不同环境下的相关数据进行比较的一种方法,可以对不同数据集的数据进行比较,可以使用标准分比较舞蹈者相对于其本人历史纪录的表现。

标准分的计算公式:z=(x-μ)/σ

计算标准分:

看点

02

本章小结

学习的统计量:均值、中位数、众数,它们只是让我们知道了数据中心的情况,即数据集中的典型的具有代表性的数值,而第三章学的知识对让我们对一个数据集有了更完整的了解,知道了数据集中数值的实际的分布形态,有助于我们对数据更好的掌握。

本章主要讲的是分散性和变异性的量度,分散性的量度主要有全距(容易受异常值的影响)、四分位距(摆脱了异常值得影响)。异常性的量度主要有方差、标准差、标准分。

文末:文章来源机器学习和自然语言处理(ID:datathinks),作者:机器学习和自然语言处理。本公众号旨在技术传播与分享,未经授权不能转载发布。

原文发布于微信公众号 - 机器学习和自然语言处理(datathinks)

原文发表时间:2017-11-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI2ML人工智能to机器学习

变分の美

变分法(Variational method)已经成为微积分后主流的分析工具, 在物理和应用数学有着极大的功能。 变分法的诞生起源于最强大的数学家家族两个兄弟之...

1191
来自专栏人工智能

概念学习:“Find-S 算法”,机器学习的敲门砖

在之前的博客中,我们讲到了一台机器通过机器学习所能完成的壮举,以及深入学习机器学习之前必备的数学知识。那么,在理解了机器学习的先决条件之后,就让我们迈着小而高效...

5789
来自专栏大数据挖掘DT机器学习

机器学习入门和学习系统的设计

作者 RaySaint http://underthehood.blog.51cto.com/2531780/577854 机器学习的定义 《机器学习》By ...

33811
来自专栏人工智能头条

深度学习和自然语言处理中的Attention和Memory机制

4185
来自专栏专知

【论文笔记】基于实体、属性和关系的知识表示学习

2453
来自专栏PPV课数据科学社区

用 TensorFlow 做个聊天机器人

本文结构: 聊天机器人的架构简图 用 TensorFlow 实现 Chatbot 的模型 如何准备 chatbot 的训练数据 Chatbot 源码解读 1. ...

3273
来自专栏AI科技评论

科普|机器学习中决策树的原理与算法

AI科技评论按:本文作者栗向滨,中科院自动化所复杂系统国家重点实验室研究生毕业,机器学习与计算机视觉方向算法工程师。雷锋网首发文章。 我们知道,在机器学习中有两...

3776
来自专栏深度学习自然语言处理

【论文笔记】中文词向量论文综述(二)

一、Improve Chinese Word Embeddings by Exploiting Internal Structure

1183
来自专栏机器之心

基于TensorFlow理解三大降维技术:PCA、t-SNE 和自编码器

选自medium 机器之心编译 参与:Panda Pythonista 数据科学家 Elior Cohen 近日在 Medium 上发文解读了最常见的三大降维技...

4537
来自专栏大数据

数据挖掘干货总结(一)-NLP基础

本文共计1463字,预计阅读时长八分钟 NLP-基础和中文分词 一、本质 NLP (Natural Language Processing)自然语言处理是一门研...

2848

扫码关注云+社区

领取腾讯云代金券