2015.06.11,技术,关于Matlab中的Jbtest检验
总体分布的正态性检验一般采取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检验的更多相关文章
- 译文 [ROM][多国语言][2015.06.11] Lenovo S750 (MTK6589) - andrea_d86-lenovos750-4.2.2
************************************************** andrea_d86-lenovos750-4.2.2-150530 ************** ...
- php大力力:技术排错过程中,关键点总结和心情历程(2015-10-19)
9:40 2015/10/19技术排错过程中,关键点总结和心情历程 有一个按照标题进行内容分类的函数似乎不起作用,这叫人沮丧. 在页面显示图片地址时候,在源系统和目标系统中,包含图片地址的页面代码格式 ...
- 【原创】Matlab中plot函数全功能解析
[原创]Matlab中plot函数全功能解析 该帖由Matlab技术论(http://www.matlabsky.com)坛原创,更多精彩内容参见http://www.matlabsky.com 功能 ...
- 转帖 云和恩墨 http://www.eygle.com/archives/2015/06/sql_version_count.html
SQL多版本控制 - _CURSOR_OBSOLETE_THRESHOLD 作者:eygle |English [转载时请标明出处和作者信息]|[恩墨学院 OCM培训传DBA成功之道]链接:htt ...
- matlab中fspecial Create predefined 2-D filter以及中值滤波均值滤波以及高斯滤波
来源: 1.https://ww2.mathworks.cn/help/images/ref/fspecial.html?searchHighlight=fspecial&s_tid=doc_ ...
- matlab中upper 将字符串转换为大写
参考:https://ww2.mathworks.cn/help/matlab/ref/fprintf.html?searchHighlight=fprintf&s_tid=doc_srcht ...
- Matlab中的一些小技巧
(转于它处,仅供参考) 1.. Ctrl+C 中断正在执行的操作 如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断.MATLAB这时可能正疲于应付,响应会有些滞后. ...
- matlab中的卷积——filter,conv之间的区别
%Matlab提供了计算线性卷积和两个多项式相乘的函数conv,语法格式w=conv(u,v),其中u和v分别是有限长度序列向量,w是u和v的卷积结果序列向量. %如果向量u和v的长度分别为N和M,则 ...
- MATLAB中plot()画图的颜色线型和希腊字母参数设置
y 黄色 · 点线 m 粉红 ○ 圈线 c ...
随机推荐
- 【BZOJ1010】【HNOI2008】玩具装箱toy (斜率优化DP) 解题报告
题目: 题目在这里 思路与做法: 这题不难想. 首先我们先推出一个普通的dp方程: \(f_i = min \{ f_j+(i-j-1+sum_i-sum_j-L)^2\}\) 然后就推一推式子了: ...
- mac下安装tesseract-OCR(Mac下还是有lib依赖的问题,有时间再解决)
1.先下载需要的软件包 OCR工具: Tesseract-OCR3.0.1 source code tesseract-ocr-3.01.eng.tar.gz 破验证码用英文就够了. 图像处 ...
- MapReduce架构与生命周期
MapReduce架构与生命周期 概述:MapReduce是hadoop的核心组件之一,可以通过MapReduce很容易在hadoop平台上进行分布式的计算编程.本文组织结果如下:首先对MapRedu ...
- javascript 的逻辑中断(短路操作)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- MFC多标签页对话框
原文链接(有修改):http://blog.sina.com.cn/s/blog_6a1cdb3f0101llcw.html 1.新建一个MFC工程 取名PageSheet,选择Dialog base ...
- js页面传值,cookie
// 获取页面穿值 function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + " ...
- 接口测试及Postman工具
首先,什么是接口呢? 接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口.系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写 ...
- 2104 -- K-th Number
Description You are working for Macrohard company in data structures department. After failing your ...
- 算法61---两个字符串的最小ASCII删除和【动态规划】
一.题目: 给定两个字符串s1, s2,找到使两个字符串相等所需删除字符的ASCII值的最小和. 示例 1: 输入: s1 = "sea", s2 = "eat" ...
- Java多线程中Sleep与Wait的区别
Java中的多线程是一种抢占式的机制 而不是分时机制.抢占式机制指的是有多个线程处于可运行状态,但是只有一个线程在运行. 共同点: 1. 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数 ...