[已解决] 如何用unidrnd函数随机给两个矩阵赋值并代入公式求P值,然后重复20000次,求出这20000个P值在95%水平的显著性参考值

 关闭 [复制链接]
辉仔21 发表于 2020-4-2 01:19:21



各位大神,以上是详细的要求,简单来说:
第一步:利用unidrnd函数给两个“11X4”的矩阵随机赋值,一个矩阵中将75个1随机赋值(44个单元格中,有的单元格为0,有的可能为5,但是总和为75),另一个矩阵将总分120分随机赋值(同上,总和为120)
第二步:将以上两个矩阵标准化处理,转化为总和为1的比例矩阵,并代入上面的公式
第三步:将以上过程重复20000次,求出这20000个P值的均值、标准差以及在95%水平上的显著性参考值

下面这个代码是我在别的帖中看到的,不是利用的unidrnd函数,我试了多组数据,能正常运行,但是偏差有大有小,各位大神帮忙看看,这个代码按上述要求的话,有问题吗?如果用unidrnd函数的话,该怎么写代码啊?各位大神多多指教


for i=1:20000;
A=reshape(hist(randsample(44,75,'true'),1:44),11,4)/75;
B=reshape(hist(randsample(44,120,'true'),1:44),11,4)/120;
C=abs(A-B);
P(i)=1-(sum(C(:)))/2;
end
[m,s]=normfit(P)
norminv(0.95,m,s)


对了,我用的MATLAB版本是64位R2018b,操作系统是64位Windows10系统

@MXH[`3WYS94RI0%2QO@CMH.png

最佳答案


onlye_caisA 发表于 2020-4-2 13:17:16
首先不太明白你第一步的意思,既然是11x4表格,怎么又需要unidrnd将75个数据填充到11x4表格中。
如果单纯满足11x4表格总和为75,其中有0,需要把0填充为1.如下:
你的难点就是第一步,
(1)你先计算11x4表格中的总和sum1,需要添加1的数量num1 = 75-sum1;
(2)找到零的位置;index = find(data ==0)
(3)a = unidrnd(index,num1,1) a对应的位置就是index所需的。
(4)data(index(a)) =1;
完成表格填充
第二步就容易了,sum标准化就ok
第三步用ttest或ztest,看你需要
回复此楼

4 条回复


onlye_caisA 发表于 2020-4-2 13:17:16
首先不太明白你第一步的意思,既然是11x4表格,怎么又需要unidrnd将75个数据填充到11x4表格中。
如果单纯满足11x4表格总和为75,其中有0,需要把0填充为1.如下:
你的难点就是第一步,
(1)你先计算11x4表格中的总和sum1,需要添加1的数量num1 = 75-sum1;
(2)找到零的位置;index = find(data ==0)
(3)a = unidrnd(index,num1,1) a对应的位置就是index所需的。
(4)data(index(a)) =1;
完成表格填充
第二步就容易了,sum标准化就ok
第三步用ttest或ztest,看你需要
回复此楼

辉仔21 发表于 2020-4-2 13:48:27
onlye_caisA 发表于 2020-4-2 13:17
首先不太明白你第一步的意思,既然是11x4表格,怎么又需要unidrnd将75个数据填充到11x4表格中。
如果单纯满 ...

WHGFZ%N)CK5)@GZ%]$LZHEV.png
先谢谢前辈的回答,是这样的前辈,这是原表格,包括11个内容主题和4个认知水平,总共有75个知识点要随机赋值到这个表格中,但是有的单元格中可能没有分布,比如“电场——了解”可能没有知识点涉及就是0,而“电路——理解”可能有5个知识点涉及就是5。但是具体的0的个数或位置都是随机的,但是总和为75。120分随机赋值到这个表格,也是一样的情况。
另外,我看的论文中基本上都是采用的unidrnd函数计算的,但是我找到的帖子里都采用的别的思路实现的,上面那个代码就是,我运行了两次试了试,结果都是0.6873,但是和这篇论文中采用unidrnd函数计算的,结果为0.6921,有0.0048的偏差,这种偏差可以接受吗。运行其他的数据,有的偏差更大。

onlye_caisA 发表于 2020-4-2 14:36:37
辉仔21 发表于 2020-4-2 13:48
先谢谢前辈的回答,是这样的前辈,这是原表格,包括11个内容主题和4个认知水平,总共有75个知识点要随机 ...

只要计算过程没问题,就可接受。书中的答案只是一个参考。

辉仔21 发表于 2020-4-2 22:14:38
onlye_caisA 发表于 2020-4-2 14:36
只要计算过程没问题,就可接受。书中的答案只是一个参考。

谢谢前辈:victory:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表