0

我使用平均值为 500 的 poisson_distribution,问题是在 1200 次迭代后分布在 423-571 之间,我如何更改最大限制,例如结果从 1 到 4.000.000 但平均值为500?

这是我的代码:

unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::default_random_engine generator (seed);
int mean = 500; 
std::poisson_distribution<int> distribution_2(mean);
array_of_elements[pos_in_array].time_of_arrival = distribution_2(generator);
4

1 回答 1

0

您无法更改泊松分布的分布,方差与均值相同。由于您的平均值为 500,因此标准差约为 22.4。实际上,您不会看到低于 400 或高于 600 的结果,而这确实是您在 1200 次迭代中观察到的结果。

如果你想要这么多的范围,你将需要泊松分布以外的东西。事实上,考虑到马尔可夫的不等式,很难得到一个平均值为 500 的正数分布,最高可达 400 万。每 8000 次试验中出现 400 万次的次数不会超过一次,如果最小结果是 1 而不是 0,那么 400 万次肯定更罕见。

于 2014-05-16T23:54:55.997 回答