Random 生成具有约束的独立RVs的唯一向量

Random 生成具有约束的独立RVs的唯一向量,random,ranking,Random,Ranking,生成长度为M的N个唯一向量(每个元素是从其自身任意分布pmfm中提取的随机变量)的有效方法是什么,以便每个向量满足两个规则: 元素是独一无二的 元素是以区间(0,M)为界的整数 背景下,我在比赛后以M竞争对手的排名为基础进行蒙特卡洛模拟,但要根据他们的技能来衡量每一个人的位置的可能性,只考虑现实的结果。 编辑:在这种情况下,我假设组成每个向量的RVs不是真正独立的,这会产生约束。在这种情况下,可能我需要从M维关节pmf执行Gibbs采样。我需要以某种方式定义这样的关节pmf来解释约束。然而,这会

生成长度为M的N个唯一向量(每个元素是从其自身任意分布pmfm中提取的随机变量)的有效方法是什么,以便每个向量满足两个规则:

  • 元素是独一无二的
  • 元素是以区间(0,M)为界的整数
  • 背景下,我在比赛后以M竞争对手的排名为基础进行蒙特卡洛模拟,但要根据他们的技能来衡量每一个人的位置的可能性,只考虑现实的结果。


    编辑:在这种情况下,我假设组成每个向量的RVs不是真正独立的,这会产生约束。在这种情况下,可能我需要从M维关节pmf执行Gibbs采样。我需要以某种方式定义这样的关节pmf来解释约束。然而,这会引入内存问题,因为M可以是large as 37。

    这是否回答了您的问题?另请参阅:谢谢Peter。如果每个向量的所有元素都来自同一个加权总体,那么这种方法似乎可行。但在这种情况下,元素在向量中的位置应该为要采样的总体的权重设置键。我猜是否有办法使p argnp.random.choice的ument接受一个生成器,该生成器为可能工作的每个样本返回不同的数组。据我所知,每个竞争对手的每个权重都遵循非均匀分布(例如Glicko2);对吗?在这种情况下,为每个参赛者画出权重,然后根据这些权重画出没有替换的参赛者。假设参赛者1、2、3的技能分别为1800、1500、1200。例如,向量[3 1 2]将代表排名第一的技能最低(1200)的参赛者,最好的参赛者(1800)排名第二,中间的竞争者(1500人)排在最后。