定义

利用观测数据判断总体是否服从正态分布的检验称为正态性检验,它是统计判决中重要的一种特殊的拟合优度假设检验。常用的正态性检验方法有正态概率纸法、夏皮罗一威尔克检验法(Shapiro-Wilktest),科尔莫戈罗夫检验法,偏度-峰度检验法等。

在数据分析过程中,数据的不同分布形态将直接影响数据分析策略的选择。因此,对数据分布形态的判定是非常重要内容。常见的数据分布形态有正态分布、均匀分布、指数分布、泊松分布等。但最重要也是最有用的分布形态是正态分布,很多数据分析技术都是面向正态分布的定距变量。

下面介绍数据正态性的几种判断方法,这些方法其实也适用于其它分布。在Excel中没有数据分布形态判断的功能,但是SPSS中有丰富判断工具。理解判断方法的理论依据是做出正确方法选择的基础,掌握理论再借助SPSS等软件的快速计算展现就能事半功倍。

正态性检验主要有三种:偏度和峰度,图示法,非参数检验


————————————————
本图链接:https://blog.csdn.net/xienan_ds_zj/article/details/90340080

1、偏度和峰度

python 求偏度和峰度

import pandas as pd
import numpy as np
data1 = list(np.random.randn(10000))
SK = pd.Series(data1).skew()#偏度
K  = pd.Series(data).kurt()#峰度

1.1 偏度

偏度(Skewness):描述数据分布不对称的方向及其程度,是指数据分布偏斜程度。使用偏态系数(SK)来测度数据的偏态

偏态系数以平均值与中位数之差对标准差之比率来衡量偏斜的程度,用SK表示偏斜系数:偏态系数小于0,因为平均数在众数之左,是一种左偏的分布,又称为负偏。偏态系数大于0,因为均值在众数之右,是一种右偏的分布,又称为正偏。

偏态系数是根据众数、中位数与均值各自的性质,通过比较众数或中位数与均值来衡量偏斜度的,即偏态系数是对分布偏斜方向和程度的刻画。一般认为,没有百年以上的资料,偏态系数的计算结果很难得到一个合理的数值。

偏态 SK = (sum(x-mean)^3) /(n*std^3)

1.1.1 判断是否存在

  • 当偏度≈0时,可认为分布近似服从正态分布;

  • 当偏度>0时,分布为右偏,称为正偏态;

  • 当偏度<0时,分布为左偏,称为负偏态;

注:偏度的判断不是看峰尖的偏向而是看拖尾的偏向,拖尾在左即是左偏态(负偏态),拖尾在右即为右偏态(正偏态)

1.1.2 偏态(SK)的程度

  • 0<|SK|<=0.5 低度偏态分布
  • 0.5<|SK|<=1 中等偏态分布
  • |SK|>1 高度偏态分布

1.1.3 偏态对众数、中位数和均值之间关系的影响

  • 对称分布:均值=中位数=众数
  • 左偏分布:均值<中位数<众数
  • 右偏分布:众数<中位数<均值

1.2 峰度

峰度(Kurtosis):描述数据分布形态的陡缓程度。使用峰态系数(K)来测度数据的偏态

1.2.1 判断是否存在

  • 当峰度≈0时,可认为分布近似服从正态分布;

  • 当峰度>0时,尖峰分布;

  • 当峰度<0时,扁平分布;

1.2.2 峰态(K)的程度

  • 0<|K|<=0.5 低度尖峰分布

  • 0.5<|K|<=1 中等尖峰分布

  • |K|>1 高度尖峰分布

1.3 用偏度和峰度判断正态性(Z-score)

利用偏度和峰度进行正态性检验时,可以同时计算其相应的Z评分(Z-score)

  • 偏度:Z-score=偏度值/标准误

  • 峰度:Z-score=峰度值/标准误

在α=0.05的检验水平下,若Z-score在±1.96之间,则可认为数据近似服从正态分布

2、 图示法

2.1 直方图:可以直观显示数据的分布形式

  • 直方图(histogram)是用于展示分组数据分布的一种图形,它是用矩形的宽度和高度(即面积)来表示频数分布的。绘制该图时,在平面直角坐标系中,用横轴表示数据分组,纵轴表示频数或频率,这样就形成了一个矩形(即直方图)。
  • 直方图与柱状图的区别:
    ①直方图的高度与宽度都有意义。柱状图是用柱子的长度表示各类别频数的多少,其宽度(表示类别)固定;而直方图是用面积表示各组频数的多少,矩形的高度表示每一组的频数或频率,宽度则表示各组的组距;
    ②由于分组数据具有连续性,直方图的各矩形通常是连续排列,而柱状图则是分开排列;
    ③柱状图用于展示分类型数据,直方图用于展示数值型数据。
    ————————————————
    原文链接:https://blog.csdn.net/xienan_ds_zj/article/details/90340080

