如何生成具有固定非均匀分布的多个未重复随机变量?

时间:2016-01-27 12:45:46

标签: probability random-sample

因此,对于给定的离散分布,比如说(0.2,0.4,0.4),生成一个跟随此分布的随机数很容易。

但是,从中生成多个未重复的随机数呢?

e.g。从分布(p1 = 0.2,p2 = 0.4,p3 = 0.4),如果我生成

(1,2),p12 = 0.2,

(2,3),p23 = 0.6,

(1,3),p13 = 0.2。

我能够获得

的边际分布

p1 =(p12 + p13)/ 2 = 0.2,

p2 =(p23 + p12)/ 2 = 0.4,

p3 =(p13 + p23)/ 2 = 0.4。

与给定的分布相同。

是否有任何想法建立一个发电机来实现这一目标?感谢:)

1 个答案:

答案 0 :(得分:0)

如果将问题看作一组线性方程式,您将能够使用矩阵方程表达它。例如:

didAppendToDocument()

现在你可以将矩阵反转得到:

|1/2 1/2  0 |   |p12|     |p1|
|1/2  0  1/2| * |p13|  =  |p2|
| 0  1/2 1/2|   |p23|     |p3|

在您的示例中,这将产生:

|p12|   | 1  1 -1|   |p1|
|p13| = | 1 -1  1| * |p2|
|p23|   |-1  1  1|   |p3|

所以,|p12| | 1 1 -1| |0.2| |0.2| |p13| = | 1 -1 1| * |0.4| = |0.2| |p23| |-1 1 1| |0.4| |0.6| p12 = p13 = 0.2