【Wilcoxon 检验】威尔科克森秩检验[非参数检验](Matlab代码实现)

👨‍🎓个人主页:研学社的博客  

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

假设数据是关于坐标原点对称,那么对称中心两侧的数据疏密程度应一致,取正值数据在绝对值样本中的秩和与取负值在绝对值样本中的秩和相近。

​ 

​ 

📚2 运行结果

​ 

​  部分代码:

function [dist, w] = wilcoxon_dist_groups(pH0, Neq0, T, strateq0)

N = Neq0 + sum(T);
w = (0:0.5:(N*(N+1)/2));  % range of possible values
dist = zeros(size(w));

ranks = Neq0+cumsum(T)-0.5*(T-1);  % ranks for non-zero groups

% handle 0's
if Neq0 > 0
  switch strateq0
    case 'Wilcoxon'
      % after Wilcoxon 1945 "Individual Comparisons by Ranking
      % Methods":
      % discard 0's and adjust remaining ranks by subtracting Neq0
      %
      % adjust the ranks
      ranks = ranks - Neq0;
      % The ranksum resulting from the Neq 0's is R = 0
      dist(1) = 1;
    case 'Pratt'
      % after Pratt 1959 "Remarks on Zeros and Ties in the Wilcoxon
      % Signed Rank Procedures":
      % discard 0's and without adjusting the remaining ranks.
      
      % The ranksum resulting from the Neq 0's is R = 0
      dist(1) = 1;
    case 'Marascuilo'
      % after Marascuilo 1977 "Nonparametric and Distribution-free
      % Methods for the Social Sciences":
      % shared rank of the 0's is accounted by one half to the ranksum
      %
      % The first Neq0 values share the rank (1 + 2 + ... + Neq0)/ Neq0
      % = (Neq0+1)/2. Their ranksum is R = Neq*(Neq0+1)/4
      Req0 = Neq0*(Neq0+1)/4;
      dist(2*Req0+1) = 1;
  end
else
  dist(1) = 1;
end

% handle remaining ranks for non-zero values
for rdx=1:length(T)
  shift = 2*ranks(rdx);
  for tdx=1:T(rdx)
    dist = pH0*dist + (1-pH0).*[zeros(1,shift),dist(1:end-shift)];
  end
end
 

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]林跃东.基于威尔科克森符号秩检验用能权核查数据分析[J].化学工程与装备,2021(09):187-189.DOI:10.19566/j.cnki.cn35-1285/tq.2021.09.086.

🌈4 Matlab代码实现

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Wilcoxon检验Wilcoxon rank-sum test)是一种非参数的假设检验方法,用于比较两组独立样本的中位数是否相同。Wilcoxon检验的原假设是两组样本的中位数相同,备择假设是两组样本的中位数不同。 在Matlab中,Wilcoxon检验可以使用函数ranksum来实现。该函数的用法如下: ```matlab [p,h] = ranksum(x,y) ``` 其中,x和y分别是两组样本的数据,p是假设检验的p值,h是表示是否拒绝原假设的逻辑值。如果h为1,则拒绝原假设,说明两组样本的中位数不同;如果h为0,则不能拒绝原假设,说明两组样本的中位数可能相同。 例如,假设有两组数据x和y: ```matlab x = [6, 8, 10, 12, 14]; y = [5, 7, 9, 11, 13]; ``` 则可以使用ranksum函数进行Wilcoxon检验: ```matlab [p,h] = ranksum(x,y) ``` 运行结果为: ``` p = 0.5 h = 0 ``` 由于p值为0.5,大于显著性水平0.05,且h为0,因此不能拒绝原假设,即两组样本的中位数可能相同。 ### 回答2: Wilcoxon检验又称为Mann-Whitney U检验,是一种非参数检验方法,用于比较两组独立样本的中位数是否有显著差异。 在Matlab中,我们可以使用ranksum函数进行Wilcoxon检验。该函数的语法格式如下: [p,h,stats] = ranksum(x,y,'alpha',0.05,'tail','both') 其中,x和y分别表示两组独立样本数据,'alpha'是置信水平,默认为0.05,'tail'表示检验方向,默认为'both',可以为'left'或'right'。 ranksum函数的返回值分别为p,h和stats。其中,p表示显著性水平;h表示拒绝原假设的判断;stats包含了Wilcoxon检验的统计量,包括和、均数、标准偏差等信息。 在进行Wilcoxon检验之前,需先做数据预处理,包括数据清洗、缺失值处理、数据标准化等。然后,我们可以使用ranksum函数对两组独立样本进行比较,得到显著性水平和拒绝原假设的判断。如果显著性水平小于设定的置信水平,则拒绝原假设,说明两组数据的中位数存在显著差异。 总的来说,Wilcoxon检验是一种常用的假设检验方法,可以用于比较两组独立样本的中位数是否有显著差异。在Matlab中,我们可以使用ranksum函数进行计算,并对结果进行解释和判断。 ### 回答3: Wilcoxon检验是一种非参数统计方法,用于检验两个样本的中位数是否相同。其原假设为两个样本的中位数相同,备择假设为两个样本的中位数不相同。Wilcoxon检验不要求数据呈正态分布,具有较好的稳健性和适用性。Matlab是一种常用的科学计算软件,可以使用其内置函数进行Wilcoxon检验。 在Matlab中,进行Wilcoxon检验有多种方法,包括ranksum函数和signrank函数。其中,ranksum函数适用于两个独立样本,而signrank函数适用于相依的样本(即配对样本)。使用方法如下: 1. 对于独立样本,使用ranksum函数,输入两个样本的数据向量,即可得出检验结果。示例代码如下: data1 = [1, 2, 3, 4, 5]; data2 = [2, 3, 4, 5, 6]; p = ranksum(data1, data2); 其中,p为检验结果的P值,P值小于0.05则拒绝原假设,即认为两个样本的中位数不相同。 2. 对于相依样本,使用signrank函数,输入两个样本的差分值,即可得出检验结果。示例代码如下: data1 = [1, 2, 3, 4, 5]; data2 = [2, 3, 5, 3, 6]; diff = data1 - data2; p = signrank(diff); 其中,p为检验结果的P值,P值小于0.05则拒绝原假设,即认为两个样本的中位数不相同。 需要注意的是,在使用Wilcoxon检验之前,需要满足一些前提条件:样本数据应为连续型数值型数据;两个样本样本量应该相等或接近;样本数据不能有过多的缺失值或极端异常值。若不符合前提条件,需要进行数据处理或选择其他适用的统计方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值