自学内容网 自学内容网

正态分布检验(JB检验和威尔克检验)和斯皮尔曼相关系数(继上回)

正态分布的检验

1,JB检验(n>30)

(1)偏度和峰度

描述函数正不正,高不高的

 

Matlab中计算偏度和峰度的函数是:skewness() 和 kurtosis()

我们以normrnd来生成一个100*1的均值为2,标准差为3的正态分布(这里采用的第一个公式)

得到下面的数据,因为这个是随机生成的样本数据,如果当我我们的样本量变多,就会更加接近0 和 3

 (2)JB的计算

如果Xi是正态分布,而且是再大样本的情况下,那我们就=么就会得到下面的结果

 

(3)下面进行假设检验:

H0:该随机变量服从正态分布   H1:该随机变量不服从正态分布

然后计算该变量的偏度和峰度,得到检验值JB*,并计算出其对应的p值

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

JB检验只能一列一列的去检验,matlab中是 [h,p]= jbtest(X,α)

α表示显著性水平,一般取0.05,表示95%相信原假设成立,X是向量型变量

下面是代码:

[h,p] = jbtest(Test(:,1),0.05)

下面是循环检验

n_c = size(Test,2); % number of column 数据的列数

H = zeros(1,6); % 初始化节省时间和消耗

P = zeros(1,6);

for i = 1:n_c

[h,p] = jbtest(Test(:,i),0.05);

H(i)=h;

P(i)=p;

end

disp(H)

disp(P)

得出的结果是都是拒绝的原假设

2,(小样本3~50)夏皮洛-威尔克检验

H0:该随机变量符合正态分布

H1:该随机变量不符合正态分布

根据威尔克统计量得出p值,然后和0.05比较

这里尝试运用SPss进行检验

在左上角分析里面的描述统计中的探索可以勾选含检验的正态分布

得到如下的结果

发现p值小于0.05,拒绝原假设

3,Q-Q图

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

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

位数。这里,我们选择正态分布和要检验的随机变量,并对其做出QQ图可想而知,如果要检验的随机变量是正态分布,那么QQ图就是一条直线。要利用Q-Q图鉴别样本数据是否近似于正态分布,只需看Q-Q图上的点是否近似地在一条直线附近。

Matlab代码:

% Q-Q图

qqplot(Test(:,1))将Test的第一列和正态分布进行Q-Q图的绘制

(建议是大样本,不然也不会是一个直线)

在这我们使用100的随机生成的正态分布,进行Q-Q检验,发现也不是很满足

正常写论文就是写,我们对xxx进行了xxx检验,我们的假设H0和H1是xxxx得出的p是xxx,如果p>0.05我们不拒绝原来的假设,反之,我们拒绝原假设 这里的假设是满足正态分布

总结:皮尔逊相关系数,首先要检验是否是线性的,然后计算皮尔逊相关系数,如果想要看皮尔逊相关系数是否是显著的,那么就要看其是不是显著的异于0,如果进行 假设检验,就要正态分布的数据,那么我们就要先对其进行正态分布的检验(大样本:JB,小样本:威尔克)

2,斯皮尔曼相关系数

斯皮尔曼相关系数是基于数据的秩次(即排序后的位置)计算的

假设X和Y是两组数据,他们的斯皮尔曼相关系数是

(这里的rs位于(-1,1))

 这里的di是Xi和Yi的等级差

(一个数的等级,就是将它所在的一列数按照从小到大排序后,这个数所在的位置)

根据公式,可以得出斯皮尔曼相关系数

Matlab的用法

下面是代码:

%% 斯皮尔曼相关系数

X = [3 8 4 7 2]' % 一定要是列向量哦,一撇'表示求转置

Y = [5 10 9 10 6]'

% 第一种计算方法

1-6*(1+0.25+0.25+1)/5/24

% 第二种计算方法

coeff = corr(X , Y , 'type' , 'Spearman')

% 等价于:

RX = [2 5 3 4 1]

RY = [1 4.5 3 4.5 2]

R = corrcoef(RX,RY)

% 计算矩阵各列的斯皮尔曼相关系数

R = corr(Test, 'type' , 'Spearman')

斯皮尔曼的假设检验

根据斯皮尔曼等级相关临界值表和我们的样本量,我们可以将我们计算出来的值和表中的值对比

比如n=20, 而且我们置信水平设置的0.95 这个时候查表可得值是0.447,我们计算出来的斯皮尔曼相关系数是0.34,比0.447小,我们无法得出显著的结论,无法拒绝原假设

统计量:

根据我们计算出的斯皮尔曼相关系数表,

我们计算第一排第二列的数据,

Z*=0.0301*sqrt(591-1) =0.731126

P=2*(1-normcdf(0.731126))

得到的p是0.4647,这里的p大于0.05,所以我们不拒绝原假设,

使用matlab计算’

[R,P]=corr(Test, 'type' , 'Spearman')

使用SpSS计算

分析里面的相关的双变量中的斯皮尔曼检验以及双测检验,并且标注相关性

斯皮尔曼相关系数和皮尔逊相关系数选择:

1.连续数据,正态分布,线性关系,用pearson相关系数是最恰当,当然spearman相关系数也可以,就是效率没有pearson相关系数高:

2.上述任一条件不满足,就用spearman相关系数,不能用pearson相关系数

3.两个定序数据之间也用spearman相关系数,不能用pearson相关系数。

定序数据是指仅仅反映观测对象等级、顺序关系的数据,是由定序尺度计量形成的,表现为类别,可以进行排序,属于品质数据。

例如:优、良、差我们可以用1表示优差、2表示良、3表示优,但请注意,用2除以1得出的2并不代表任何含义。定序数据最重要的意义代表了一组数据中的某种逻辑顺序

两个系数(皮尔逊和斯皮尔曼)的关系与差异

关系:当两个变量之间存在严格的线性关系且服从正态分布时,斯皮尔曼相关系数和皮尔逊相关系数的值相等。在一般情况下,如果数据近似正态分布且线性关系明显,两者计算结果也会比较接近。

差异:

数据分布要求皮尔逊相关系数对数据分布要求较高,通常需满足正态分布;而斯皮尔曼相关系数对数据分布没有限制,更具通用性,适用于各种类型的数据分布。

衡量关系类型:皮尔逊相关系数主要衡量线性相关关系;斯皮尔曼相关系数衡量的是单调关系,包括线性和非线性的单调关系。例如,对于变量(Y=X^2),虽然和之间不是线性关系,但它们具有单调递增关系,斯皮尔曼相关系数能反映这种关系,而皮尔逊相关系数可能无法准确反映。

抗干扰能力:由于斯皮尔曼相关系数基于秩次计算,对极端值不敏感,具有较强的抗干扰能力;而皮尔逊相关系数受极端值影响较大,极端值可能会显著改变其计算结果,从而影响对变量相关性的判断。

在实际应用中,应根据数据的特点和研究目的选择合适的相关系数。如果数据满足正态分布且关注线性关系,皮尔逊相关系数是较好的选择;如果数据分布未知或存在极端值,或者关注变量之间的单调关系,斯皮尔曼相关系数更为合适。


原文地址:https://blog.csdn.net/2401_84910613/article/details/145227540

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!