【发布时间】:2012-10-12 01:59:21
【问题描述】:
我想生成三个随机变量 a、b 和 c,使得 (i) a+b+c=0; (ii) 每个都均匀分布在 (-1,1) 中。
双变量版本很简单:a=2*rand()-1; b=-a。 (注:rand()均匀分布在(0,1)中)
由于c的范围太大,以下解决方案不起作用:a=2*rand()-1; b=2*rand()-1; c=-a-b。
以下解决方案也不起作用,因为 c 不是均匀分布的:a=2*rand()-1; b=2*rand()-1; c=(-a-b)/2。
【问题讨论】:
-
如果 a 和 b 是,则 c=(-a-b)/2 不是均匀分布的最后一个陈述是您问题的答案:您所要求的在数学上是不可能的。一个有趣的问题是,如果 a、b 和 c 存在这样一个共同分布,以至于它们的总和可以为 0。
-
我不确定你的证明是否正确,尽管我最初赞成它。因为 a,b 不一定是独立的。实际上,它们必须不是独立的,才能使其工作。虽然我仍然不相信 OP 想要的东西是可能的。
-
@sega_sai 好点,你做到了。所以看来这是可能的! (请参阅下面我的答案中的第二个示例)。
-
@liuminzhao 我没说a和b是独立的,所以P(a=-1 and b=-1)可以不同于P(a=-1)*P(b= -1)。回到您的问题,虽然 P(a=-1) 和 P(b=-1) 都是正数,但 P(a=-1 和 b=-1) 可以为 0。不存在自相矛盾。
标签: random statistics distribution