我正在寻找一些与任何特定平台/软件分离的概念输入,以解决以下问题:
设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 的平均值等于从开头开始的平均值。
任何输入都将不胜感激。