我试图测试一个特定的数据聚类偶然发生的可能性。一种可靠的方法是蒙特卡罗模拟,其中数据和组之间的关联被随机重新分配很多次(例如10,000次),并且使用聚类度量来比较实际数据和模拟以确定ap值。抽样没有替换的算法?
我已经得到了大部分的工作,指针将分组映射到数据元素,所以我打算随机重新分配指向数据的指针。问题:什么是快速取样而不替换的方法,以便每个指针在重复数据集中随机重新分配?
例如(这些数据只是一个简单的例子):
数据(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组中的第二个元素,依此类推。指针重新分配很快,并且我将预先分配所有数据结构,但没有替换的抽样看起来像是一个可能在以前解决了很多次的问题。
首选逻辑或伪代码。
非常好!对不起,我没有看到答案时,我搜索SO(无取代取样,统计,算法等)。也许这会像一个元问题来引导像我这样的人到你的原始答案。干杯! – Argalatyr 2008-11-22 20:07:22