我试图测试一个特定的数据集群偶然发生的可能性。一种稳健的方法是monte carlo模拟,其中数据和组之间的关联被随机地重新分配了大量次(例如10000次),并且使用聚类度量来比较实际数据和模拟,以确定p值。
我已经完成了大部分工作,指针将分组映射到数据元素,所以我计划随机地将指针重新分配给数据。问题:没有替换的快速采样方法是什么,这样每个指针都会在复制数据集中随机重新分配?
例如(这些数据只是一个简单的例子):
数据(n=12个值)-A组:0.1、0.2、0.4/B组:0.5、0.6、0.8/C组:0.4、0.5/D组:0.2、0.2、0.3、0.5
对于每个复制数据集,我将拥有相同的集群大小(a=3,b=3,c=2,d=4)和数据值,但会将这些值重新分配给集群。
为此,我可以生成1-12范围内的随机数,分配A组的第一个元素,然后生成1-11范围内的随机数,并分配A组的第二个元素,依此类推。指针重新分配很快,我将预先分配所有的数据结构,但是没有替换的采样似乎是一个以前可能已经多次解决的问题。
逻辑或伪代码优先。

最佳答案

请看我对这个问题的回答。同样的逻辑应该能完成你想要做的事情。

10-01 06:38