Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js中的分布式采样_Javascript_Node.js_Distribution_Probability - Fatal编程技术网

Javascript Node.js中的分布式采样

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;

我想知道如何在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;
        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])