2.2 P-P图

P-P图是根据变量的累积比例与指定分布的累积比例之间的关系所绘制的图形(P是累积比例单词的首字母)。当数据符合指定分布时,P-P图中各点近似一条直线。以样本的累积频率作为横坐标,以按照正态分布计算的相应累积频率作为纵坐标。举例如下图:

从上图可以判断数据序列是正态分布的。
————————————————
原文链接:https://zhuanlan.zhihu.com/p/49456086

2.2、Q-Q图

Q-Q图与P-P图类似,只不过Q-Q图是以分位数作为横纵坐标。它用标准正态分布的分位数作为横坐标,样本值作为纵坐标。利用Q-Q图鉴别样本数据是否近似于正态分布,只需看图上的点是否在一条直线附近,如下图:

P-P图和Q-Q图的判断精度比主观判断法的精度更高,但仍然没有量化判断标准,所以还是将它们归类为主观判断的范畴。
————————————————
原文链接:https://zhuanlan.zhihu.com/p/49456086

P-P图反映了变量的实际累积概率与理论累积概率的符合程度,Q-Q图反映了变量的实际分布与理论分布的符合程度,两者意义相似,都可以用来考察数据是否服从某种分布类型。若数据服从正态分布,则数据点应与理论直线基本重合。

2.3 python 实现

# QQ图
import statsmodels.api as sm
sm.qqplot(y,line='s')# PP图
from scipy import stats
stats.probplot(x, dist="norm", plot=plt)

3、非参数检验

正态性检验属于非参数检验,原假设为“样本来自的总体与正态分布无显著性差异”,只有P>0.05才能接受原假设,及数据符合正态分布。

一般常用的检验方法有两种(常用,还有其他的方法),Shapiro-Wilk检验Kolmogorov–Smirnov检验,前者适用于小样本数据,后者适用于大样本数据。

3.1 Shapiro-Wilk test(S-W检验)

  • 属于专门用来做正态性检验的模块
  • 其原假设:样本数据符合正态分布。
  • 注:适用于小样本
S,P = scipy.stats.shapiro(x)

x参数为样本值序列,返回值中第一个为检验统计量,第二个为P值,当P值大于指定的显著性水平,则接受原假设。

3.2 Kolmogorov-Smirnov(K-S检验)

  • 可以检验多种分布,不止正态分布
  • 其原假设:数据符合正态分布
  • 注:适用于大样本
K,P = scipy.stats.kstest(rvs,cdf,alternative,mode)
  • rvs:待检验数据。
  • cdf:检验分布,例如’norm’,‘expon’,‘rayleigh’,'gamma’等分布,设置为’norm’时表示正态分布。
  • alternative:默认为双侧检验,可以设置为’less’或’greater’作单侧检验。
  • model:‘approx’(默认值),表示使用检验统计量的精确分布的近视值;‘asymp’:使用检验统计量的渐进分布。
  • 其返回值中第一个为统计量,第二个为P值。

3.3 其他正态性检验-1

N,P= scipy.stats.normaltest(a,axis,nan_policy)
  • 其原假设:样本来自正态分布
  • a 待检验的数据
  • axis=None 可以表示对整个数据做检验,默认值是0。
  • nan_policy:当输入的数据中有nan时,‘propagate’,返回空值;‘raise’ 时,抛出错误;‘omit’ 时,忽略空值。
  • 其返回值中,第一个是统计量,第二个是P值。

3.3 其他正态性检验-2

A,C,P = scipy.stats.anderson(x,dist)

由 scipy.stats.kstest 改进而来,用于检验样本是否属于某一分布(正态分布、指数分布、logistic 或者 Gumbel等分布)

  • x表示样本数据。
  • dist表示分布,有’norm’,‘expon’,‘logistic’,‘gumbel’,‘gumbel_l’, gumbel_r’,‘extreme1’
  • 返回值有三个,第一个表示统计值,第二个表示评价值,第三个是显著性水平;评价值和显著性水平对应。对于不同的分布,显著性水平不一样。
  • 关于统计值与评价值的对比:当统计值大于这些评价值时,表示在对应的显著性水平下,原假设被拒绝,即不属于某分布。

