我有一个系统,人们可以按0-5的等级对不同的项目进行评分。问题是,并非每个人都对相同的项目进行评分,并且评分也不是客观的。目的是实现项目之间的公平比较,以使如果其中一个评分员非常“宽容”或“苛刻”,则项目的评分不会受到太大影响。实际上,可能有100个项目,每个项目得分两次,但这是一个示例数据集,其中有4个人对12个项目得分,每个项目都得分两次:
| Item | Score 1 | Score 2 |
_____
1 | 5 | | 4 |
2 | 5 | | 3 | C
3 | 4 | |_2_|
4 A | 5 | | 5 |
5 | 3 | | 0 |
6 |_5_| | 3 |
7 | 3 | | 1 | D
8 | 4 | | 1 |
9 B | 4 | |_2_|
10 | 4 | | 3 |
11 | 4 | | 3 | C
12 |_5_| | 4 |
在此表中,方框表示一个人的分数集。我们可以给在项目1-6中给A评分1的人,在1到7-12中给B评分的人,为2 1-3和2到10-12评分的人,以及给2-9到4-9个人D的得分。
非正式地,如果我们假设C人最接近每个项目的客观得分,我们可能会得出以下结论:
因此,我们可能会为每个项目产生调整后的分数。例如,即使第2项的平均得分高于第9项,但考虑到A通常比较宽大而D一般比较苛刻,它们的平均得分可能会相等。问题是,我们如何以编程方式做到这一点。我以为我们可以做几个转换功能,将原始分数转换为调整后的分数,例如A
,B
,C
和D
。例如,我们可能有A(5)=3.7
,因为当A将一项评分为5时,它实际上在3-4范围内。然后,我们要最小化
|A(x_0a)-C(x_0c)|^2 + |D(x_1d)-A(x_1a)|^2 + |B(x_2b)-D(x_2d)|^2 + |C(x_3c)-B(x_3b)|^2
其中x_ip
是一个向量,由人p
对项目3i+1
,3i+2
和3i+3
的等级组成。例如,我们可以进行A
,B
,C
和D
线性变换。然后如何优化它?这是消除记分员的残酷或宽大而不丢掉评分的最好方法吗?