总体分布的正态性检验一般采取Jarque-Bera检验方法。

1. JBTest检验的定义:

在统计学中,Jarque-Bera检验是对样本数据是否具有符合正态分布的偏度和峰度的拟合优度的检验。该检验以卡洛斯•哈尔克和阿尼•K•贝拉(Carlos Jarque and Anil K. Bera)来命名。

JB统计量定义为:

这里的n为观测数目(自由度),S是样本偏度系数,K是样本峰度系数。

对正态分布而言,JB统计量渐进的服从自由度为2的卡方分布。

Jarque和Bera证明了在正态性假定下,如果JB统计量的相伴概率值小于设定的概率水平,则拒绝原假设,不认为样本概率服从正态分布;反之,则接受原假设。

2. 关键名词:

这里有几个关键名词,包括偏度、峰度、卡方分布。

偏度系数(Skewness)

偏度系数是描述分布偏离对称性程度的特征数,是样本概率密度函数对称性的度量。

当分布左右对称时,偏度系数为0;当偏度系数大于0时,即中位在右侧,该分布为右偏;当偏度系数小于0时,中位在左侧,该分布左偏。

较大的正值表示其分布具有右侧较长尾部,较大的负值表明有左侧较长尾部。

通常用三阶中心矩除以标准差的三次方来计算,

标准差为:

峰度系数(Kurtosis):

峰度系数是用来反映频数分布曲线顶端尖峭或扁平程度的指标,形象的说,就是对概率密度函数的“胖瘦”的度量。

统计上是用四阶中心矩来测定峰度的。实验研究表明,偶阶中心矩的大小与图形分布的峰度有关。其中的二阶中心矩就是数据的方差,它在一定程度上可以反映分布的峰度,但有时方差相同的数据却有不同的峰度,因此就利用四阶中心矩来反映分布的尖峭程度。

实际采用四阶中心矩与标准差的四次方的比值作为衡量峰度的指标。

对正态分布而言,偏度系数S为0,峰度系数K为3。

卡方分布:

3. Matlab的Jbtest

调用格式为:

  • H = jbtest(X)
  • H = jbtest(X,alpha)
  • [h,p,JBSTAT,CV]=jbtest(x,alpha)
  • H = jbtest(x,alpha,mctol)

输入值:以alpha (默认0.05)显著水平对数据x进行Jarque-Bera检验

返回值

  • h为测试结果,如果h=0,则认为x是服从正态分布的;如果h=1,则可以否定x服从正态分布;
  • p为接受假设的概率,p越接近于0,则可以是拒绝正态分布的原假设。
  • JBSTAT为测试统计量的值;
  • CV为是否拒绝原假设的临界值,主要是用JBSTAT与CV比较,超过临界值就认为不服从正态分布。

若变量服从正态分布,则S为零,K为3,因而JB统计量的值为零;如果变量不是正态变量,则JB统计量将为一个逐渐增大值。JB统计量的定义表明,任何对此(偏度为0,峰度为3)的偏离都会使得JB统计量增加。

注:

通常要对一组样本进行正态性检验,在Matlab中,一种方法是:用normplot画出样本,如果在一条直线上,则样本服从正态分布,否则不服从正态分布。

Matlab提供了更正式的检验方法:

  • kstest(Kolmogorov-Smirnow)正态性检验,将样本与标准正态样本(均值0,方差1)进行对比,不符合则返回1,符合则返回0.
  • lillietest(Lilliefors test),与kstest不同,检验目标不是标准正态样本,而是具有与样本相同均值和方差的正态分布。
  • jbtest(Jarque-Bera test):与lillietest相似,但不适用于小样本情况。

More:

CV:即Critical Value临界值,与Jarque-Bera检验中的显著水平alpha对应;返回一个非负标量值。如果alpha范围为 [0.001,0.50],并且样本数目不大于2000,那么jbtest直接在预先算好的CV值表中查找和插值。如果使用了mctol,那么jbtest通过Monte Carlo模拟来确定CV值。当jbstate>CV时,假设不成立。

mctol:即Maximum Monte Carlo standard error(最大蒙特卡洛标准差)。如果设定了mctol值,jbtest直接计算Monte Carlo近似值p,而不是通过预先算好的CV值表来进行插值。jbtest通过选择足够大的Monte Carlo重复数,使得计算的蒙特卡洛标准差p小于mctol。

