MATLAB中数据相关性所求相关系数的有关内容(2)

如何检验数据是否是正态分布?

我们常用的一般有两种方法:

1、雅克-贝拉检验(Jarque-Bera test)

2、Shapiro-wilk夏皮洛-威尔克检验

3、Q-Q图

一、雅克-贝拉检验(Jarque-Bera test)     (正态分布JB检验(大样本n>30))

对于一个随机变量{{X_{i}}},假设其偏度为S,峰度为K,那么我们可以构造JB统计量:
JB = \frac{n}{6}[S^{2} + \frac{(K-3)^{2}}{4}]

可以证明,如果{{X_{i}}}是正态分布,那么在大样本情况下JB~\mathcal{X}^2(2)(自由度为2的卡方分布)

(注:正态分布的偏度为0,峰度为3)

那么进行假设检验的步骤如下:

H_{0}:该随机变量服从正态分布   H_{1}:该随机变量不服从正态分布

然后计算该变量的偏度和峰度,得到检验值JB^{*},并计算出其对应的p值将p值与0.05比较,如果小于0.05则可拒绝原假设,否则我们不能拒绝原假设。

matlab中峰度与偏度的代码:

skewness(x)     %偏度
kurtosis(x)     %峰度

 MATLAB中进行JB检验的语法:

[h,p] = jbtest(x,alpha)

当输出h等于1时,表示拒绝原假设;h等于o则代表不能拒绝原假设。alpha就是显著性水平,一般取0.05,此时置信水平为1-0.05=0.95。x就是我们要检验的随机变量,注意这里的x只能是向量。

 2、Shapiro-wilk夏皮洛-威尔克检验

H_{0}:该随机变量服从正态分布    H_{1}:该随机变量不服从正态分布

计算出威尔克统计量后,得到相应的p值

将p值与0.05比较,如果小于0.05则可拒绝原假设,否则我们不能拒绝原假设。

由于matlab中没有Shapiro-wilk夏皮洛-威尔克检验的内置打包函数,我们便适用SPSS软件进行夏皮洛-威尔克检验:首先导入数据 -> 分析 -> 描述统计 -> 探索 -> 将所求样本加入右侧因变量列表   -> 勾选含检验的正态图 ->点击继续      。SPSS软件将自动生成结果

3、Q-Q图

在上一篇博客中我已经提到过Q-Q图的代码了,这里加以解释一下:

在统计学中,Q-Q图(Q代表分位数Quantile)是―种通过比较两个概率分布的分位数对这两个概率分布进行比较的概率图方法。

首先选定分位数的对应概率区间集合,在此概率区间上,点(x,y)对应于第一个分布的一个分位数x和第二个分布在和x相同概率区间上相同的分位数。

这里,我们选择正态分布和要检验的随机变量,并对其做出QQ图,可想而知,如果要检验的随机变量是正态分布,那么QQ图就是一条直线。

要利用Q-Q图鉴别样本数据是否近似于正态分布,只需看Q-Q图上的点是否近似地在一条直线附近。(要求数据量非常大,所以一般我们不采用该方法)

你可能感兴趣的:(记录我的学习过程,matlab,开发语言,矩阵)