permutation 随机置换检验的Matlab程序

本文提供了一段使用Matlab实现随机置换检验的代码实例,以比较两组均值的差异。通过全排列算法生成所有可能的数据组合,并计算每种组合下两组数据均值的差值,进而构建分布,最终确定原始数据差值在分布中的位置,以此评估差异显著性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

假定a为某指标在10个样本中的值,5个一组,看以两组均值的差为例(统计量),随机置换检验程序


example: a: 230 -1350 -1580 -400 -760 970 110 -50 -190 -200
v1=sum(a(1:5))/5;
v2=sum(a(6:10))/5;
T=abs(v1-v2);
x=perms(a);      %矩阵a的全排列(随机全排列)
v11=(x(:,1)+x(:,2)+x(:,3)+x(:,4)+x(:,5))/5;
v22=(x(:,6)+x(:,7)+x(:,8)+x(:,9)+x(:,10))/5;
TT=abs(v11-v22);
[m,n]=size(TT);
distribution=tabulate(TT); %产生频率分布
hist(X)            % 产生直方图
num=0;            %大于原始差值的个数
for i=1:m
    if TT(i,1)>T
        num=num+1;
    end
end
p=num/m

 

key words:  permutation tests, codes ,matlab, 代码,程序

from: http://www.biostatistic.net/thread-41-1-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值