4、使用SPSS进行正态性检验

  • 1

  • 2

  • 3

4.1 正态性判断-1(KS、SW检验)

此为P值,当P值大于指定的显著性水平,则接受原假设(原假设为:样本来自正态分布),大于设定值(自己可以设置,一般为0.05或0.01)时则代表接受原假设,我这里设置的是0.05;本组数据样本量为130,故此处用大样本正态性检验KS,xxxgzs的P值小于设定值0.05,则拒绝原假设,说明xxxgzs不是正态分布,tfkfzs的P值也小于0.05,拒绝原假设,说明tfkfzs也不是正态分布

关于大样本和小样本的问题,这直接关系到所用的正态检验方法,一般认为大于100条(也有说50条或30条)则为大样本,但面对不同情况、不同数据,需要具体分析。

KS检验适用于大样本,SW检验适用于小样本

若仍不理解,可参考链接:SPSS 统计分析策略(1):正态性检验与判断

4.2 正态性判断-2(偏度、峰度判断)

  • xxxgzs

偏度:Z-score = (-0.327)/0.212 = -1.542 峰度:Z-score = (-0.985)/0.422 = -2.334

  • tfkfzs

偏度:Z-score = (-0.342)/0.212 = -1.613 峰度:Z-score = (-0.070)/0.422 = -0.166

计算规则请参考上面偏度、峰度介绍
(在α=0.05的检验水平下,Z-score在±1.96之间,若都满足则可认为服从正态分布,若一个不满足则认为不服从正态分布) 参考链接:https://zhuanlan.zhihu.com/p/53184516/

根据偏度和峰度的Z-score 结果可知,xxxgzs 不满足正态,这与KS检验结果一致;但tfkfzs根据Z-score可知满足正态分布,这与KS检验结论不一致。

关于这个问题,答主查找了许多资料但都没有明确说明两种检验方法不一致这种情况的,但搜到了一些关于偏度和峰度的一些使用条件或是说判别方法:

  1. 理论上讲,标准正态分布偏度和峰度均为0,但现实中数据无法满足标准正态分布,因而如果峰度绝对值小于10并且偏度绝对值小于3,则说明数据虽然不是绝对正态,但基本可接受为正态分布。参考链接:https://zhuanlan.zhihu.com/p/70755099

  2. 偏度和峰度的适用条件为:样本量小于30时,使用偏度和峰度来判断正态性较好

4.3 正态性判断-3(Q-Q图,直方图)

Q-Q图或P-P图对于一些临界正态性的判断太过主观,就像上面的Q-Q图,严格来讲的话都不算是正态性样本,但若粗略来看tfkfzs也可勉强算是正态性样本数据。我更偏向使用的是KS检验或SW检验,从结果来讲比较明显,可以直接判断是否符合正态性。

由于我很少用Q-Q或P-P图,仅看过一些文献,对其认知还是有些浅薄,观者可不用参考此处判断,此处描述只是为了告诉大家有这样的正态性判断的方法。

注:若有需要中文版SPSS分析软件的可私信答主,文件大小:980M(仅供学习使用)

以上

若以后有新的内容再做补充

待续。。。

