Matlab统计分析-非参数检验

非参数统计是21世纪统计理论的三大发展方向之一。非参数统计的优点在于可以不对总体分布进行任何假设的前提下,就可以针对对总体分布的假设进行统计检验。相比于参数检验,非参数检验具有更强的稳健性和普遍性。

本文着重利用非参数检验中的Wilcoxon-Mann-Whitney秩和检验对安徽省城镇与乡村居民的人均可支配收入进行差异性检验。分析指标采用的是位置平均数-中位数。中位数秩和检验的原理是:如果两组数据之间不存在显著性差异,两个样本数据的中间位置应当接近,反之,若两组数据存在显著性差异,则两个样本数据的中间位置将不同。

下面我们以安徽省2004-2018年城镇与乡村居民可支配收入的差异性检验为例,进行中位数差异检验。数据如下(数据来源于安徽省统计年鉴):

人均可支配收入单位:元/人

Step 1: 提出假设

城镇与农村居民的可支配收入无显著性差异;

城镇与农村居民的可支配收入有显著性差异。

Step 2: 混合样本并赋秩

将城镇和农村居民人均可支配收入放在一起,进行排序,求得中位数为11147.5(元),记为;再计算每个样本数据与中位数的绝对偏差,并以绝对偏差从小到大对样本数据进行赋秩,计算结果如下;

安徽省城镇和农村居民可支配收入秩和计算过程与结果

Step 3: 计算秩和与检验统计量

计算秩和,即将城镇居民可支配收入等级和农村居民可支配收入等级还原差数的正负号,并分别计算两者的正负秩和,计算结果为:. 下面根据以下公式计算检验统计量:

其中 分别为城镇与农村组的样本容量。代入数值可求得

Step 4: 利用检验准则判断检验结果

根据检验水平和样本容量查检验临界值表,得由于所以拒绝。即认为安徽省城镇和农村居民可支配收入中位数有明显差异,即认为两个地区可支配收入水平有显著性差异。

最后给出对于这种两样本检验通用的matlab程序。其中输入分别为第一组数据(列向量),第二组数据(列向量),根据检验水平和样本容量查到的检验临界值,检验水平。输出为最终检验统计量,储存赋秩过程的矩阵。

function [U,Y]=Wilcoxon(X_1,X_2,U_alpha,alpha) X=[X_1;X_2]; medianx=median(X(:)); Y=[X(:),abs(X(:)-medianx)]; [~,index]=sort(abs(X(:)-medianx)); t=length(index); for i=1:t Y(index(i),3)=i; end n1=length(X_1); n2=length(X_2); U1=n1^2+(n1*(n1-1))/2-sum(Y(1:n1,3)); U2=n2^2+(n2*(n2-1))/2-sum(Y((n1+1):(n1+n2),3)); U=min(U1,U2); if U<U_alpha fprintf(U检验统计量的值为:%6.2f,在检验水平为:%6.2f下,拒绝原假设,U,alpha); else fprintf(U检验统计量的值为:%6.2f,在检验水平为:%6.2f下,接受原假设,U,alpha); end end