斯坦福【概率与统计】课程笔记(三):EDA | 直方图
单个定量变量的直方图表示
大家知道,定量变量是连续型变量,即不会像分类变量那样有明显的分类,那么如何将其画成直方图呢?一般来说,会将其按照某个维度来将其分组(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指从直方图的整体形状来定性其分布特点,一般分为两个维度:
- 对称(Symmetry)/有偏(skewness)
- 有峰(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 | 直方图的更多相关文章
- 斯坦福大学IOS开发课程笔记(第七课第一部分)
转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/31462099 作者:小马 这节课的内容太多,分两部分介绍.本节课主要是介绍怎样开发 ...
- IOS学习之斯坦福大学IOS开发课程笔记(第六课)
转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/28398697 作者:小马 这节课主要讲述多个MVC是怎样协同工作的.到眼下为止.全 ...
- 斯坦福【概率与统计】课程笔记(二):从EDA开始
探索性数据分析(Exploratory Data Analysis) 本节课程先从统计分析四步骤中的第二步:EDA开始. 课程定义了若干个术语,如果学习过机器学习的同学,应该很容易类比理解: popu ...
- 深度学习课程笔记(三)Backpropagation 反向传播算法
深度学习课程笔记(三)Backpropagation 反向传播算法 2017.10.06 材料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS1 ...
- Andrew Ng机器学习课程笔记(三)之正则化
Andrew Ng机器学习课程笔记(三)之正则化 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365475.html 前言 ...
- 深度学习课程笔记(二)Classification: Probility Generative Model
深度学习课程笔记(二)Classification: Probility Generative Model 2017.10.05 相关材料来自:http://speech.ee.ntu.edu.tw ...
- CS231n课程笔记翻译8:神经网络笔记 part3
译者注:本文智能单元首发,译自斯坦福CS231n课程笔记Neural Nets notes 3,课程教师Andrej Karpathy授权翻译.本篇教程由杜客翻译完成,堃堃和巩子嘉进行校对修改.译文含 ...
- CS231n课程笔记翻译7:神经网络笔记 part2
译者注:本文智能单元首发,译自斯坦福CS231n课程笔记Neural Nets notes 2,课程教师Andrej Karpathy授权翻译.本篇教程由杜客翻译完成,堃堃进行校对修改.译文含公式和代 ...
- CS231n课程笔记翻译3:线性分类笔记
译者注:本文智能单元首发,译自斯坦福CS231n课程笔记Linear Classification Note,课程教师Andrej Karpathy授权翻译.本篇教程由杜客翻译完成,巩子嘉和堃堃进行校 ...
- (1/18)重学Standford_iOS7开发_iOS概述_课程笔记
写在前面:上次学习课程对iOS还是一知半解,由于缺乏实践,看公开课的视频有时不能很好地领会知识.带着问题去学习永远是最好的方法,接触一段时间iOS开发以后再来看斯坦福iOS公开课,又会有许多新的发现, ...
随机推荐
- kmp(所有长度的前缀与后缀)
http://poj.org/problem?id=2752 Seek the Name, Seek the Fame Time Limit: 2000MS Memory Limit: 65536 ...
- Centos6.5 使用YUM安装MariaDB
1,第一步 [xxxxxx]$ cd /etc/yum.repos.d [xxxxxx]$ vi MariaDB.repo # MariaDB 10.0 CentOS repository list ...
- BUUCTF--新年快乐
测试文件:https://buuoj.cn/files/bbf9f68a97fd551edec384914d4f3fbe/93c43c5c-3d4d-4d17-a9a1-4ffb65ebb2fb.zi ...
- 如何查找django安装路径
需要找到django的安装路径,官方说的那个方法不好用,国内搜索都是都不到的,后来谷歌搜到了很简单 import django django 这样就可以找django的安装路径了,真心不懂为什么国内都 ...
- 使用grunt0.4进行js代码混淆
1.grunt是基于node,node需要>=0.8.0的稳定版本(奇数是开发版,偶数是稳定版) 2.安装grunt脚手架 (mac电脑需要权限 在前面加上 sudo) npm install ...
- vue下超级滚动条perfect-scrollbar(在特定框架里使用一款并非为该框架定制的库/插件)
点我查看
- css day2
外观属性 color:文本颜色 用于定义文本的颜色 1.预定义的颜色值,如red.green.blue等 2.十六进制,如#FF0000.#FF6600.#29D794等.十六进制是最常用的定义颜色的 ...
- 微信小程序(5)--阅读器
最近用微信小程序写了一个图书阅读器,可以实现左右滑动翻页,按钮翻页,上下滚动,切换背景,控制字体大小.以及记住设置好的状态,如页面再次进来保留上次的背景色和字体大小. 由于暂时没有真实的数据接口,所以 ...
- java类的加载与初始化
https://blog.csdn.net/u013349237/article/details/71076617 1在命令行启动虚拟机jvm进行加载, 2用class.forname()方法进行动态 ...
- webdriver原理
WebDriver 安装C/S构架设计的: 代码(客户端)--->驱动(解析代码)----->浏览器(服务端) 代码通过http请求发给浏览器驱动,驱动解析代码把他们发给浏览器,浏览器执行 ...