转载自:
https://blog.csdn.net/lanchunhui/article/details/53239441
https://www.cnblogs.com/gczr/p/6802998.html

一、何为数据的偏态分布?

频数分布有正态分布和偏态分布之分。正态分布是指多数频数集中在中央位置,两端的频数分布大致对称。

偏态分布是指频数分布不对称,集中位置偏向一侧。若集中位置偏向数值小的一侧,称为正偏态分布;集中位置偏向数值大的一侧,称为负偏态分布。

如果频数分布的高峰向左偏移,长尾向右侧延伸称为正偏态分布,也称右偏态分布;同样的,如果频数分布的高峰向右偏移,长尾向左延伸则成为负偏态分布,也称左偏态分布。

峰左移,右偏,正偏 偏度大于0

峰右移,左偏,负偏 偏度小于0

二、构建模型时为什么要尽量将偏态数据转换为正态分布数据?

数据整体服从正态分布,那样本均值和方差则相互独立。正态分布具有很多好的性质,很多模型假设数据服从正态分布。例如线性回归(linear regression),它假设误差服从正态分布,从而每个样本点出现的概率就可以表示成正态分布的形式,将多个样本点连乘再取对数,就是所有训练集样本出现的条件概率,最大化这个条件概率就是LR要最终求解的问题。这里这个条件概率的最终表达式的形式就是我们熟悉的误差平方和。总之, ML中很多model都假设数据或参数服从正态分布。

三:如何检验样本是否服从正态分布?

可以使用Q-Q图来进行检验
https://baike.baidu.com/item/Q-Q图

统计学里Q-Q图(Q代表分位数)是一个概率图,用图形的方式比较两个概率分布,把他们的两个分位数放在一起比较。首先选好分位数间隔。图上的点(x,y)反映出其中一个第二个分布(y坐标)的分位数和与之对应的第一分布(x坐标)的相同分位数。因此,这条线是一条以分位数间隔为参数的曲线。
如果两个分布相似,则该Q-Q图趋近于落在y=x线上。如果两分布线性相关,则点在Q-Q图上趋近于落在一条直线上,但不一定在y=x线上。Q-Q图可以用来可在分布的位置-尺度范畴上可视化的评估参数。

由于P-P图和Q-Q图的用途完全相同,只是检验方法存在差异。要利用QQ图鉴别样本数据是否近似于正态分布,只需看QQ图上的点是否近似地在一条直线附近,而且该直线的斜率为标准差,截距为均值.

四 :如果不是正态分布怎么办?

数据右偏的话可以对所有数据取对数、取平方根等,它的原理是因为这样的变换的导数是逐渐减小的,也就是说它的增速逐渐减缓,所以就可以把大的数据向左移,使数据接近正态分布。
如果左偏的话可以取相反数转化为右偏的情况。

五、Box-Cox

https://blog.csdn.net/lcmssd/article/details/80179102?utm_source=blogxgwz0
参加kaggle比赛过程中,看到很多人在预处理阶段会对某些特征X做如下操作 Y = log(1+X), 说是可以把这个特征的分布正态化, 使其更加符合后面数据挖掘方法对数据分布的假设

y = (x**lmbda - 1) / lmbda,  for lmbda > 0log(x),                  for lmbda = 0

上图lambda取不同值时, (X,Y)的曲线, boxcox变换的工作原理就在这些曲线的斜率中: 曲线斜率越大的区域,则对应区域的X变换后将被拉伸, 变换后这段区域的方差加大; 曲线斜率越小的区域, 对应区域的X变换后将被压缩, 变换后这段区域的方差变小.
右图中看出lambda = 0时, 取值较小的部分被拉伸, 取值较大的部分被压缩; lambda > 1时则相反

http://onlinestatbook.com/2/transformations/box-cox.html

