从双变量正态分布和学生T分布生成随机样本的最佳方法是什么?在这两种情况下,西格玛都是一个,意味着0 - 所以我真正感兴趣的唯一参数是相关性(以及学生t的自由度)。我需要在C++中有解决方案,所以我不能不幸地使用MatLab或Mathematica中已经实现的函数。如何从C++中的二元正态和学生T分布生成随机样本?
回答
您可以使用GNU GSL库。看到这里的二元正态分布:
http://www.gnu.org/software/gsl/manual/html_node/The-Bivariate-Gaussian-Distribution.html
和学生T分布在这里:
http://www.gnu.org/software/gsl/manual/html_node/The-t_002ddistribution.html
他们直截了当地使用。
你应该看看Boost库随机发行版 - 请参阅http://www.boost.org/doc/libs/1_41_0/libs/random/random-distributions.html。我发现它们很容易使用,一旦你将自己的头围绕在他们的基本概念上。不幸的是,我对统计数据不够了解,不知道他们是否会完全满足您的需求。
他们似乎并没有实现我之后的任何分布:( – Grzenio 2010-01-24 18:35:36
对于具有协方差单位和零均值的二元法线,只需绘制两个单变量法线。
如果要绘制二元正态的装置(M1,M2),标准偏差(S1,S2)和相关RHO,然后画两个单元的单变量法线X和Y,并设置
u = m1 + s1 * X
v = m2 + s2 * (rho X + sqrt(1 - rho^2) Y)
然后你和你的愿望分配。
对于学生T,你必须绘制一个正常变量N和一个变量V.然后,N/sqrt(V)具有T分布。
要绘制chi^2,你应该使用一个包。或者查看Numerical Recipes第7章了解如何从Gamma分布中绘制(xhi^2是Gamma的特例)。
- 1. 在C中生成正态分布随机值的算法?
- 2. T-SQL从正则表达式生成随机/样本数据
- 3. 如何在Prolog中生成正态分布随机数?
- 4. 产生从用C数正态分布的随机数/ C++
- 5. 如何在matlab中生成跟随偏斜正态分布的随机数
- 6. Ruby中生成高斯(正态分布)随机数的代码
- 7. 如何从Matlab中截断对数正态分布生成随机数?
- 8. 生成样本分布和中位数
- 9. 如何使用AMPL中的正态分布生成一个随机数矩阵?
- 10. 二分图的随机生成树
- 11. Java - 实现产生正态分布的数字的随机向量生成器
- 12. 如何为10个学生的结构生成随机ID和测试分数
- 13. 具有正态分布的随机数生成器,用于objective-c
- 14. 从C++中概率分布向量生成随机数发生器
- 15. 真正的随机c#生成器
- 16. 生成像城市一样分布的随机点吗?
- 17. 学生t分布的右尾倒数
- 18. 如何在C++中生成随机二进制数字?
- 19. 从CUDA中的高斯分布生成随机数
- 20. 生成T类型的随机数
- 21. 在matlab中生成一个基于正态分布的随机数
- 22. 如何获取c#中随机数生成器的状态?
- 23. 如何从具有特定均值和方差的正态分布生成随机数?
- 24. 如何在Oracle数据库中生成随机样本数据?
- 25. 如何在C中生成一个真正的随机数?
- 26. 正确生成随机数
- 27. 生成随机树分支
- 28. c# - 如何生成随机ITIN
- 29. 生成具有特定分布的随机数字c
- 30. 如何生成均匀分布的随机DFA?
rho是相关性而不是协方差。 – 2013-03-04 17:40:45