Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.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
C# Math.Net Numerics:从负二项式中采样时出错_C#_Statistics_Math.net - Fatal编程技术网

C# Math.Net Numerics:从负二项式中采样时出错

C# Math.Net Numerics:从负二项式中采样时出错,c#,statistics,math.net,C#,Statistics,Math.net,我正在使用Math.Net从过度分散的泊松分布中采样值。我使用负二项式链接进行此操作,如下所述: 我的代码当前如下所示: private static double ODPoisson(double lambda, double dispersion) { double p = 1 / (dispersion - 1); double r = lambda * p; if (dispersion == 1) {

我正在使用Math.Net从过度分散的泊松分布中采样值。我使用负二项式链接进行此操作,如下所述:

我的代码当前如下所示:

private static double ODPoisson(double lambda, double dispersion)
    {
        double p = 1 / (dispersion - 1);
        double r = lambda * p;

        if (dispersion == 1)
        {
            return Poisson.Sample(lambda);
        }
        else
        {
            return NegativeBinomial.Sample(r, p);
        }
    }
我发现,这对lambda的低值很有效。只要我尝试使用1000的lambda和2的离散参数进行采样,代码就会简单地“挂起”,即方法继续运行,但没有返回值。我甚至循环使用这个方法来测试输入参数的各种组合(lambda从1到1000,离散度=2),每次代码都以不同的组合“挂起”。有时,它将对最大lambda=750的所有组合进行采样,其他情况下,最大lambda=500。这只需重新运行console应用程序,不进行代码更改即可实现

在每次运行之前,我都会包含“IsValidParameterSet”检查,即使参数被认为是有效的,仍然不会生成示例。为了进一步测试输入参数是否有效,我在第50百分位使用NegativeBinomial.CDF方法测试了相同的参数,每次都返回一个值


负指数抽样法有错误吗?如果没有,如何解决此问题

听起来像个bug-你能在打开bug报告吗?谢谢@克里斯托弗吕格就行了!