数据预处理——样本分布(正态分布、偏态分布)相关推荐

  1. 数据预处理-样本分布(正态分布、偏态分布)

    数据预处理-样本分布(正态分布.偏态分布) 转载自: https://blog.csdn.net/lanchunhui/article/details/53239441 https://www.cnb ...

  2. R语言使用caret包的preProcess函数进行数据预处理:对所有的数据列进行YeoJohnson变换(将非正态分布数据列转换为正态分布数据、可以处理负数)、设置参数为YeoJohnson

    R语言使用caret包的preProcess函数进行数据预处理:对所有的数据列进行YeoJohnson变换(将非正态分布数据列转换为正态分布数据.可以处理负数).设置method参数为YeoJohns ...

  3. 使用jupyter计算正态分布_专栏 | 基于 Jupyter 的特征工程手册:数据预处理(三)...

    红色石头的个人网站: 红色石头的个人博客-机器学习.深度学习之路​www.redstonewill.com 基于 Jupyter 的特征工程手册:数据预处理的上一篇: 专栏 | 基于 Jupyter ...

  4. 数据预处理方式:标准化/正态分布/zscore/scale/

    一.数据预处理 在实际数据分析工作中,我们会得到各种各样的数据,例如:存在缺失值,存在重复值,数据量纲单位不同等,这就要求我们在使用之前对数据进行预处理,一般为针对不同生物学特征和数据集数据的不同而选 ...

  5. 特征工程之数据预处理(下)

    机器学习入门系列(2)–如何构建一个完整的机器学习项目,第四篇! 该系列的前三篇文章: 机器学习入门系列(2)–如何构建一个完整的机器学习项目(一) 机器学习数据集的获取和测试集的构建方法 特征工程之 ...

  6. 数据归一化处理方法_数据预处理:归一化和标准化

    1. 概述 数据的归一化和标准化是特征缩放(feature scaling)的方法,是数据预处理的关键步骤.不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间 ...

  7. 关于数据预处理的7个重要知识点,全在这儿了!

    导读:今天这篇文章是「大数据」内容合伙人周萝卜关于<Python数据分析与数据化运营>的一篇读书笔记.在大数据公众号后台对话框回复合伙人,免费读书.与50万「大数据」同行分享你的洞见. 作 ...

  8. 数据预处理包括哪些内容python_常见的数据预处理--python篇

    做过数据分析的孩子一般都知道:数据预处理很重要,大概会占用整个分析过程50%到80%的时间,良好的数据预处理会让建模结果达到事半功倍的效果.本文简单介绍python中一些常见的数据预处理,包括数据加载 ...

  9. python必备基础代码-【Python基础系列】常见的数据预处理方法(附代码)

    本文简单介绍python中一些常见的数据预处理,包括数据加载.缺失值处理.异常值处理.描述性变量转换为数值型.训练集测试集划分.数据规范化. 1. 加载数据 1.1 数据读取 数据格式有很多,介绍常见 ...

  10. 机器学习笔记六——特征工程之数据预处理

    特征工程之数据预处理 1. 处理缺失值 2. 处理异常值 2.1 异常值检测 2.2异常值处理 3.离散特征的连续化处理 4.连续特征的离散化处理 5. 处理类别不平衡问题 6. 图片数据扩充 数据预 ...

最新文章

  1. 邬贺铨院士:边缘计算“新十问”
  2. 编码 Unicode utf-8
  3. osgi cxf_所有OSGi套件的通用CXF请求拦截器
  4. 【转】C++ win32窗口创建详解
  5. python发短信脚本_python脚本发送短信
  6. python log函数_python装饰器的使用
  7. 搜索引擎网站登陆入口,提交入口
  8. 【前端杂记】断点续传
  9. 常见的手机处理器种类
  10. php 音乐歌词xml,一篇文章玩转全网音乐信息库MusicBrainz API
  11. linux上的手机管家,腾讯手机管家官网版
  12. 一个美国人在上海-American McGee
  13. python中code函数是干嘛的_[Code] Python简单小知识
  14. AFX_VIRTUAL
  15. 实习僧网站字体反爬破解思路及步骤分享
  16. kaggle自动驾驶竞赛铜牌总结:Peking University/Baidu - Autonomous Driving—(Part 1)
  17. ElasticsearchBboss MySQL 同步数据到Elasticsearch
  18. Linux配置pip清华镜像源
  19. java中for break的用法_java break语句的使用方法
  20. 六项精进(来源了凡四训)

热门文章

  1. “欢迎来到智能城市,我是小武”
  2. CTF-实验吧-天下武功唯快不破
  3. 下行L1/L2控制信道
  4. win10怎么取消开机密码
  5. word中常用技巧,快速删除word中光标前或后的内容
  6. 十月下旬腾讯,网易游戏,百度迅雷校园招聘笔试题集锦(第271-330题)
  7. rockchip 瑞芯微 SDK 一些解释
  8. Java实现对png图片文件电子签名操作
  9. OpenERP 7.0入门(一):安装及开发环境部署
  10. kit框架详解(基于go-kit)