Boost库:多维变量联合高斯分布随机数(Multivariate Normal Distribution Boost)

原创 2016年08月28日 15:26:45

多维变量联合高斯分布随机数生成方法


    在概率分布中,变量之间的往往存在相关性,因而变量之间的概率分布往往是一种联合概率分布。现实生活中往往需要很多随机数,对于独立变量,其随机数生成往往比较简单,单个高斯分布(Gaussian Distribution/Normal Distribution),均匀分布(Uniform Distribution),Beta分布(Beta Distribution),柯西分布(Cauchy Distribution)等等在Boost库中都提供了简单实现方式,然而对于相关变量,其随机数生成方式往往需要使用联合概率分布,本文将提供多维相关变量的随机数生成方式。


1)首先,从http://lists.boost.org/boost-users/att-64979/multivariate_normal_distribution.hpp上下载boost-user提供的多维变量高斯联合分布的实现代码;


2)而后,将改代码放入自己电脑的boost安装目录;可以通过vim /etc/profile查看自己主机当前的boost安装目录;将上述hpp文件copy到boost安装目录/boost/random


3)在头文件中包含上述hpp文件;在定义随机数生成器之前,先指定随机数生成器的参数:1)多个变量的均值(mean);2)多个变量间的协方差矩阵(covariance);在上述hpp文件实现的multivariate_normal_distribution中所使用的矩阵和向量都是用boost库中自定义的矩阵(matrix)和向量(vector)实现方式;具体定义如下:


4)按如下方式定义多维变量的随机数生成器,并生成随机数。



相关文章推荐

C++生成随机数:高斯/正态分布(gaussian/normal distribution)

高斯分布也称为正态分布(normal distribution) 常用的成熟的生成高斯分布随机数序列的方法由Marsaglia和Bray在1964年提出,C++版本如下: #i...

python 生成随机一维或多维正态分布

作者:采石工 链接:https://www.zhihu.com/question/39823283/answer/115241445 来源:知乎 著作权归作者所有,转载请联系作者获得授权。 # co...

【Boost】boost库的随机数的例子

void test_mt19937() { // 以时间为种子创建一个随机数发生器 boost::mt19937 rng(time(0)); for (int i = 0; i < 100; +...
  • huang_xw
  • huang_xw
  • 2012年12月30日 11:45
  • 10327

Boost学习系列1----产生随机数

本文转自:http://blog.csdn.net/hellosijian/article/details/7459220 一. 概念 随机数被用在很多场合, 比如数值计算, 游戏, ...

概率论中高斯分布(正态分布)介绍及C++11中std::normal_distribution的使用

概率论中高斯分布(正态分布)介绍及C++11中std::normal_distribution的使用

正态分布(Normal distribution)又名高斯分布(Gaussian distribution)

正态分布(Normal distribution)又名高斯分布(Gaussian distribution),是一个在数学、物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力。 ...
  • rns521
  • rns521
  • 2011年11月09日 19:34
  • 245181

正态分布(Normal distribution)又名高斯分布(Gaussian distribution)

转自:http://blog.csdn.net/rns521/article/details/6953591 正态分布(Normal distribution)又名高斯分布(Gaussian dis...

正态分布(Normal distribution)又名高斯分布(Gaussian distribution)

转:http://blog.csdn.net/rns521/article/details/6953591 正态分布(Normal distribution)又名高斯分布(Gauss...

高斯分布(Gaussian distribution)/正态分布(Normal distribution)

正态分布(Normal distribution)又名高斯分布(Gaussian distribution),是一个在数学、物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力。 ...
  • ZYTTAE
  • ZYTTAE
  • 2014年11月13日 20:19
  • 3273

The Multivariate Normal Distribution

  • 2013年11月29日 18:47
  • 1.94MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Boost库:多维变量联合高斯分布随机数(Multivariate Normal Distribution Boost)
举报原因:
原因补充:

(最多只允许输入30个字)