0

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

令 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,它为每个类别分配一个数字,例如:

     Category | Number
        1     | 0.5
        2     | 0.2
        3     | 0.9
        .     |  . 
        .     |  . 

因此,对于矩阵 R 中的每个对象,可以根据矩阵 C 映射一个数字(例如,对于 ID=1 且类别=1,根据矩阵 C 的数字是 0.5)。

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

例如,假设类别范围被定义为 2,这意味着来自类别 1 的每个对象都可以停留在类别 1 中,随机转移到类别 2 甚至到类别 3。类似地,具有选定类别范围的类别 3 中的对象1 可以向下移动到第 2 类,停留在第 3 类或上升到第 4 类)。如果一个对象现在转移到另一个类别,它会根据矩阵 C 分配一个新数字,这会影响列numbers的整体平均值。

但是,所有交换都必须在纯随机的基础上执行,附加约束是随机化后列的平均值等于从一开始的平均值。

任何投入将不胜感激。

4

0 回答 0