总体分布的正态性检验一般采取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. js设计模式-工厂模式(抽象工厂)

    场景:定义一个抽象类 AbsProducer(生产商),该生产商有两个行为,一个生产,一个出售,其中生产方法为抽象方法,由具体的厂家(工厂)去实现,出售的产品均是电子产品(返回的对象为电子产品对象,即 ...

  2. 给统计人讲Python(1)_科学计算库-Numpy

    本地代码是.ipynb格式的转换到博客上很麻烦,这里展示部分代码,了解更多可以查看我的git-hub:https://github.com/Yangami/Python-for-Statisticia ...

  3. Endnote导入共享数据

    Endnote导入共享数据 Endnote是我们经常使用的参考文献管理工具.但是,在云计算还不是很普及的今天,往往每台电脑上都有自己的endnote数据库.这样,换了电脑,要使用同样的参考文献数据时, ...

  4. web 端即时通讯

    1. 前言 Web端即时通讯技术因受限于浏览器的设计限制,一直以来实现起来并不容易,主流的Web端即时通讯方案大致有4种:传统Ajax短轮询.Comet技术.WebSocket技术.SSE(Serve ...

  5. c语言open()介绍

    2013-09-0914:40:13 1. 头文件: #include <sys/types.h> #include <sys/stat.h> #include <fcn ...

  6. Dapper中数据表的字段(列)与实体属性不一致时,如何手动配置它们之间的映射?

    NET[C#]Dapper中数据表的字段(列)与实体属性不一致时,如何手动配置它们之间的映射? 问题描述 比如有如下的数据表结构:Person: person_id int first_name va ...

  7. Nginx介绍及知识点(摘抄)

    正向代理是把自己的网络环境切换成代理的网络 反向代理是代理机器返回给我要我的资源 本文借鉴参考于http://tengine.taobao.org/book/chapter_02.html. 属于纯干 ...

  8. DB2大数据量优化查询解决方案

    利用DB2表分区的功能对大数据量的表进行分区,可以优化查询. 表分区介绍: 表分区是一种数据组织方案,它根据一列或多列中的值把表数据划分为多个称为数据分区 的存储对象. (我觉得表分区就类似于Wind ...

  9. 在APP开发设计过程中:如何设计启动页面?

    心理学上有一个“7秒理论”,说的是,一个人对另一个人的印象,在初次见面的七秒内就会形成,最近更有研究表明,这个时间可能更短——不到1秒.所以初次见面所展示的形象真的很重要.同理,用户在使用APP时,每 ...

  10. Cython入门.VS.C++

    原文链接:http://blog.csdn.net/gzlaiyonghao/article/details/4561611 作者:perrygeo 译者:赖勇浩(http://laiyonghao. ...