单个定量变量的直方图表示

大家知道,定量变量是连续型变量,即不会像分类变量那样有明显的分类,那么如何将其画成直方图呢?一般来说,会将其按照某个维度来将其分组(group),举个例子。

我们有15个学生的考试成绩:88, 48, 60, 51, 57, 85, 69, 75, 97, 72, 71, 79, 65, 63, 73

如果要画成直方图,X轴是成绩,Y轴是对应的人数,那么X轴可以考虑按“每10分”作为一个group,即[0, 10), [10, 20), [20, 30), ... ,[80, 90), [90, 100)这样组织:

类似分类变量的柱状图,定量变量的直方图的Y轴,也可以将值(value)转换为百分比(percent)

直方图有几个重要的概念是需要掌握的,分别是:shape、center、spread、outliers

shape

shape指从直方图的整体形状来定性其分布特点,一般分为两个维度:

  1. 对称(Symmetry)/有偏(skewness)
  2. 有峰(Peakedness)/平滑 (modality)

下面分别举几个例子:

上面的直方图,首先是对称的(即Y轴左右基本对称),其次是有峰的(x=10左右的位置有个单峰值),所以是“对称、单峰值分布”

上面的直方图,也是对称的,而且是有双峰的,所以是“对称、双峰值分布”

上面的直方图,没有明显的峰值,所以是“对称、平滑分布”

上面的直方图,可以看到右边有很长的长尾数据,所以是“有偏(右偏)、单峰值分布”

类似地,上面的直方图是“左偏、单峰值分布”

这里可能有个疑惑:为啥峰值偏左的叫右偏,而峰值偏右的叫左偏呢?实际上,这里是根据均值和中位数的相对位置来命名左或右的,下面说完center后会重新提到。

center

直方图的中心可以有很多种定义方法:

  • mode:即众数,是X轴上Y值最大的那一个group(即直方图上峰值最高的那一个柱子的值)
  • mean:即(加权)平均值,将所有值加权相加后除以总数
  • median:即中位数,即将所有样本排序后,所有样本的总数除以2,取中间的1个样本的值(总样本是奇数)或2个样本的值的平均数(总样本是偶数)

举个例子:

我们有15个学生的考试成绩:88, 48, 60, 51, 57, 85, 69, 75, 97, 72, 71, 79, 65, 63, 73

如果按照每10分 来划分group,则直方图为:

对应上图:

mode:是峰值最高的那个柱子,就是[70, 80)对应的那个柱子的值:5

mean:(88 + 48 + 60 + 51 + 57 + 85 + 69 + 75 + 97 + 72 + 71 + 79 + 65 + 63 + 73) / 15 = 70.2

median:先排序(48, 51, 57, 60, 63, 65, 69, 71, 72, 73, 75, 79, 85, 88, 97),找到中间的值:71

spread

上面提到过,左偏和有偏的问题,这里结合mean和median再进一步阐述下:

上图是一个对称分布的情况,可见:mean和median基本在一个位置上

上图是一个左偏的情况,可以看到左侧有很多长尾数据,median受到了长尾数据影响,并没有出现在最高峰值附近而是向左偏移了一点点,但是平均值mean受长尾数据影响更大,其向左偏移的幅度也更大,所以相对对称分布来说,上图中mean和median都向左发生了偏移,所以这种分布叫左偏。

右偏相反理解即可

outliers

即异常值,比如下图:

最右边的值看起来很奇怪,和大部分值都不一样,所以可能会被怀疑为异常值。

一般来说,发现有异常值的时候,需要进一步分析一下其产生的原因,如果是合理的,那么需要保留;如果是不合理的,则需要过滤掉;如果是错误导致的,则需要重新计算。

mode不受异常值影响;median对异常值不敏感;而mean对异常值非常敏感!

