生成满足约束条件的随机变量


9

我需要生成一个随机变量的列表,该列表受约束的约束,可以以的形式表示,其中是矩阵,如果有个条目。在我处理的所有情况下,,例如约为14,000,等于50。我不确定我将使用哪种方法进行随机采样,无论是正常采样还是均匀采样,不是明确哪种方法最适合我要解决的问题,但是我需要从均值和范围/方差相同的分布中采样所有变量。xEx=bEm×nxnn>>mnm

为了解决这个问题,我一直在做以下事情:将简化为行梯形形式,将与最后一个枢轴右侧的列对应的所有变量都设置为随机值,然后解决剩余的方阵相等性。E

但是,为了解决平方矩阵相等性,我要从右侧减去已经设置的值。不幸的是,方差也增加了,所以我最近的50个值往往相差很大,这在这个问题上是令人无法接受的。

有一个更好的方法吗?我想不出一种方法来修复当前使用的方法。我用R


2
不幸的是,除非您对约束矩阵感到非常幸运,否则将无法执行此操作。例如,考虑具有两行的约束矩阵,第一行中的一个非零条目约束,第二行中的两个非零条目约束。显然,均值与和中的至少一个,并且除非您为和设置方差,否则方差也将不同。x1=0x2+x3=1x1x2x3x2x3=0
jbowman 2012年

Answers:


1

本文和R包完全解决了我的问题。它使用马尔可夫链蒙特卡罗方法,该方法依赖于以下事实:如果可以通过线性编程找到约束的初始解,则可以通过使用一个矩阵乘以约束来找到任意数量的约束。 ,给出零。在这里阅读:E

http://www.vliz.be/imisdocs/publications/149403.pdf

这是包:

http://cran.r-project.org/web/packages/limSolve/index.html


1
vliz.be/imisdocs/publications/149403.pdf似乎不可用,请更新链接
eee

0

可能看似微不足道(并非十分高效),但是考虑重复该过程,直到找到合适的答案?优选地,每次仅修改较小的子集。

您可以为距理想答案有多远的距离创建“距离”度量吗?它可以帮助您“优化”吗?


我可以尝试一下。一个问题是,我仍然需要确保分布的形状相同。时间限制也是禁止的。
Mike Flynn 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.