2015.06.11,技术,关于Matlab中的Jbtest检验的更多相关文章

  1. 译文 [ROM][多国语言][2015.06.11] Lenovo S750 (MTK6589) - andrea_d86-lenovos750-4.2.2

    ************************************************** andrea_d86-lenovos750-4.2.2-150530 ************** ...

  2. php大力力:技术排错过程中,关键点总结和心情历程(2015-10-19)

    9:40 2015/10/19技术排错过程中,关键点总结和心情历程 有一个按照标题进行内容分类的函数似乎不起作用,这叫人沮丧. 在页面显示图片地址时候,在源系统和目标系统中,包含图片地址的页面代码格式 ...

  3. 【原创】Matlab中plot函数全功能解析

    [原创]Matlab中plot函数全功能解析 该帖由Matlab技术论(http://www.matlabsky.com)坛原创,更多精彩内容参见http://www.matlabsky.com 功能 ...

  4. 转帖 云和恩墨 http://www.eygle.com/archives/2015/06/sql_version_count.html

    SQL多版本控制 - _CURSOR_OBSOLETE_THRESHOLD   作者:eygle |English [转载时请标明出处和作者信息]|[恩墨学院 OCM培训传DBA成功之道]链接:htt ...

  5. matlab中fspecial Create predefined 2-D filter以及中值滤波均值滤波以及高斯滤波

    来源: 1.https://ww2.mathworks.cn/help/images/ref/fspecial.html?searchHighlight=fspecial&s_tid=doc_ ...

  6. matlab中upper 将字符串转换为大写

    参考:https://ww2.mathworks.cn/help/matlab/ref/fprintf.html?searchHighlight=fprintf&s_tid=doc_srcht ...

  7. Matlab中的一些小技巧

    (转于它处,仅供参考) 1.. Ctrl+C 中断正在执行的操作 如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断.MATLAB这时可能正疲于应付,响应会有些滞后. ...

  8. matlab中的卷积——filter,conv之间的区别

    %Matlab提供了计算线性卷积和两个多项式相乘的函数conv,语法格式w=conv(u,v),其中u和v分别是有限长度序列向量,w是u和v的卷积结果序列向量. %如果向量u和v的长度分别为N和M,则 ...

  9. MATLAB中plot()画图的颜色线型和希腊字母参数设置

    y         黄色           ·             点线      m         粉红           ○             圈线      c          ...

随机推荐

  1. Spring @Scheduled 注解 定时器例子

    <!--xmlns 多加下面的内容--> xmlns:task="http://www.springframework.org/schema/task" <!-- ...

  2. 2018最新WordPress缩略图设置方法

    缩略图设置的方法很多,但都不全面,且很多教程已经失效了,其中使用插件来实现,可是那些插件都使用过都不能实现效果,所以我整理了一份使用代码实现缩略图的方法. 1.找到网站根目录/wp-content/t ...

  3. (转载)更新到Retrofit2的一些技巧

    更新到Retrofit2的一些技巧 作者 小武站台 关注 2016.02.22 22:13* 字数 1348 阅读 1621评论 0喜欢 5赞赏 1 原文链接:Tips on updating to ...

  4. ubuntu+win10双系统,调整分区大小后进入了emergency mode

    问题背景: 装了Ubuntu+win10双系统,在Ubuntu下面挂载了Windows的D盘.后来因为D空间不够,进入Windows压缩C盘分区,扩大了D盘.重启后无法启动Ubuntu,进入了emer ...

  5. LruCache缓存机制

    LruCache: Android提供的使用了(Least Recently Used)近期最少使用算法的缓存类 内部基于LinkedHashMap实现 实现这个主要需要重写 构造时需要确定Cache ...

  6. ASP.NET CORE读取appsettings.json的配置

    如何在appsettings.json配置应用程序设置,微软给出的方法:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/config ...

  7. 使用PyQT编写界面程序

    使用PyQT比QT好在,可以随时监测函数正确性,省去编译时间 ! 这是个不小的节省. 1. PyQt: 打开对话框 msgbox = QtGui.QMessageBox(self)# 我的语句是 ms ...

  8. 【技术累积】【点】【java】【9】Optional

    基础概念 java8引入的,java9有加强 Google公司出品 旨在更好的处理NullPointException 创建Optional实例和基础使用 Optional op1 = Optiona ...

  9. oracle AWR详解

    原文地址:https://blog.csdn.net/elvis_lfc/article/details/52326148 啥是AWR? =============================== ...

  10. day22 包,相对/绝对路径

    目录 包 包被导入时发生的三件事 为什么要有包 相对路径 绝对路径 包 包是一个文件夹,也是一个模块,只是为了区分单个文件的模块,称之为包.因为单纯的文件夹无法作为模块,文件夹内的__init__.p ...