斯坦福【概率与统计】课程笔记(三):EDA | 直方图的更多相关文章

  1. 斯坦福大学IOS开发课程笔记(第七课第一部分)

    转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/31462099 作者:小马 这节课的内容太多,分两部分介绍.本节课主要是介绍怎样开发 ...

  2. IOS学习之斯坦福大学IOS开发课程笔记(第六课)

    转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/28398697 作者:小马 这节课主要讲述多个MVC是怎样协同工作的.到眼下为止.全 ...

  3. 斯坦福【概率与统计】课程笔记(二):从EDA开始

    探索性数据分析(Exploratory Data Analysis) 本节课程先从统计分析四步骤中的第二步:EDA开始. 课程定义了若干个术语,如果学习过机器学习的同学,应该很容易类比理解: popu ...

  4. 深度学习课程笔记(三)Backpropagation 反向传播算法

    深度学习课程笔记(三)Backpropagation 反向传播算法 2017.10.06  材料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS1 ...

  5. Andrew Ng机器学习课程笔记(三)之正则化

    Andrew Ng机器学习课程笔记(三)之正则化 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365475.html 前言 ...

  6. 深度学习课程笔记(二)Classification: Probility Generative Model

    深度学习课程笔记(二)Classification: Probility Generative Model  2017.10.05 相关材料来自:http://speech.ee.ntu.edu.tw ...

  7. CS231n课程笔记翻译8:神经网络笔记 part3

    译者注:本文智能单元首发,译自斯坦福CS231n课程笔记Neural Nets notes 3,课程教师Andrej Karpathy授权翻译.本篇教程由杜客翻译完成,堃堃和巩子嘉进行校对修改.译文含 ...

  8. CS231n课程笔记翻译7:神经网络笔记 part2

    译者注:本文智能单元首发,译自斯坦福CS231n课程笔记Neural Nets notes 2,课程教师Andrej Karpathy授权翻译.本篇教程由杜客翻译完成,堃堃进行校对修改.译文含公式和代 ...

  9. CS231n课程笔记翻译3:线性分类笔记

    译者注:本文智能单元首发,译自斯坦福CS231n课程笔记Linear Classification Note,课程教师Andrej Karpathy授权翻译.本篇教程由杜客翻译完成,巩子嘉和堃堃进行校 ...

  10. (1/18)重学Standford_iOS7开发_iOS概述_课程笔记

    写在前面:上次学习课程对iOS还是一知半解,由于缺乏实践,看公开课的视频有时不能很好地领会知识.带着问题去学习永远是最好的方法,接触一段时间iOS开发以后再来看斯坦福iOS公开课,又会有许多新的发现, ...

随机推荐

  1. Windows下Navicat远程连接Linux下MySQL服务器错误1130

    今天用Navicat在Windows下连接Linux服务器上的MySQL,显示出错误1130. 当然这是在修改了MySQL的配置文件my.cnf的前提下允许远程访问的基础上的,如果没有修改my.cnf ...

  2. [BZOJ2138]stone(Hall定理,线段树)

    Description 话说Nan在海边等人,预计还要等上M分钟.为了打发时间,他玩起了石子.Nan搬来了N堆石子,编号为1到N,每堆 包含Ai颗石子.每1分钟,Nan会在编号在\([L_i,R_i] ...

  3. [暑假集训Day4T2]卡拉赞之夜

    抹茶学长给的标程可以被卡到O(N2M2)??? 考虑二分答案+暴力check+离散化+卡常数 首先进行离散化,其实判重的话会更快,但是由于矩阵元素大小太大了,hash判重MLE,所以我就直接记录了NM ...

  4. 观list.clear()方法 有感

    一 . list.clear()底层源码实现 在使用list 结合的时候习惯了 list=null :在创建这样的方式,但是发现使用list的clear 方法很不错,尤其是有大量循环的时候 1.lis ...

  5. Windows下anaconda安装opencv

    win+R打开cmd界面,输入conda create -n opencv python=3.6,创建名为opencv的虚拟空间,然后一路y,直到安装完成. activate opencv 然后输入  ...

  6. 使用定时器实现在console中打印内容

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 记一次用Linux curl命令获取Django url返回值异常的问题

    问题描述: curl 检测 URL 返回值以判断服务器是否正常 原命令:curl -I -m 10 -o /dev/null -s -w %{http_code} --insecure $url 问题 ...

  8. sqlite查询语句

    搜索距现在六个月前的月份第一天日期: SELECT date('now','start of month','-6 month','0 day'); 搜索距现在六个月前的日期: SELECT date ...

  9. XMPP即时通讯协议使用(二)——基于Smack相关操作

    package com.test; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator ...

  10. Python Web开发:Django+BootStrap实现简单的博客项目

    创建blog的项目结构 关于如何创建一个Django项目,请查看[Python Web开发:使用Django框架创建HolleWorld项目] 创建blog的数据模型 创建一个文章类 所有开发都是数据 ...