如何在保持均值相等的类别之间随机化?

时间:2013-08-14 08:42:56

标签: algorithm

我正在寻找一些与任何特定平台/软件分离的概念输入,以解决以下问题:

设R是Nx2矩阵,第一列表示对象ID,第二列表示类别(例如从1到10)。

    ID | Category 
    1  |    1    
    2  |    1     
    3  |    1     
    4  |    2     
    5  |    2     
    6  |    3     
    7  |    3     
    8  |    3     
    9  |    3     
    .  |    .     
    .  |    .   

此外,假设我们有一个矩阵C,它为每个cateogry分配一个数字,例如:

     Category | Number
        1     | 0.5
        2     | 0.2
        3     | 0.9
        .     |  . 
        .     |  . 
因此,对于矩阵R中的每个对象,可以根据矩阵C来映射数字(例如,对于ID = 1,类别= 1,根据矩阵C的数字是0.5)。

现在的目标是创建一种算法,在预先指定的类别范围内随机化对象,其中列的总体平均值(映射到相应的类别)保持不变

E.g。假设类别范围定义为2意味着类别1中的每个对象可以保留在类别1中,随机地转移到类别2或甚至更高到类别3.类似地,类别3中的对象具有选定的类别范围1可以向下移动到类别2,保持在类别3或向上移动到类别4)。如果某个对象现在转移到另一个类别,则会根据矩阵C为其分配一个新数字,这会影响整个列数字的整体平均值。

但是,所有掉期必须在纯粹随机的基础上执行,并且附加约束条件是随机化后列 number 的平均值等于从开头开始的平均值。

任何输入都将不胜感激。

0 个答案:

没有答案