数据分析之正态性检验相关推荐

  1. 关联规则、支持度(support)、置信度(confidence)

    关联规则 关联规则:用于表示数据内隐含的关联性 Support(支持度):表示同时包含A和B的事务占所有事务的比例.如果用P(A)表示使用A事务的比例,那么Support=P(A&B) Con ...

  2. R语言数据分析笔记——t检验(含正态性检验和方差齐性检验在SPSS和R语言中的操作t检验(单样本、双独立样本、配对样本)在Excel、SPSS、R语言中的操作)

    前言:本文为个人学习笔记,为各大网站上的教学内容之综合整理,综合整理了①假设分析的基础知识.②正态性检验和方差齐性检验在SPSS和R语言中的操作.③t检验(单样本.双独立样本.配对样本)在Excel. ...

  3. Python科研数据分析专题之正态性检验

    数据的正态性检验 Sim_Jackson | 2023 在时间序列预测类的论文中应用较多 # 导入需要的第三方库 import pandas as pd import os import warnin ...

  4. 【python数据分析】正态分布、正态性检验与相关性分析

    正态分布.正态性检验与相关性分析 1 正态分布 2 正态性检验 2.1 直方图初判 2.2 QQ图 2.3 K-S检验 2.3.1 计算推导 2.3.2 代码一步到位 3 相关性分析 3.1 图示初判 ...

  5. Python探索性数据分析——异常数据的检测与处理、数据的描述(集中、分散、分布、相关关系、波动)、数据的推断(正态性检验、卡方检验、t检验)

    目录 一.异常数据的检测与处理 1.异常数据检测与处理-基于箱线图 2.异常数据检测与处理-基于正态分布特征 二.数据的描述 1.数据的集中趋势 1.1.数据的集中趋势-平均值 1.1.1.算数平均值 ...

  6. (4)数据分析-正态性检验与方差齐性检验

    文章目录 1.前言 2.正态性检验 2.1 柯尔莫戈罗夫-斯米诺夫检验(K-S检验) 2.2 夏皮罗-威尔克检验(Shapiro-Wilk检验) 2.3 做图法验证正态分布 3.方差齐性检验 4.源码 ...

  7. Python金融大数据分析——第11章 统计学(1)正态性检验 笔记

    第11章 统计学 11.1 正态性检验 11.1.1 基准案例 11.1.2 现实世界的数据 第11章 统计学 11.1 正态性检验 可以说 , 正态分布是金融学中最重要的分布 , 也是金融理论的主要 ...

  8. 统计学派的18种经典「数据分析方法」

    来源:机器学习算法与Python实战 本文约10000字,建议阅读15分钟 本文为你列举了统计学派中18种经典的数据分析法. Part1 描述统计 描述统计是通过图表或数学方法,对数据资料进行整理.分 ...

  9. 统计计量 | 统计学中常用的数据分析方法汇总

    来源:数据Seminar本文约10500字,建议阅读15+分钟 统计学中常用的数据分析方法汇总. Part1描述统计 描述统计是通过图表或数学方法,对数据资料进行整理.分析,并对数据的分布状态.数字特 ...

  10. 数据分析 python 用途-python数据统计分析

    1. 常用函数库 scipy包中的stats模块和statsmodels包是python常用的数据分析工具,scipy.stats以前有一个models子模块,后来被移除了.这个模块被重写并成为了现在 ...

最新文章

  1. base64图裁剪 php_世界上最好的编程语言PHP图层裁剪服务搭建详解
  2. 数据查询分页显示的优化方法
  3. java多线程系列:通过对战游戏学习CyclicBarrier
  4. head rush ajax chapter4 DOM
  5. 东北农业大计算机排名,黑龙江高校排名更新,东北林大排名第3,东油排名第8...
  6. scrapy抓取淘宝女郎
  7. 数据结构——树的存储结构孩子表示法
  8. leetcode [35]搜索插入位置/Search Insert Position 优雅的暴力可能比二分查找效率更高
  9. 关于python装饰器的总结
  10. 计算机主机英语怎么说,电脑的英文-电脑的主机这个词英语怎么说?电脑的主 – 手机爱问...
  11. attention机制_Seq2seq模型中的 Attention机制
  12. Verilog Language--Modules:Hierachy--Module add
  13. 阿里云、腾讯云、UCloud、华为云云主机对比测试报告
  14. 微信服务器系统,微信公众号服务器系统基础组件研发
  15. 成人大专计算机试题,2021成人大专数学模拟试题及参考答案
  16. Eric S. Raymond 五部曲 之 《开拓智域》
  17. 第1关:学会使用 Gensim
  18. JSD-2204-VueCLI-Day01
  19. android一键 iphone,流畅吃鸡最全教程来了:安卓iPhone一键解锁最高画质
  20. 【C语言】memcmp、memcpy、memmove、memset、memchr函数详解

热门文章

  1. HTML和CSS(7.17-7.20)
  2. 解决......lib/include/THC/THCGeneral.h:12:18: fatal error: cuda.h: No such file or directory报错问题
  3. 域名续费如何省钱?将域名转入阿里云的一次操作过程
  4. 《游戏引擎架构》信息总汇
  5. 获取网页标题的小图标
  6. GeoTrans2.4.1 用户手册 之 入门
  7. 前端js十六进制格式的颜色和rgba格式颜色互转
  8. Python利用wakeonlan库 局域网 网络唤醒电脑
  9. 2017年Q1季移动App使用情况分析
  10. win10键盘失灵一键修复方法