0
我想知道如何在Node.js中执行分布式采样。Node.js中的分布式采样
特别是,我有个元素,其中所述阵列的第i个值是第i个元素的概率的数量,如以下
[0.2 0.3 0.5]
现在我需要进行采样,并在样品的一半的采样的结果应该是2的样品的0.2为0,并在样品的0.3是1
我想知道如何在Node.js中执行分布式采样。Node.js中的分布式采样
特别是,我有个元素,其中所述阵列的第i个值是第i个元素的概率的数量,如以下
[0.2 0.3 0.5]
现在我需要进行采样,并在样品的一半的采样的结果应该是2的样品的0.2为0,并在样品的0.3是1
琐碎方法:
function distribute(probs) {
return function() {
var r = Math.random();
var i = 0,
acc = 0;
while ((acc += probs[i]) <= r)
i++;
return i;
};
}
var sample = distribute([0.2, 0.3, 0.5]);
sample();
sample();
sample();
…