【发布时间】:2021-07-15 08:18:27
【问题描述】:
如何从正态逆高斯 (NIG) 分布中采样随机变量?
我需要从 NIG 分布中生成 100 个数字。
我使用 boost::math::inverse_gaussian 但它没有像 std::normal_distribution 这样的 operator() 成员函数
编辑:Hörmann, W., Leydold 一直在对这个主题进行一些研究:
- 论文 Hörmann, W., Leydold, J. 生成广义逆高斯随机变量。统计计算机 24, 547–557 (2014)。 https://doi.org/10.1007/s11222-013-9387-3[https://doi.org/10.1007/s11222-013-9387-3][3]
- 幻灯片UNU.RAN
- C 中的实现Universal Non-Uniform RANdom number generators
【问题讨论】:
-
参见here:“非成员访问器 - 支持所有发行版通用的所有常用非成员访问器函数:...”
-
@463035818_is_not_a_number 你能把这个拼写给我听吗?我想从 nig 分布boost docs 中为非成员函数获取 100 个数字。
-
我需要 MC 模拟来对它们进行采样吗?
-
看起来en.wikipedia.org/wiki/Inverse_Gaussian_distribution 有一个关于采样的部分,它给出了一个简单的算法。
标签: c++ math boost probability distribution