Javascript Node.js中的分布式采样
我想知道如何在Node.js中执行分布式采样 特别是,我有元素的数量,其中数组的I’th值是元素I’th的概率,如下所示Javascript Node.js中的分布式采样,javascript,node.js,distribution,probability,Javascript,Node.js,Distribution,Probability,我想知道如何在Node.js中执行分布式采样 特别是,我有元素的数量,其中数组的I’th值是元素I’th的概率,如下所示 [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;
[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();
…
功能分配(probs){
返回函数(){
var r=Math.random();
var i=0,
acc=0;
而((acc+=probs[i])