文章目录
- 什么是正态分布
- 如何检验正态分布
- 1.JB检验(样本数据n>30)
- 2.Shapiro-wilk检验(样本数据50>n>3)
- Q-Q图检验(要求数据量非常大)
什么是正态分布
正态分布,也称高斯分布,是以天才卡尔 · 弗里德里希 · 高斯的名字命名的。
当我们画出正态分布曲线时,我们可以看出该曲线是一个钟形的曲线,如果变量的均值、模和中值相等,那么该变量呈现正态分布。
正态分布只依赖与数据的两个指标:样本的均值和方差
- 均值:样本所有数据的平均值
- 方差:衡量样本全部数据偏离均值的程度
同时,正态分布非常容易解释,因为:
- 正态分布的均值、模和中位数都是相等的
- 我们只需要用均值和标准差就能解释整个分布
此外,值得注意的是:生活中有大部分的变量都近似服从正态分布。
那为何如此多的变量都近似服从正态分布呢?这是由于中心极限定理。
(这里我就是稍微提一下,感兴趣的小伙伴可以去学习一下概率论)
如何检验正态分布
在数学建模中,我们在使用皮尔逊相关系数时首先会检验变量是否服从正态分布和线性相关,线性相关可以通过我们的散点图得知,而是否服从正态分布也有相应的检验方法。
1.JB检验(样本数据n>30)
雅克-贝拉检验(Jarque-Bera test)
对于一个随机变量, 假设其偏度为, 峰度为, 那么我们可以构造统计量:
可以证明,如果是正态分布,那么在n>30情况下(自由度为2的卡方分布)。
注:正态分布的偏度为0,峰度为3。
偏度:表示概率分布密度曲线相对于平均值不对称程度。
峰度:表示概率密度分布曲线在平均值处峰值高低,反映了峰部的尖度。
MATLAB中JB检验函数:[h,p]=jbtest(X,alpha)
当输出的h为1时,表示在95%置信水平下接受 数据符合正态分布 的假设;h为0时代表在95%置信水平下拒绝 数据符合正态分布 的假设。
alpha为显著性水平(一般取0.05),显著性水平+置信水平=1。
n_c=size(X,2); %求数据的列数(变量个数)
H=zeros(1,n_c);
P=zeros(1,n_c); %初始化矩阵
for i=1:n_c
[h,p]=jbtest(X(:,i),0.05); %进行JB检验
H(i)=h;
P(i)=p; %储存每列数据的h和p值
end
disp(H);
disp(P);
2.Shapiro-wilk检验(样本数据50>n>3)
Shapiro-wilk夏皮洛-威尔克检验
由于MATLAB中没有专门的函数来进行Shapiro-wilk检验,所以我用SPSS来进行Shapiro-wilk检验,检验数据是否符合正态分布。
- 导入或者输入数据
- 点击分析>>描述统计>>探索
- 点击’‘探索 图’’ >>标记’‘含检验的正态图’’ >> 点击继续>>确定
- 得到正态性检验图,观察显著性大小。
显著性的数值就是该变量的p值。
若p<0.05,说明在95%置信水平下拒绝 数据符合正态分布 的假设;
若p>0.05,说明在95%置信水平下服从 数据符合正态分布 的假设。
Q-Q图检验(要求数据量非常大)
在统计学中,Q-Q图(Q表示分位数Quantile)是一种通过比较两个概率分布的分位数对这两个概率分布进行比较的概率图方法。
首先选定分位数的对应的概率区间集合,在此概率区间上,点(x,y)对应于第一个分布的一个分位数x和第二个分布在和x相同的概率区间上相同的分位数。
如果检验的变量符合正态分布,那Q-Q图就是一条直线。使用Q-Q图鉴别样本数据是否近似正态分布,只需看Q-Q图上点是否近似在一条直线附近。
qqplot(X); %X必须是向量
如果我们的数据量较少的话,Q-Q图就不是那么明显表现在一条直线上。
如果我们的数据量足够多的话,Q-Q图明显表现在一条直线上,更加具有说服力。
这就是我们数学建模中常用检验正态分布的三种方法,到时候根据样本数据多少选择合适方法进行检验。