大部分的数据分析都希望原始数据是满足正态分布的定距变量。然而,显示是残酷的,在各种研究中,常常需要面对非正态分布的定距数据。为了解决数据的正态性问题,数学家们总结了很多转化方法,但是没有万能神药,都需要对症下药(根据数据的实际分布情况,选择合适的转化方法)。

下面不会介绍具体的转化方法,只是帮助大家理顺正态转化的思路,明白正态转化的逻辑,不至于将正态转化看做神秘领域,高不可攀。

正态转化四步骤

第一步:计算数据的分布状况及两个参数:偏度(Skewness)和峰度(Kurtosis)。

第二步:根据变量的分布形状和参数,决定是否做转换。

1、对称判断

看Skewness(偏差度)的取值。如果偏度为0,则是完全对称(但罕见);如果偏度为正值,则说明该变量的分布为正偏态;如果偏度为负值,则说明该变量的分布为负偏态。然而,偏度值还不能完全判断偏态的分布是否与正态分布有显著差别,所以还需要做显著性检验。如果检验结果显著,我们可能(注意是“可能”)可以通过转换来达到或接近对称。

2、峰度检验

Kurtosis(峰度)是判断曲线陡峭和平缓的指标。如果峰度为0,说明该变量分布合适(但罕见);如果峰度为正值,说明该变量的分布陡峭;反之,如果峰度为负值,说明变量的分布平缓。峰度也需要通过显著检验来判断与正态分布是否有显著差别。我们可能可以通过转换来达到或接近正态分布。

第三步:如果需要做正态转换,根据变量的分布形状,确定相应的转换公式。下面简单介绍3种常见的正态转换方法

1、如果是中度偏态

如果偏度为其标准误差的2-3倍,可以考虑取根号值来转换。

2、如果高度偏态

如果偏度为其标准误差的3倍以上,则可以取对数,其中又可分为自然对数和以10为基数的对数。

3、对于双峰或多峰数据

秩分的正态得分的转化方法,SPSS软件中常用。

第四步:再次检验转换后变量的分布形状。如果没有解决问题,或者甚至恶化,需要再从第二或第三步重新做起,然后再回到第一步的检验。直至达到比较令人满意的结果。

数据正态化注意点

1、偏度和峰度的标准误差与样本量直接有关。具体说来,偏度的标准误差约等于6除以n后的开方,而峰度的标准误差约等于24除以n后的开方,n为样本量。由此可见,样本量越大,标准误差越小。

2、数据的正态转化方法不是通用的,要根据不同的数据分布情况,选择合适的或创造合适的转化公式,转化后必须验证转化效果,最终达到转化的目的。

3、不是所有的非正态分布的数据都能够通过正态转化而转化为正态分布数据。非正态分布的数据也可以使用非参数方法进行分析。

延伸阅读:

非正态分布数据转换成正态分布

如何把非正态分布数据转换为正态分布数据?相关推荐

  1. R语言Box-Cox变换实战(Box-Cox Transformation):将非正态分布数据转换为正态分布数据、计算最佳λ、变换后构建模型

    R语言Box-Cox变换实战(Box-Cox Transformation):将非正态分布数据转换为正态分布数据.计算最佳λ.变换后构建模型 目录

  2. 把Sql数据转换为业务数据的几种方法

    ORM系统必须把数据库中的数据转换为业务数据,转换的方法大致有3种,本文就试图对它们做一些简单分析. 1.属性反射.就是通过反射,获取业务实体类的各个属性,然后再设置这些属性的值.这个方法最简单.最稳 ...

  3. arcmap shp导出cad无反应_如何使用ArcMap将Excel数据转换为shp数据

    1. 概述 对ArcMap而言,除了shapefile等数据源,还可以将包含地理位置的表格数据以 XY 坐标的形式添加到地图中,比如Excel格式的数据,如果包含有坐标数据在里面,就可以通过导入XY数 ...

  4. 数字数据转换为字符数据_为什么替代数据对数字转换至关重要

    数字数据转换为字符数据 边缘是数据的未来(Fringe is the future of data) Alternative data has been a buzzword among invest ...

  5. Python 将关系对数据转换为图数据 / 邻接矩阵

    1. 前言 在深度学习任务,例如推荐系统中,将关系转换为图表示,即邻接矩阵是常用的操作. 通常的做法是先将关系对数据转换为图数据,然后生成该图的邻接矩阵,再存储为稀疏矩阵.但这种方法不适用于大型矩阵的 ...

  6. 字节数据转换为浮点数据

    /*====================================字节数据转换为浮点数据输入数据:要转换的四字节数据在arr[]中顺序是从低(charData[0])到高(charData[ ...

  7. 24bit有符号数据转换为整形数据

    24bit数据转换为int型 即3个字节, HH MM LL 当数据是正数时,直接转换为int: 当数据是负数时,需要先把当前数取反,再+1,得到的新数据再转换为int,最后加"-" ...

  8. GAMS将har数据转换为gdx数据和Access数据过程中的异步问题

    GAMS是非常优秀的经济学建模软件,可以用来求解一般均衡和其他优化问题.GTAP作为一种大型多区域CGE模型,也可以使用GAMS来求解,但使用之前,必须将GTAP提供的har数据转换为GAMS所能使用 ...

  9. ArcGIS基础:CAD数据转换为GIS数据(符号化显示、数据转换、线转面、空间连接)

    1.[符号化显示]: CAD数据加载进来有很多列表,可以通过查看后缀名识别,包含了点[point].线[polyline].面[polygon].标注数据[Annotation]等数据,本次实验我们需 ...

最新文章

  1. 微信小程序页面之间数据传递
  2. OSPF的RID和DR/BDR的选举
  3. Rsync+sersync同步配置
  4. 第八周项目实践1 建立顺序串的算法库
  5. 数据中心“泡澡”散热,阿里云启用全球最大液冷数据中心支撑双11
  6. ubuntu安装VMware Tools
  7. 网狐棋牌(二) CQueueServiceEvent初步分析
  8. leetcode 312. Burst Balloons | 312. 戳气球(暴力递归->DP)
  9. mac升级php7,MAC更新自带php版本到7.0
  10. stripe pay_J2Pay –简介
  11. 面试题32.从1到n整数中1出现的次数
  12. sqoop导入数据常见问题解决方法
  13. ndr4108贴片晶振是多少频率_流处理器、核心频率、 位宽……这些显卡参数你知道吗?—— 电脑硬件科普篇(八)...
  14. 一个分页的java工具类,可以参考
  15. java vuehello wotld,Vue Hello World
  16. ImageJ -介绍与安装
  17. 最优化算法之粒子群算法(PSO)
  18. JavaScript document对象
  19. LOL英雄联盟卡顿掉帧问题解决办法 2022年8月1日
  20. easyui-filebox java上传附件,在EasyUI项目中使用FileBox控件实现文件上传处理

热门文章

  1. 解决delphi直接打开bpg工程组文件后提示PROJECTS macro in project group file missing or incorrect丢失错误
  2. 使用python读取文件夹中的图像并改变尺寸。
  3. 一文快速搞懂企业自己要办理哪种增值电信业务经营许可证
  4. 努力奋进:一个编程界小菜鸟的心里话
  5. Handler post中run()方法与handleMessage()方法的调用原理
  6. blog6-beta_1
  7. 【C#】textBox控件如何实现换行操作
  8. swift 的网络解析 Alamofire
  9. C# 异步操作Task类使用(二)
  10. 世界上最遥远的距离,不是生与死,而是我心与你心之间的距离。